name: tga
tagline: trusty-git-analytics — developer productivity analytics (collect → classify → report)
usage: tga [OPTIONS] <COMMAND>
commands:
author:
description: Per-engineer drill-down report (commits, effort, PRs, categories)
flags:
- name: format
description: Output format (markdown or json)
- name: since
description: Lower date bound (YYYY-MM-DD)
- name: until
description: Upper date bound (YYYY-MM-DD)
examples:
- cmd: tga author alice@example.com
- cmd: tga author alice@example.com --format json --since 2026-01-01
audit:
description: One-shot acquisition-diligence sweep over an org or configured repo set
flags:
- name: org
description: GitHub organisation or Bitbucket workspace under audit
- name: title
description: Report title (defaults to "<org> — Technical Due Diligence")
- name: analyst
description: Name of the analyst producing the report
- name: client
description: Name of the client the report is produced for
- name: output
description: Directory for the audit's outputs (default ./audit-output)
- name: weeks
description: Limit collection to the last N ISO weeks
examples:
- cmd: tga audit
- cmd: tga audit --org acme --client "Acme Holdings" --weeks 26
inspect:
description: Show the live database schema, or attest what it holds (no file content, diffs, patches, hunks, or blobs)
flags:
- name: json
description: Emit JSON instead of the human-readable report
examples:
- cmd: tga inspect schema
- cmd: tga inspect attest
- cmd: tga inspect attest --json
eval:
description: Classifier precision harness — sample classified commits for labelling, then score the labels (outputs contain commit text; store them privately, outside any repository)
flags:
- name: db
description: "sample: a copy of tga.db, opened read-only"
- name: seed
description: "sample: RNG seed (required); same seed and database give the same sample"
- name: weeks
description: "sample: window length in weeks, ending at the newest commit (default 26)"
- name: size
description: "sample: total sample size (default 400)"
- name: cap
description: "sample: max commits per repo and per author within a stratum (default 5)"
- name: salt
description: "sample: author-hash salt; generated and saved when omitted"
- name: labels
description: "score: rater label file; repeat once for a second rater"
- name: adjudicated
description: "score: adjudicated labels that settle disagreements"
- name: out
description: Output directory (required; keep it outside any repository)
examples:
- cmd: tga eval sample --config config.yaml --db ~/private/tga-copy.db --seed 7 --out ~/private/eval
- cmd: tga eval score --sample ~/private/eval/sample.jsonl --labels ~/private/eval/a.csv --labels ~/private/eval/b.csv --out ~/private/eval
analyze:
description: Run the full pipeline (collect → classify → report)
flags:
- name: skip-collect
description: Skip collection (use existing DB data)
- name: skip-classify
description: Skip classification
- name: validate-only
description: Validate config without running
- name: no-validate
description: Skip pre-flight config validation
examples:
- cmd: tga analyze
- cmd: tga analyze --skip-collect
collect:
description: Stage 1 — collect commits from git repositories
flags:
- name: validate-only
description: Validate config without running
- name: no-validate
description: Skip pre-flight config validation
classify:
description: Stage 2 — classify collected commits
report:
description: Stage 3 — generate reports from classified commits
pr-metrics:
description: Aggregate pull-request metrics per engineer
profile:
description: Longitudinal per-contributor quality profile
install:
description: Configuration wizard — interactive, or flag-driven with --host/--pm
aliases:
description: List or merge developer identities (aliases)
backfill:
description: Retroactive maintenance operations on existing commit rows
override:
description: Manage manual classification overrides (Tier 0)