What it does
tga walks one or more local git repositories, collects every commit into a SQLite
database, classifies each commit into a work category (feature, bugfix, refactor, and so on)
through a multi-tier classification cascade, then aggregates the results into per-author,
per-week, DORA, velocity, and quality reports. It is a Rust port of gitflow-analytics, aiming for the same YAML config schema and the same SQLite schema.
Three stages, one command
tga analyze runs the whole pipeline. Each stage is also its own subcommand, because
on a large history you will want to re-run one without paying for the others.
tga collect— walk each configured repository, extract commit metadata and diff stats, resolve author identities, and write it all to SQLite. Optionally pull pull-request and issue metadata from GitHub, JIRA, Linear, or Azure DevOps alongside it.tga classify— run every unclassified commit through the cascade and write the verdict back.tga report— aggregate per author, per week, and per DORA metric, then write CSV, JSON, and Markdown into the output directory.
The database is a local SQLite file, so every number in a report is one you can go and check with a query.
The classification cascade
A single heuristic gets commit classification wrong often enough to be useless, so tga tries tiers in order and takes the first confident answer: a manual override you
pinned, the issue type from a linked ticket, a project-key mapping, a multi-pattern scan for conventional-commit
prefixes, regex patterns, a weighted sum over several independent signals, and heuristics for merges
and reverts. An LLM tier sits at the end for the commits the rules could not place.
Also in this repository: trusty-audit
The auditor client that installs its own pinned copies of tga, trusty-search, trusty-analyze, and trusty-review, then drives a due-diligence sweep and returns a signed report.