Files
ghstats/docs/project-roadmap.md
tiennm99 9e435f631f docs: focus each file on users or coworkers, drop unrelated content (#18)
project-roadmap.md went from a 146-line phase-by-phase history to a
48-line focused view: what's planned, what's out of scope. Completed
work is already in git log + GitHub Releases — the doc re-telling it
was the thing most likely to rot and least likely to be read.

project-overview-pdr.md: "Open questions" section dropped its stale
bullet list and now just points at project-roadmap.md (single source of
truth for planned work).

code-standards.md: drop the ".claude/ directory" commit rule — that's
a per-user workflow detail, not a project-level standard. Docs are for
users of the CLI/Action and coworkers of this repo, nothing else.
2026-04-19 10:34:02 +07:00

2.4 KiB
Raw Permalink Blame History

Roadmap

What's planned next and what's intentionally out of scope. Completed work lives in the git log and GitHub Releases; this file doesn't rehash it.

Planned

Per-commit file classification (-accurate-languages)

Fix the Markdown-blog misattribution case (and any repo where linguist's byte view disagrees with the files the user actually edited).

  • Approach: GET /repos/{owner}/{repo}/commits/{sha} per commit → classify each file with go-enry. Weight by additions + deletions.
  • Cost: ~1 REST call per commit. At current defaults (30 seed repos × 500 commits = 15 000 commits worst case) this is heavy; opt-in flag, schedule weekly not daily.
  • Research: plans/reports/researcher-260418-2001-accurate-language-stats.md.
  • Status: designed, not implemented.

Partial bare clone for lifetime language stats (-deep)

Lifetime language stats across every repo a user has committed in, without the 500-commits-per-repo cap.

  • Approach: git clone --filter=blob:none --bare per seed repo + git log --author --numstat → go-enry.
  • Cost: ~5 % of full-clone disk (trees only); 35 min runtime for 100 repos; zero REST calls.
  • Trade-off: needs disk + git binary on runner.
  • Status: researched only; would land behind -deep.

User-configurable repo exclusion (-exclude-repo)

Drop throwaway repos (experiments, stashed forks) from stats without turning off include_forks globally.

  • Approach: -exclude-repo owner1/name1,owner2/name2 flag. Client-side filter on the seed list before probing.
  • Status: pending user demand.

Expanded ownerAffiliations

Catch work in org repos where the user is a collaborator rather than owner.

  • Approach: expose -affiliations OWNER,COLLABORATOR,ORGANIZATION_MEMBER.
  • Blocker: decide whether to display private org work on a public profile card by default.
  • Status: blocked on that privacy call.

Out of scope (by design)

Limitation Reason
Markdown/prose excluded from byte counts Linguist's default — we defer to it
No real-time API / server mode Scheduled batch renderer, not a service
No WakaTime integration Other tools already cover this (athul/waka-readme, anmol098/waka-readme-stats)
No 7×24 heatmap variant of productive time 24-hour bar chart matches the reference project
Hard 340 px card width Matches github-profile-summary-cards; customising would cascade through every chart's geometry