Audit, polish, and launch GitHub projects with a practical star-readiness score.
StarForge is a small CLI and web report that checks whether a repo is easy for strangers to understand, run, trust, and share. It inspects actual files (LICENSE, CI workflows, tests, CONTRIBUTING), git activity, and package manifests for JavaScript, Python, Rust, and Go — then turns the gaps into a concrete, weighted checklist. No keyword guessing.
npm install
npm run starforge -- --path . --checklist
npm testFor structured output:
npm run starforge -- --path . --jsonRun --card to generate an SVG scorecard (light + dark). Embed it anywhere — every embed links back to your repo, which is how the audit spreads.
npm run starforge -- --path . --cardStarForge prints a ready-to-paste snippet:
Deploy the bundled app to Vercel to serve a card and badge that re-audit themselves — no committed SVG to go stale:
[](https://<your-app>.vercel.app/?repo=owner/name)The badge uses the shields.io endpoint (URL-encode the inner address):
[](https://<your-app>.vercel.app/?repo=owner/name)Or open the site and paste a repo to see its live report.
Many good projects stay quiet because the first five minutes feel unfinished. StarForge scores 13 signals people actually scan before they star, clone, share, or open a pull request, grouped into four categories:
- First impression — a one-sentence promise under the title, a screenshot/demo, status badges
- Runnability — a copy-pasteable quickstart and a recognizable package manifest
- Trust & quality — a real LICENSE file, tests, CI config, recent commits, community-health files
- Growth & community — discoverable metadata, a contribution path, releases or a changelog
starforge [--path ./repo] [--card] [--checklist] [--json]
starforge owner/name [--card] [--json] # audit any public repo, no cloneOptions:
| Flag | Description |
|---|---|
--path, -p |
Local repository path to audit |
--repo, -r |
Audit a remote repo by owner/name (uses GITHUB_TOKEN if set) |
--card |
Write an embeddable SVG score card (light + dark) |
--checklist |
Write STARFORGE_CHECKLIST.md into the audited repo |
--launch |
Print a deterministic launch post (no API key needed) |
--launch-kit |
Generate richer AI launch materials with your own key (BYOK) |
--json |
Print a structured audit report |
--help, -h |
Show usage help |
Run the local report UI:
npm run devThen open the Vite URL printed in your terminal. The UI shows a sample audit, scoring rules, and launch checklist patterns.
Audit every pull request and post the score as a comment:
# .github/workflows/starforge.yml
name: StarForge
on: pull_request
permissions:
contents: read
pull-requests: write
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: Wang-Yeah623/starforge@main # or pin to a released tag
with:
fail-under: '70' # optional: block merges below 70| Input | Default | Description |
|---|---|---|
path |
. |
Path to the repository to audit |
comment |
true |
Upsert a pull-request comment with the score |
card |
true |
Write starforge-card.svg into the workspace |
fail-under |
0 |
Fail the job below this score (0 disables the gate) |
It also exposes score and grade outputs for later steps.
Turn the audit into launch materials. No key needed for a quick post:
starforge owner/name --launch # deterministic launch post, instantFor a richer kit — a sharper tagline, description, topics, concrete README fixes, and a "Show HN"-style post — bring your own key (BYOK); StarForge never stores it:
export ANTHROPIC_API_KEY=... # or OPENAI_API_KEY
starforge owner/name --launch-kitOverride the provider or model with STARFORGE_AI_PROVIDER (anthropic | openai), STARFORGE_AI_MODEL, and STARFORGE_AI_BASE_URL (for any OpenAI-compatible endpoint). On the hosted site, the AI launch kit panel runs entirely in your browser — the key goes straight to the provider.
StarForge · starforge (local)
Score 94/100 Launch-ready
Strong launch shape. 1 signal left before sharing widely.
First impression ██████████ 100%
Runnability ██████████ 100%
Trust & quality ██████████ 100%
Growth & community ███████░░░ 70%
Fix next:
• Cut a tagged release or add a CHANGELOG so people can see the project is evolving.
Use this when you publish the repo:
I built StarForge, a tiny CLI that audits whether a GitHub repo is ready for strangers.
It checks README clarity, quickstart quality, demo presence, metadata, license, test scripts, contributor path, launch copy, and roadmap, then writes a checklist.
Try it:
npm run starforge -- --path . --checklist
npm install
npm run lint
npm test
npm run buildThe web report and /api/* endpoints deploy to Vercel as-is (framework auto-detected as Vite). Optionally set a GITHUB_TOKEN environment variable to raise the GitHub API rate limit.
| Endpoint | Returns |
|---|---|
/api/report?repo=owner/name |
Full audit report as JSON |
/api/card?repo=owner/name[&theme=dark] |
Embeddable SVG score card |
/api/badge?repo=owner/name |
shields.io endpoint badge |
- Real file / git / manifest signals across JavaScript, Python, Rust, and Go
- Embeddable SVG score card + Markdown badge you can drop in any README
- Hosted report: paste a GitHub URL (or
starforge owner/name) for a live scorecard - GitHub Action that comments the audit on pull requests
- AI launch kit (bring-your-own-key): tagline, topics, README fixes, launch post
- Publish to npm and the GitHub Marketplace; pin the Action to a
v1tag
Contributions are welcome. Good first issues include new audit rules, clearer copy, CLI ergonomics, and report UI improvements.
Please run npm run lint, npm test, and npm run build before opening a pull request.
MIT