First of all, thank you for your interest in contributing to AgentStack! Even the smallest contributions help a ton.
Our vision is to build the defacto CLI for quickly spinning up an AI Agent project. We want to be the create-react-app of agents. Our inspiration also includes the oh-so-convenient Angular CLI.
Grab an issue from the issues tab! Plenty are labelled "Good First Issue". Fork the repo and create a PR when ready!
The best place to engage in conversation about your contribution is in the Issue chat or on our Discord.
- Clone the repo
poetry install
pip install -e .[dev,test]
- This will install the CLI locally and in editable mode so you can use
agentstack <command>
to test your latest changes
- This will install the CLI locally and in editable mode so you can use
TODO
If you're reading this section, you probably have a product that AI agents can use as a tool. We're glad you're here!
Adding tools is easy once you understand the project structure. A few things need to be done for a tool to be considered completely supported:
- Modify
agentstack/tools/tools.json
- Add your tool and relevant information to this file as appropriate.
- Create a config for your tool
- As an example, look at
mem0.json
- AgentStack uses this to know what code to insert where. Follow the structure to add your tool.
- As an example, look at
- Create your implementation for each framework
- In
agentstack/templates/<framework>/tools
, you'll see other implementations of tools. - Build your tool implementation for that framework. This file will be inserted in the user's project.
- The tools that are exported from this file should be listed in the tool's config json.
- In
- Manually test your tool integration by running
agentstack tools add <your_tool>
and ensure it behaves as expected.
Be sure that you are opening a PR using a branch other than main
on your fork. This enables us
to pull your branch and make modifications to the PR with your permission that may be helpful.
AgentStack uses Ruff formatter for consistent code formatting. To format your code, run:
pip install ruff
ruff format .
AgentStack uses MyPy for type checking. To check types, run:
mypy agentstack
Ruff and MyPy can be run as pre-commit hooks. To enable these hooks, run:
pre-commit install
HAHAHAHAHAHAHA good one