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 as fix: description and fix-some-title.
  • We appreciate your support & input!

Development setup

  1. Clone the repository.
  2. Create a virtual environment:
    • For Unix, use ./scripts/dev_setup.sh. Requires uv. This script replaces an existing .venv and installs both agno and agnoctl as editable packages; preserve any environment configuration you need before rerunning it.
    • This setup will:
      • Create a .venv virtual environment in the repo root.
      • Install the required packages.
      • Install the agno package in editable mode.
  3. Activate the virtual environment:
    • On Unix: source .venv/bin/activate

From here on you have to use uv pip install to 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.