Hanzo Dev

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

  1. Start with an issue — agree on the solution before writing code
  2. Add or update tests — bug fixes should include test coverage
  3. Document behavior — update docs if user-facing behavior changes
  4. 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 suite

Model Metadata Updates

When updating model catalogs or metadata:

  • Set input_modalities explicitly 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

  1. One maintainer assigned as primary reviewer
  2. PRs introducing scope not previously discussed may be closed
  3. Changes may be requested — this is standard practice
  4. 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

On this page