---
title: Contribution guide
description: Guidelines for contributing to the Chinmina project.
---
This project welcomes contributions! Whether you're fixing bugs, adding
features, improving documentation, or helping with testing, your help is
appreciated.

## Getting Started

1. **Find something to work on**: Browse the [outstanding
   issues](https://github.com/chinmina/chinmina-bridge/issues) for ideas, or
   open a new issue to discuss your proposed changes.
2. **Set up your environment**: Follow the [local development
   guide](./development.md) to get your development environment ready.
3. **Make your changes**: Write focused, well-tested code that follows the
   project's conventions.
4. **Submit a pull request**: Open a PR with a clear description of the changes
   and why they're needed.

## Contribution Standards

All contributions, whether written by hand or generated with AI assistance, must
meet the same standards.

### Pull Request Quality

* **Focused scope**: Each PR should address a single concern or feature. Large,
  unfocused PRs will likely be rejected or require splitting.
* **Well documented**: Explain the purpose and context of your changes in the PR
  description.
* **Well tested**: Include tests that demonstrate your changes work and don't
  break existing functionality.
* **Clean commit history**: Structure commits to make review easier. Related
  changes should be grouped logically.

### Code Quality

* Follow the project's code conventions
* Write clear code: favour simplicity and readability
* Include appropriate error handling
* Add comments where logic isn't self-evident, or a maintainer would benefit from
  additional context

> \[!NOTE]
>
> **Large PR size or lack of focus will likely result in a request to drop or change the PR.**
>
> It's better to submit multiple smaller, focused PRs than one large PR covering
> many concerns.

## AI-Generated Contributions

AI agent use for contributions is accepted under the same conditions as
handwritten contributions. If you use AI tools (such as GitHub Copilot, Claude,
[Crush][crush-agent], or similar) to help write your contribution:

* You are responsible for the quality and correctness of the output
* You must review and understand all generated code before submitting
* The contribution must still be focused, well-documented, and well-tested
* **You must verify that the AI-generated output does not contain unattributed
  intellectual property from other sources**

AI-generated contributions that fail to meet quality standards, contain
unattributed code, or show signs of inadequate review will require changes
before any thorough review is completed.

> \[!CAUTION]
>
> **Intellectual Property Responsibility**
>
> Contributors must ensure their submissions don't contain code copied from
> proprietary sources or code with incompatible licenses. This applies equally to
> manually written and AI-generated code.
>
> If you're uncertain about the origin of generated code, please investigate
> before submitting.

[crush-agent]: https://github.com/charmbracelet/crush

## Review Process

Maintainers will review your PR for:

* Alignment with project goals
* Code quality and test coverage
* Documentation completeness
* Commit structure and clarity

Feedback may include requests for changes, clarifications, or discussion of
alternative approaches. This is a normal part of the process and helps maintain
project quality.

## Additional Resources

* [Local development setup](./development.md)
* [Release process](./releases.md)
* [Project documentation](https://chinmina.github.io)
