Contributing to Agno
Contribute to Agno through the fork and pull request workflow.
Agno is an open-source project and we welcome contributions.
How to Contribute
Please follow the fork and pull request workflow:
- Fork the repository.
- Create a new branch for your feature.
- Add your feature or improvement.
- Send a pull request. Use a recognized PR title type (
[feat],[fix],[cookbook],[test],[refactor],[chore],[style],[revert], or[release]). The PR Lint workflow also accepts forms such asfix: descriptionandfix-some-title. - We appreciate your support & input!
Development setup
- Clone the repository.
- Create a virtual environment:
- For Unix, use
./scripts/dev_setup.sh. Requires uv. This script replaces an existing.venvand installs bothagnoandagnoctlas editable packages; preserve any environment configuration you need before rerunning it. - This setup will:
- Create a
.venvvirtual environment in the repo root. - Install the required packages.
- Install the
agnopackage in editable mode.
- Create a
- For Unix, use
- Activate the virtual environment:
- On Unix:
source .venv/bin/activate
- On Unix:
From here on you have to use
uv pip installto install missing packages
Formatting and validation
Ensure your code meets our quality standards by running the appropriate formatting and validation script before submitting a pull request:
- For Unix:
./scripts/format.sh./scripts/validate.sh
These scripts will perform code formatting with ruff and static type checks with mypy.
Read more about the guidelines here
If you have any questions or need to reach out, see Get Help.