Development Setup
Set up your development environment to contribute to Aether — building, testing, linting, and the PR workflow.
This guide covers everything you need to start contributing to Aether.
Fork and Clone
- Fork the Aether repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/aether.git
cd aether
Install Rust
Aether requires the Rust stable toolchain. Install it via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Build
Compile the entire workspace:
cargo build
Test
Run the full test suite:
cargo test
This executes 3,074 tests across all 26 crates. All tests should pass with zero failures before you submit a PR.
Format
Ensure your code follows the project's formatting rules:
cargo fmt --all
To check formatting without modifying files (useful in CI):
cargo fmt --all -- --check
Lint
Run Clippy to catch common mistakes and enforce code quality:
cargo clippy --workspace -- -D warnings
The -D warnings flag treats all warnings as errors, matching what CI enforces.
Branch Workflow
Aether uses feature branches off main:
- Make sure your fork is up to date with the upstream
mainbranch. - Create a feature branch:
git checkout -b feature/my-feature
- Make your changes, add tests, and verify everything passes:
cargo test
cargo fmt --all -- --check
cargo clippy --workspace -- -D warnings
- Push your branch and open a pull request against
main.
Pull Request Guidelines
- Keep PRs focused on a single change. Small, well-scoped PRs are easier to review and merge.
- Add tests for new functionality. Aether has comprehensive test coverage and new features should maintain that standard.
- Update documentation if your change affects public APIs or user-facing behavior.
- Ensure all checks pass:
cargo test,cargo fmt --check, andcargo clippymust all succeed. - Write clear commit messages that explain why the change was made, not just what changed.
Pre-Submit Checklist
Before opening a PR, run through this:
cargo build
cargo test
cargo fmt --all -- --check
cargo clippy --workspace -- -D warnings
If all four commands pass cleanly, your change is ready for review.
Further Reading
For the full contribution guidelines, including issue reporting and code of conduct, see the CONTRIBUTING.md in the repository.