# Contributing
This is a maintainer-light project.
If you’re here to use it, great.
If you’re here to improve it, even better.
If you’re here expecting ongoing support or hand-holding, this is not it.
## How this project works
- Pull requests are the default.
- Issues exist to document bugs, gaps, or edge cases.
- Silence does not mean approval, rejection, or hostility. It usually means lack of time or attention.
Do not wait for permission to fix something. Just fix it.
## Fixing bugs
If you found a bug and you can fix it, open a pull request directly and explain the fix clearly.
If there is an existing issue, link it.
If there is no issue, the PR itself is sufficient.
Do not ask whether you should fix it. If you can do it, just do it.
## New features
Assume new features are out of scope unless proven otherwise.
If you want to add one, simply open an issue and explain why you think it's necessary.
Bug fixes and correctness improvements are welcome, but feature expansion may not be.
## Pull request requirements
Your PR must:
- Be scoped and intentional
- Pass all required CI checks
- Include justification
Justification means concrete references: specs, RFCs, documented behavior, usage, or clear examples.
Speculative changes, refactors “for cleanliness,” or filler work will be closed, no questions asked.
## AI code
AI-assisted code is allowed and strongly encouraged.
AI can handle a large portion of the work. The CI exists to verify correctness and quality.
However:
- The contribution is treated as entirely yours.
- You are responsible for understanding what you submit.
- You are responsible for correctness, clarity, and documentation.
- Passing CI is required but not sufficient.
Low-quality, unreviewed, or blindly pasted output will be rejected.
No disclosure is required. Just don’t submit garbage.
## Communication boundaries
All technical discussion happens in public issues or pull requests.
Private messages, emails, or off-platform requests about bugs or features are ignored and flagged for spam.
If something matters, put it on GitHub in a form others can act on.
## Notifications
GitHub notifications are unreliable.
If something goes unanswered, assume it was not seen or not prioritized.
Do not bump threads just to get attention.
## Final note
If you understand and accept the above, contributions are welcome.
If not, you are free to fork the code and proceed independently.