# Contributing to Ward
Thanks for your interest in contributing. Ward is a small project and contributions are welcome.
## Before You Contribute
By submitting a pull request or patch to this repository, you agree to the following:
**Contributor License Agreement (CLA)**
You grant Eduardo Nicoleit (aiWardsh) a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license to reproduce, prepare derivative works of,
publicly display, publicly perform, sublicense, and distribute your contribution
and any derivative works, under any license terms — including licenses that
differ from the AGPL-3.0 under which Ward is published.
You retain copyright over your contribution. This agreement does not transfer
ownership — it gives the project maintainer the right to use your contribution
in both the open source release and any future commercial or proprietary
versions (such as Ward Cloud).
You confirm that:
- The contribution is your original work, or you have the right to submit it.
- You have the legal authority to grant this license.
- Your contribution does not include third-party code that would conflict with
these terms.
This CLA is based on the Apache Individual Contributor License Agreement.
---
## How to Contribute
**Bug reports** — open an issue with a clear description and reproduction steps.
**Feature requests** — open an issue first to discuss before building.
**Pull requests:**
1. Fork the repo and create a branch from `main`.
2. Keep changes focused — one fix or feature per PR.
3. Run `cargo test` before submitting.
4. Describe what the change does and why in the PR description.
## Code Style
- Run `cargo fmt` before committing.
- Run `cargo clippy` and address warnings.
## Security Issues
Do not open public issues for security vulnerabilities. Email
`eduardonicoleit@aiward.dev` (or contact via GitHub private vulnerability reporting)
so it can be addressed before public disclosure.