How To Contribute
Contribute your own Agent tool to the ecosystem
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 de facto 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.
How to Help
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.
Setup
git clone https://github.com/AgentOps-AI/AgentStack.git
cd AgentStack
uv 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 - Note that after you initialize a project, it will install it’s own version of
agentstack
in the project’s virtual environment. To use your local version, runuv pip install -e "../AgentStack/.[<framework>]"
to get your development version inside of the project, too.
- This will install the CLI locally and in editable mode so you can use
Project Structure
A detailed overview of the project structure is available at Project Structure.
Before Making a Pull Request
Make sure tests pass, type checking is correct, and ensure your code is formatted correctly.
tox -m quick
- This will run tests for Python version 3.12 only. You can run tests on all supported versions with
tox
.
- This will run tests for Python version 3.12 only. You can run tests on all supported versions with
mypy agentstack
- Please resolve all type checking errors before marking your PR as ready for review.
ruff
- We use
ruff
to ensure consistency in our codebase.
- We use
Tests
We’re actively working toward increasing our test coverage. Make sure to review the codecov
output of your
tests to ensure your contribution is well tested. We use tox
to run our tests, which sets up individual
environments for each framework and Python version we support. Tests are run when a PR is pushed to, and
contributions without passing tests will not be merged.
You can test a specific Python version and framework by running: tox -e py312-<framework>
, but keep in mind
that the coverage report will be incomplete.