This document describes how to develop and contribute code to this repository. The project uses uv to manage a project-local .venv and provides a Makefile with common formatting, linting and testing commands.
- Except for maintainers, please follow the fork and pull request workflow.
- Fill in the Pull Request template before submitting.
- Continuous integration will run lint and tests automatically. Make sure all checks pass locally.
- When adding features or fixing bugs, update the documentation accordingly and add tests in
tests/unit_testsortests/integration_testswhenever possible.
The project dependencies are managed with uv. uv creates a project-local .venv in the repository root, so a global or Conda environment is not required. Install uv first:
curl -LsSf https://astral.sh/uv/install.sh | shThen install all development dependencies from the repository root:
uv sync --all-groupsIf you only need to run AnnaAgent without development tools, use:
uv syncThe repository provides a Makefile to easily run common tasks. All commands are executed from the project root.
Use ruff to format the code:
make formatRun static and import checks:
make lintRun the unit tests:
make testRun the integration tests:
make integration_testsGenerate a coverage report:
make coverageRun make help for more commands.