Skip to content

Latest commit

 

History

History
88 lines (60 loc) · 4.07 KB

CONTRIBUTING.md

File metadata and controls

88 lines (60 loc) · 4.07 KB

AgentKit Contributing Guide

Thank you for your interest in contributing to AgentKit! We welcome all contributions, no matter how big or small.

Repository Structure

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/

Language-Specific Guides

For an in-depth guide on how to set up your developer environment and add an agentic action, see the following language-specific guides:

Contributing Workflow

  1. 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.

  1. 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
  1. 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
  1. 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:

Getting Help

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!

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 .