Files
ghstats/docs/project-roadmap.md
T
tiennm99andGitHub 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

49 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |