Skip to content

Commit

Permalink
chore: describe monorepo setup in contributing guide
Browse files Browse the repository at this point in the history
  • Loading branch information
0xRAG committed Jan 28, 2025
1 parent 716efb1 commit 63e27f3
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,26 @@ Thank you for your interest in contributing to AgentKit! We welcome all contribu

## Repository Structure

AgentKit is organized as a monorepo containing multiple packages with implementations in Python and TypeScript:
The AgentKit repository is organized as a [multi-package workspace](https://vercel.com/docs/vercel-platform/glossary#multi-package-workspace) (otherwise known as a [monorepo](https://vercel.com/docs/vercel-platform/glossary#monorepo)) and managed with [Turborepo](https://turbo.build/repo/docs). The repo contains multiple packages for Python and TypeScript, where a [package](https://vercel.com/docs/vercel-platform/glossary#package) is a single subfolder with either a `package.json` (if it's a TypeScript package) or a `pyproject.toml` (if it's a Python package),and related code that is published to either NPM or PyPI. For example, the `cdp-agentkit-core/typescript` subfolder is one package, and the `cdp-agentkit-core/python` subfolder is another package.

Note that not all AgentKit packages have both Python and TypeScript implementations. This is okay, and we expect some level of drift between the languages. If you'd like to add a TypeScript variant of a package that only has a Python variant (or vice versa), that would be a great and welcome contribution!

See this section for tips on developing in our monorepo: [Monorepo Development Tips](#monorepo-development-tips)

Here's a high-level overview of the repository structure:
```
./
./agentkit
├── cdp-agentkit-core/
│ ├── python/
│ └── typescript/
├── cdp-langchain/
│ ├── python/
│ ├── typescript/
│ └── examples/
│ └── typescript/
├── farcaster-langchain/
│ └── typescript/
└── twitter-langchain/
├── python/
├── typescript/
└── examples/
└── typescript/
```

## Language-Specific Guides
Expand Down Expand Up @@ -73,3 +78,10 @@ If you're stuck, there are a few ways to get help:

Thank you for contributing to AgentKit!

## Monorepo Development Tips

Here are some common issues you might run into when developing in our monorepo and how to resolve them:

| Issue | Resolution |
| ----- | ---------- |
| Python imports are not resolving in VSCode / Cursor | Try opening the package folder in a new window. For example, `cd cdp-agentkit-core/python` and then `code .` or `cursor .` |

0 comments on commit 63e27f3

Please sign in to comment.