# Contributing to illuminate
Thanks for considering a contribution.
`illuminate` is currently an early-stage project. API and module boundaries may change while the foundation is being shaped.
## Before You Start
- For large changes, open an issue first to align on direction.
- Keep PRs focused and minimal.
- Prefer explicit, readable APIs over clever abstractions.
## Development
1. Ensure Rust toolchain is installed.
2. Run checks locally:
```bash
cargo check
cargo test
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
```
## Pull Request Guidelines
- Add or update tests for behavior changes.
- Update docs and examples when public behavior changes.
- Keep commit history clean and messages clear.
- Include a short rationale in the PR description.
## Reporting Issues
When filing an issue, include:
- Expected behavior
- Actual behavior
- Minimal reproduction
- Rust/toolchain version
- OS and environment details
## License
By contributing, you agree that your contributions are licensed under:
- MIT
- Apache-2.0
(dual licensed, same as this repository)