Hi everyone,
I've been working on GitScry, an open-source CLI written in Rust for extracting useful knowledge from Git history.
Git history is often treated as an archive: something we occasionally search with git log or git blame.
But I think it's closer to a treasure trove of engineering knowledge.
A mature repository already contains examples of how similar changes were implemented, why certain code exists, which tests tend to move with which files, which approaches failed, and which change may have introduced a bug.
The problem is that most of this information is buried across thousands of commits, diffs, renames, reverts, and blame history.
GitScry tries to dig that information out.
Three commands that represent the idea particularly well:
gitscry examples
Find previous implementations of a similar change and reconstruct the files and steps involved.
gitscry examples "retry backoff"
Instead of starting from scratch, you can ask: Has this repository solved something similar before?
gitscry trace-fix
Start from a known fix and trace the deleted or replaced code back to the change that originally introduced it.
gitscry trace-fix <fix-commit> --path src/lib.rs
The goal is to help answer: Where did this bug actually come from?
gitscry tests
Find tests that historically changed together with the code you're modifying.
gitscry tests src/lib.rs
Rather than relying on filename similarity, GitScry uses the repository's actual co-change history.
Local by design
GitScry builds its index from your local Git repository and performs its history analysis locally.
Your repository history does not need to be uploaded to a service or sent to an LLM. Git remains the source of truth, and the generated cache is rebuildable.
The treasure stays in your own repository.
I want your edge cases
Git history gets messy very quickly: renames, reverts, partial fixes, huge repositories, unusual workflows, old commits, strange merge histories...
That's exactly why I'm posting here.
I would really like people to try GitScry on real repositories and open issues when it gets something wrong.
Wrong result? False positive? Unsupported Git history? Unexpected behavior? Awkward CLI UX? I'd like to hear about it.
Reproducible repositories or commits are especially useful.
GitScry currently supports Linux, macOS, and Windows, with prebuilt installers as well as installation through Cargo.
Repository / issues:
If you can break it, please tell me how.