Thanks for considering a contribution to Agentree.
- Be kind. We follow the Code of Conduct.
- Open an issue before large design changes.
- Keep diffs surgical; match existing style (Ruff owns format/lint).
- Do not commit secrets,
.envfiles, or private documents. - Bug fixes should include a regression test when practical.
Requirements: Python 3.14+, uv.
git clone https://github.com/OctavianTocan/agentree.git
cd agentree
uv sync
cp .env.example .env # fill in tokens locally; never commit .envOptional: uv run pre-commit install
uv run ruff format --check agentree tests
uv run ruff check agentree tests
uv run ty check agentree tests
uv run pytest -qOr via the justfile: just check.
- Branch from
main. - Use Conventional Commits — they drive
the changelog and releases:
feat:→ minor bump (or patch while pre-1.0, per release-please config)fix:→ patch bumpfeat!:/fix!:/BREAKING CHANGE:→ major bumpdocs:,chore:,ci:,test:→ usually no release by themselves
- Ensure CI is green.
- Fill in the PR template: what/why, and which commands you ran.
Release Please runs on every
push to main. It opens (or updates) a release PR that bumps
pyproject.toml, refreshes CHANGELOG.md, and updates the version marker in
README.md. Merging that PR tags vX.Y.Z and creates the GitHub Release.
Do not hand-edit CHANGELOG.md for routine work — put the story in the
commit message / PR title instead.
If branch rules block github-actions[bot], add a fine-scoped PAT (or GitHub
App token) as the RELEASE_PLEASE_TOKEN repository secret.
Report vulnerabilities privately — see SECURITY.md. Do not open public issues for security reports.
This project is inspired by PageIndex (MIT, Vectify AI). See NOTICE and the README Acknowledgments. We are not affiliated with Vectify AI.