Submitting Pull Requests¶
We appreciate your contributions. This guide covers our PR process to help your changes land smoothly.
Before You Start¶
- Check for existing issues — Someone may already be working on the same thing. Look through open issues and open PRs first.
- Open an issue for large changes — If you're planning a significant feature or refactor, open an issue to discuss the approach before writing code. This saves everyone time.
Creating Your PR¶
1. Create a feature branch¶
Use descriptive branch names:
feature/add-guardrail-evalsfor new featuresfix/lint-rule-i007-false-positivefor bug fixesdocs/improve-auth-guidefor documentation
2. Make your changes¶
- Keep commits focused — one logical change per commit.
- Write clear commit messages that explain why, not just what.
- Follow the code style guide.
3. Run checks locally¶
Before pushing, make sure everything passes:
ruff check src/ tests/ # Lint check
ruff format --check src/ tests/ # Format check
pytest # Run tests
If you changed documentation:
4. Push and create the PR¶
Then open a pull request on GitHub. In your PR description:
- Summarize what changed — A brief explanation of the problem and your solution.
- Link related issues — Use "Fixes #123" or "Relates to #456".
- Describe how to test — Help reviewers verify your changes.
What Makes a Good PR¶
- Small and focused — Smaller PRs are easier to review and less likely to introduce issues. If your change touches many files, consider splitting it into multiple PRs.
- Tests included — New features should come with tests. Bug fixes should include a test that would have caught the bug.
- Documentation updated — If your change affects the CLI, API, or user-facing behavior, update the relevant documentation.
Review Process¶
- A maintainer will review your PR, usually within a few business days.
- You may receive feedback requesting changes — this is normal and collaborative, not adversarial.
- Once approved, a maintainer will merge your PR.
Tips¶
- If CI fails, check the logs carefully. Pre-commit hooks run
ruffandpytest— the same checks you can run locally. - Don't force-push to a PR branch after review has started. It makes it harder for reviewers to see what changed.
- If your PR has been open for a while without review, it's fine to leave a polite comment asking for attention.