mergestat/mergestat-lite

Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. πŸ” πŸ“Š

3,520

stars

1,057

commits

Go

primary language

Sep 5, 2026

updated

mergestat.com/
cli
command-line
git
go
golang
sql
sqlite

README

Go Reference BuildStatus Go Report Card TODOs codecov Twitter Follow

mergestat-lite MergeStat Logo

mergestat-lite is a command-line tool for running SQL queries on git repositories and related data sources. It's meant for ad-hoc querying of source-code on disk through a common interface (SQL), as an alternative to patching together various shell commands. It can execute queries that look like:

-- how many commits have been authored by user@email.com?
SELECT count(*) FROM commits WHERE author_email = 'user@email.com'

It installs a binary named mergestat.

More in-depth examples and documentation can be found on our dedicated documentation site.

Join our community on Slack if you have questions, or just to say hi πŸŽ‰.

Installation

See the full instructions in our documentation.

Homebrew

brew tap mergestat/mergestat
brew install mergestat

Docker

docker run -v "${PWD}:/repo" mergestat/mergestat "select count(*) from commits"

Examples

SQL queries can be executed in the CLI on local or remote git repositories. Remote repos are cloned to a temporary directory at runtime.

CLI SQL Screenshot

The --format flag can be used to output json, ndjson, csv and more (see mergestat -h). This can be useful for piping/using with other tools.

Higher level commands such as mergestat summarize commits generate reports without requiring a SQL input. Learn more here about the available flags such as --start to change the date range and --json to output as JSON.

CLI Summarize Commits Screenshot

Learn more in our docs

Contributors

patrickdevivo

679 commits

Vialeon

278 commits

renovate[bot]

52 commits

riyaz-ali

33 commits

mergestat/mergestat-lite

Query git repositories with SQL. Generate reports, perform status checks, analyze codebases. πŸ” πŸ“Š

3,520

stars

1,057

commits

Go

primary language

Sep 5, 2026

updated

mergestat.com/
cli
command-line
git
go
golang
sql
sqlite

README

Go Reference BuildStatus Go Report Card TODOs codecov Twitter Follow

mergestat-lite MergeStat Logo

mergestat-lite is a command-line tool for running SQL queries on git repositories and related data sources. It's meant for ad-hoc querying of source-code on disk through a common interface (SQL), as an alternative to patching together various shell commands. It can execute queries that look like:

-- how many commits have been authored by user@email.com?
SELECT count(*) FROM commits WHERE author_email = 'user@email.com'

It installs a binary named mergestat.

More in-depth examples and documentation can be found on our dedicated documentation site.

Join our community on Slack if you have questions, or just to say hi πŸŽ‰.

Installation

See the full instructions in our documentation.

Homebrew

brew tap mergestat/mergestat
brew install mergestat

Docker

docker run -v "${PWD}:/repo" mergestat/mergestat "select count(*) from commits"

Examples

SQL queries can be executed in the CLI on local or remote git repositories. Remote repos are cloned to a temporary directory at runtime.

CLI SQL Screenshot

The --format flag can be used to output json, ndjson, csv and more (see mergestat -h). This can be useful for piping/using with other tools.

Higher level commands such as mergestat summarize commits generate reports without requiring a SQL input. Learn more here about the available flags such as --start to change the date range and --json to output as JSON.

CLI Summarize Commits Screenshot

Learn more in our docs

Contributors

patrickdevivo

679 commits

Vialeon

278 commits

renovate[bot]

52 commits

riyaz-ali

33 commits

Languages

Go

99.0%