Thank you for your interest in contributing! This guide covers how to get started, submit changes, and what to expect during review.
All participants are expected to treat others with respect and professionalism. Harassment or abusive behavior will not be tolerated.
- Fork this repository on GitHub
- Clone your fork locally:
git clone https://github.com/<your-username>/foundry-agent-packages.git cd foundry-agent-packages
- Add the upstream remote:
git remote add upstream https://github.com/boozallen/foundry-agent-packages.git
This is a Python monorepo managed with uv and just.
Install all dependencies:
uv sync --all-groupsVerify your setup:
just check
just test| Command | Description |
|---|---|
just install |
Install all workspace packages |
just check |
Run lint, format check, and type check |
just test |
Run all tests |
just lint-fix |
Auto-fix linting issues |
just format-fix |
Auto-fix formatting |
just type-check |
Run type checking (pyright) |
- Sync your fork with upstream:
git fetch upstream git checkout develop git merge upstream/develop
- Create a feature branch from
develop:git checkout -b feature/your-change
- Make your changes, keeping commits focused (one logical change per commit)
- Push to your fork:
git push origin feature/your-change
feature/<short-description>for new featuresfix/<short-description>for bug fixes
- All PRs target the
developbranch - Include a clear description of what changed and why
- Reference any related issues
- Ensure all checks pass before requesting review
- Open a pull request from your fork's branch to
upstream/develop - Fill out the PR template checklist
- Wait for CI checks to pass
- A maintainer will review your PR — only designated maintainers have merge rights
- Maintainers review all PRs before merging (role-based permissions)
- You may be asked to make changes; push additional commits to your branch
- Once approved, a maintainer will merge your PR
- External contributors do not have direct push or merge access
This project uses a maintainer-controlled merge model:
- Only designated maintainers (defined in
CODEOWNERS) can merge pull requests - At least two approving reviews are required
- At least one CODEOWNERS review is required
- All CI checks must pass before merge
- Stale approvals are dismissed when new commits are pushed
- No bypass is allowed — maintainers follow the same review process
Do not report security vulnerabilities through public GitHub issues.
Please see SECURITY.md for instructions on how to report vulnerabilities privately.
By contributing, you agree that your contributions will be licensed under the same license as this project. See LICENSE for details.