Contributing
Guidelines for contributing to Hanzo Dev.
Contributing Policy
External contributions are by invitation only.
The Hanzo Dev team does not accept unsolicited code contributions. To propose a feature or behavior change, open an issue or upvote an existing enhancement request.
If you encounter a bug, please open a bug report with reproduction details, root-cause hypotheses, or a high-level outline of a potential fix.
The team may invite an external contributor to submit a PR when:
- The problem is well understood
- The proposed approach aligns with the intended solution
- The issue is deemed high-impact and high-priority
Development Workflow (Invited Contributors)
- Create a topic branch from
main(e.g.,feat/interactive-prompt) - Keep changes focused — multiple unrelated fixes should be separate PRs
- Ensure changes are free of lint warnings and test failures
Guidelines
- Start with an issue — agree on the solution before writing code
- Add or update tests — bug fixes should include test coverage
- Document behavior — update docs if user-facing behavior changes
- Keep commits atomic — each commit should compile and pass tests
Running Checks
just fmt
just fix -p <crate>
cargo test -p <crate>
just test # full suiteModel Metadata Updates
When updating model catalogs or metadata:
- Set
input_modalitiesexplicitly for models that don't support images - Ensure client surfaces that accept images consume the same capability signal
- Add/update tests covering unsupported-image behavior
Review Process
- One maintainer assigned as primary reviewer
- PRs introducing scope not previously discussed may be closed
- Changes may be requested — this is standard practice
- When consensus is reached, a maintainer will squash-and-merge
Community Values
- Be kind and inclusive — follow the Contributor Covenant
- Assume good intent — err on the side of generosity
- Teach & learn — open issues with suggestions or clarifications