Terminology¶
Definitions used consistently across this documentation, the CLI output, and the source code.
Source¶
The repository argument you pass to a command: either a filesystem path (.,
/srv/projects/api) or a GitHub URL (https://github.com/owner/repo). Only http(s) URLs on
github.com are treated as remote; everything else is opened as a local path.
Repository context¶
Metadata collected about the analyzed repository — path, source string, owner, repository
name, branch, remote URL, source type (GitHub or Local), and whether the checkout is
temporary. Modelled by RepositoryContext and shown in the panel at the top of every report.
Commit¶
A commit reachable from HEAD, reduced to the fields GitIntel needs: hash, author name,
author email, message, date, and the list of file changes it introduced. Modelled by Commit.
Date semantics
The date field comes from the commit's commit time (not the author time) and is
rendered in the machine's local timezone.
File change¶
One file's additions and deletions inside a single commit, modelled by FileChange.
Additions and deletions are libgit2 line statistics for that file's patch. For the initial
commit — which has no parent to diff against — every file in the tree is recorded as an
addition of its line count.
Contributor¶
An author identity aggregated across commits. Contributors are keyed by author email. The
displayed name is taken from the last commit processed for that email — because history is
walked newest-first, that is the oldest commit written by that address. Two email
addresses used by the same human produce two contributors; a .mailmap file is not
applied.
Per contributor GitIntel tracks: commit count, distinct files touched, total additions, and
total deletions (Contributor).
Ownership¶
Per-file attribution of work, keyed by author name (not email), containing:
modifications— how many commits by that author touched the filelines_changed— additions plus deletions by that author in that filelast_modified_by/last_modified_at— the most recent author and timestamp
Modelled by FileOwnership. Note the deliberate difference from contributors: ownership groups
by name, contributor statistics group by email.
Owner¶
In hotspot output, the owner of a file is its last modifier (last_modified_by), not the
contributor with the largest share. When you need the majority owner, read the Modify %
column of gitintel ownership instead.
Churn (lines changed)¶
Additions plus deletions. Churn measures how much a file has been rewritten over time; it is unrelated to the file's current size. A 50-line file rewritten ten times has more churn than a 5 000-line file added once.
Modification count¶
How many commits touched a file. Used both as the ranking key for the default
gitintel ownership view and as an input to the hotspot score.
Hotspot¶
A file with a non-zero risk score, ranked by that score. Risk is a heuristic combining modification count, churn, contributor spread, and whether an owner could be determined — see Metrics and scoring. Files that trigger no rule at all are omitted from the hotspot report entirely.
Risk score¶
An integer from 1 to 100 (capped) accumulated from the hotspot rules. In table and Markdown
output it is labelled HIGH at 70 or above and MED below that.
Repository health signal¶
One of three fixed checks (Activity, Ownership, Maintenance) reported by
gitintel analyze with an OK or WARN status and a short explanation.
Report format¶
The renderer selected by --format: table (Rich terminal tables), json (machine-readable),
or markdown (documentation-friendly). Unrecognized values fall back to table.