Thanks for helping improve the Forest Python agent. This guide covers how to report an issue, set up the repository, and get a pull request merged.
- Found a bug? Open an issue: expected behavior, actual behavior, logs, and the package versions you use (Django or Flask included).
- Found a security issue? Do not open a public issue. Follow the security policy.
- Planning a large change? Open an issue first to discuss it, so your work fits the agent's direction before you write it.
This monorepo holds one package per folder in src/, managed with Poetry. Python >=3.8,<3.14 is supported.
pip install -r requirements.txt # installs pre-commit
pre-commit installDemo applications for Django and Flask live in src/_example/.
Run the whole suite the way the CI does:
./launch_tests_ci_like.shOr one package at a time:
cd src/<package>
poetry install --with=test
poetry run coverage run -m pytestTests must pass and the pre-commit hooks must be clean before you open a pull request.
Commits follow the Conventional Commits specification. Releases and changelogs are generated from them by semantic-release, so the type matters:
fix(django_agent): handle null datesβ patch releasefeat(datasource_sqlalchemy): add the X optionβ minor releasedocs: ...,test: ...,chore: ...β no release
- Fork the repository and create a branch from
main. - Make your change, with tests.
- Give the pull request a Conventional Commits title.
- The CI must be green. The Forest team reviews every pull request before merging.
Everyone taking part in this project is expected to follow the code of conduct.