collect-github-stats

Solid

Collect GitHub repo health/usage stats into merged JSON.

Code & Development 349 stars 76 forks Updated 2 days ago Apache-2.0

Install

View on GitHub

Quality Score: 85/100

Stars 20%
85
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
75
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# collect-github-stats Runs one script: fetch GitHub stats for a repo, merge into `docs/github-stats.json`. ## Run (MUST) ```bash python3 <skill_dir>/scripts/collect_stats.py [--repo OWNER/NAME] [--out PATH] [--no-enrich] ``` Defaults: `--repo griddynamics/rosetta`, `--out docs/github-stats.json`. MUST run from repo root (or pass absolute `--out`). `--no-enrich` skips company/location lookups. ## CRITICAL - **NEVER DELETE OR OVERWRITE `docs/github-stats.json`.** Script APPEND-MERGES. Traffic is a 14-DAY ROLLING WINDOW — deleted history is GONE FOREVER, unrecoverable from the API. - **PUSH ACCESS REQUIRED.** No push → traffic 403 → script FAILS LOUD with fix steps. MUST NOT accept a partial file. ## Rules (MoSCoW) - MUST have `gh` authenticated, `repo` scope, push access to the target repo. - SHOULD relay the script's post-run summary to the user. - COULD normalize company variants when REPORTING; MUST NOT mutate stored raw values. - WON'T fabricate cloner identity (cloners are ANONYMOUS — counts only), store PII/secrets. If you learned something new which is reusable, there are process efficiency improvements, you can prevent failures in the future, update `## Lessons learned` below for self-improvement. ## Lessons learned (self-improvement, keep updating, first line is template, keep template, follow "<instructions>", high confidence only): - **<key action item, less then 7 words>** <concise/terse: what happened, why, root cause, reasoning, less then 25 words>...

Details

Author
griddynamics
Repository
griddynamics/rosetta
Created
7 months ago
Last Updated
2 days ago
Language
TypeScript
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category