# Contributing

URL: https://docs.hanzo.ai/docs/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

```bash
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](https://www.contributor-covenant.org/)
- **Assume good intent** — err on the side of generosity
- **Teach & learn** — open issues with suggestions or clarifications

- [Contributor License Agreement](https://docs.hanzo.ai/docs/dev/contributing/cla): CLA requirements for contributing to Hanzo Dev.
