Thank you for your interest in contributing to leaf.
- Fork the repository.
- Clone your fork:
git clone https://github.com/<your-username>/leaf.git
cd leaf- Install Rust if needed:
rustup show- Build the project:
cargo build- Run the application:
cargo run -- README.mdBefore submitting a PR, run the full validation sequence:
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo build --release- Create a feature branch from
main. - Make focused changes.
- Keep documentation in sync when behavior changes.
- Ensure all checks pass.
- Open a PR with a clear description of:
- what changed;
- why it changed;
- how it was tested.
- Use clear, direct messages.
- Keep the first line short.
- Prefer the existing prefixes used in the repository when they fit.
Examples:
feat: custom themeschore: refactor main.rsfix: file picker alignmentdocs: update README.md
- Follow the existing Rust style in the repository.
- Prefer small, targeted refactors over broad rewrites.
- Preserve the current terminal UX unless the change explicitly improves it.
- Keep ASCII by default unless the file already uses Unicode intentionally.
- Add regression tests when fixing rendering or parsing bugs.
- Prefer narrow, behavior-focused tests over snapshot-heavy tests.
- If a change affects terminal layout, verify both tests and manual rendering.
See:
Release automation lives in:
Installers live in:
Open an issue or discussion in the repository: