Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (actions-usage) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
actions-usage
Show GitHub Actions usage metrics per developer for any repository or organization.
Breaking changes in 0.2.0: JSON output
repo: stringis nowrepos: string[], and each user entry includes arepofield.
Prerequisites
- GitHub CLI (
gh) installed and authenticated
Quick Start
npx actions-usage --repo owner/repoOr run from within a git repo to auto-detect:
npx actions-usageOptions
--org <org-name> Scan all repositories in a GitHub organization
--repo <repos...> Target repositories (default: detect from git remote)
--since <date> Start date YYYY-MM-DD (default: start of current month)
--until <date> End date YYYY-MM-DD (default: today)
--format <type> Output format: table, csv, json (default: table)
--sort <field> Sort by: minutes, runs, name (default: minutes)
--csv <path> Export CSV to file
-V, --version Show version
-h, --help Show helpExamples
Single repo, current month:
npx actions-usage --repo my-org/my-repoMultiple repos:
npx actions-usage --repo my-org/api my-org/web my-org/docsEntire organization:
npx actions-usage --org my-org --since 2026-01-01Organization filtered to specific repos (short names accepted):
npx actions-usage --org my-org --repo api webExport to CSV:
npx actions-usage --since 2026-01-01 --csv usage.csvJSON for piping to other tools:
npx actions-usage --format json | jq '.users[:3]'JSON monthly keys use YYYY-MM format (e.g. "2025-01", "2026-03").
Multi-repo output
When scanning multiple repos, the output includes a Repo column with each row representing a developer + repo pair:
┌───────────┬──────┬───────────┬───────┬──────┐
│ Developer │ Repo │ Total min │ Hours │ Runs │
├───────────┼──────┼───────────┼───────┼──────┤
│ alice │ api │ 60 │ 1.0 │ 5 │
├───────────┼──────┼───────────┼───────┼──────┤
│ alice │ web │ 30 │ 0.5 │ 3 │
└───────────┴──────┴───────────┴───────┴──────┘For single-repo usage, the output matches the original format with no Repo column.
How It Works
Queries the GitHub Actions API via gh api to fetch all completed workflow runs in the specified period, then calculates wall-clock duration per developer by measuring the time between run_started_at and updated_at.
For organizations, repos are fetched concurrently (5 at a time). Archived, disabled, and forked repos are excluded by default.
Note: These are wall-clock durations (from run_started_at to updated_at), not GitHub billable minutes. Wall-clock includes queue time and approval wait. The billing API does not expose per-run billable minutes for private repositories.
License
MIT