# 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)
