Thank you for your interest in contributing to AgentKit! We welcome all contributions, no matter how big or small.
The AgentKit repository is organized as a multi-package workspace (otherwise known as a monorepo) and managed with Turborepo. The repo contains multiple packages for Python and TypeScript, where a 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
Here's a high-level overview of the repository structure:
./agentkit
├── cdp-agentkit-core/
│ ├── python/
│ └── typescript/
├── cdp-langchain/
│ ├── python/
│ └── typescript/
├── farcaster-langchain/
│ └── typescript/
└── twitter-langchain/
├── python/
└── typescript/
For an in-depth guide on how to set up your developer environment and add an agentic action, see the following language-specific guides:
- Optional: Start with an Issue
Whether you are reporting a bug or requesting a new feature, it's always best to check if someone else has already opened an issue for it! If the bug or feature is small and you'd like to take a crack at it, go ahead and skip this step.
- Development Process
There are the high level steps to contribute changes:
- Fork the repository
- Create a feature or bugfix branch
- Follow the appropriate language guide
- Write tests
- Update CHANGELOG.md
- Pull Request Process
Once you have your changes ready, there are a few more steps to open a PR and get it merged:
- Fill out the PR template completely with as much detail as possible
- Ideally, include screenshots or videos of the changes in action
- Link related issues, if any
- Ensure all CI checks are passing
- PR Review Expectations
Once your PR is open, you can expect an initial response acknowledging receipt of the PR within 1 day, and an initial review within 1 day from a maintainer assigned to your PR. Once all comments are addressed and a maintainer has approved the PR, it will be merged by the maintainer and included in the next release.
Current list of maintainers:
If you're stuck, there are a few ways to get help:
- Search existing issues
- Reach out to the team in our Discord community
- Create a new issue
Thank you for contributing to AgentKit!
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 . |