@looper/git-contributor-analysis
v2026.03.02.2
Analyze git repository contributors over a configurable time period.
Given a path to a git repository and a number of days to look back, the analyze method collects per-contributor statistics by parsing git shortlog and git log --numstat output. It produces two data artifacts:
report (resource) - structured JSON with contributor details including name, email, commit count, files changed, lines added, and lines removed. Sorted by commit count descending with totals.
summary (file, text/plain) - a pre-formatted ASCII table for human consumption, with aligned columns, comma-formatted numbers, and a totals row.
Global arguments: repoPath (string, required) - path to the git repository days (number, default 30) - number of days to look back
Usage: swamp model create @looper/git-contributor-analysis my-repo-stats
Edit input to set repoPath and days
swamp model method run my-repo-stats analyze --json
Works well in workflows with runtime inputs - pass repoPath dynamically via ${{ inputs.repoPath }} in globalArguments.
Labels
Quality score
How well-documented and verifiable this extension is.
Grade D
- Has README or module doc0/2missing
- README has a code example0/1missing
- README is substantive0/1pending
- Most symbols documented1/1earned
- No slow types1/1earned
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared0/1missing
- Verified public repository0/2missing
Install
$ swamp extension pull @looper/git-contributor-analysisAnalyze git repository contributors over a configurable time period. Given a path to a git repository and a number of days to look back, the `analyze` method collects per-contributor statistics by parsing git shortlog and git log --numstat output. It produces two data artifacts: - **report** (resource) — structured JSON with contributor details including name, email, commit count, files changed, lines added, and lines removed. Sorted by commit count descending with totals. - **summary** (file, text/plain) — a pre-formatted ASCII table for human consumption, with aligned columns, comma-formatted numbers, and a totals row. ## Global Arguments | Argument | Type | Default | Description | |------------|--------|---------|------------------------------------| | `repoPath` | string | — | Path to the git repository | | `days` | number | 30 | Number of days to look back | ## Usage ```bash swamp model create @looper/git-contributor-analysis my-repo-stats # Edit input to set repoPath and days swamp model method run my-repo-stats analyze --json ``` Works well in workflows with runtime inputs — pass `repoPath` dynamically via `${{ inputs.repoPath }}` in globalArguments.