Thanks for wanting to contribute. Here's how to get started.
git clone https://github.com/zaptech-dev/crategeist.git
cd crategeist
cargo build# Quick test (no build, no network)
cargo run -- crategeist --skip-timing --skip-security
# Full run on itself
cargo run -- crategeistcargo fmt --check
cargo clippy -- -D warnings
cargo buildMake sure there are no warnings.
Check the issues for open tasks. If you want to work on something not listed, open an issue first to discuss the approach.
Good first contributions:
- Improving unused dependency detection accuracy
- Adding output formats (JSON, markdown)
- Better timing measurement strategies
- Documentation improvements
- Keep it simple. Don't over-engineer.
- One PR per feature or fix.
- Write clear commit messages.
- No async — this is a sequential CLI tool (rayon for parallelism where needed).
- Stable Rust only, no nightly features.
- Test your changes by running crategeist on real projects.
src/
main.rs # CLI entry, orchestration
metadata.rs # cargo_metadata wrapper, workspace support
analyze/
timing.rs # cargo build JSON message parsing
security.rs # rustsec advisory DB audit
unused.rs # regex source scanning
critical_path.rs # petgraph DAG longest-path
report/
terminal.rs # comfy-table + colored output
html.rs # maud single-file HTML report