local processing
analyzes your .git directory entirely on your machine. no remote access or tokens required.
analyze git repository history locally.
gitstats parses your git log to generate insights about your codebase. it runs entirely on your machine and never sends data to a remote server.
gitstats is a local cli for git analytics. it calculates lines of code per author, tracks commit frequency over time, and generates a heatmap of the most frequently modified files. it requires no signup and no remote access.
most git analytics tools are saas products that demand read access to your private GitHub repositories. handing over your source code just to see a commit graph is a security risk. gitstats does the exact same math locally using your existing .git directory.
engineering managers and tech leads use this to identify bottlenecks and knowledge silos. if one file has been modified 400 times in a month by ten different people, gitstats highlights it so you know where to focus your refactoring efforts.
analyzes your .git directory entirely on your machine. no remote access or tokens required.
calculates lines added and deleted per contributor. ignores massive automated commits if configured.
identifies files that are modified most frequently. highlights potential technical debt and unstable modules.
graphs commit frequency over days, weeks, or months. shows when your team is actually working.
outputs raw statistical data for custom reporting. build your own dashboards without our ui.
generate a churn report for the last 30 days.
// input
gitstats churn --since 30.days
// output
1. src/config.js (42 modifications) 2. src/auth/login.js (18 modifications) 3. package.json (12 modifications)
it parsed the local git log and identified the files that are changing too frequently.
management always wants metrics on developer productivity, which usually leads to installing invasive tracking software. we built gitstats to provide basic repository metrics without giving third parties access to our source code.
we learned that lines of code is a terrible metric for productivity, but file churn is an excellent metric for technical debt. if a single configuration file is modified every day, gitstats makes that obvious.
yes. it uses git's built-in rename tracking to follow files across directory changes.
yes. you can pass a list of emails to ignore. useful for filtering out dependabot or automated deployment scripts.
it parses the log linearly. a repository with 100,000 commits will take a few seconds to process.
yes. you can define an alias map to merge different email addresses belonging to the same developer.
// find out which file is causing all the merge conflicts.