*What makes a repo KEEP compounding stars after the launch spike — and what KILLS traction.
Method: primary data mined live via gh api on 2026-07-08 (repo metadata, contributor
counts via the contributors?per_page=1 Link header, 52-week commit participation, release
cadence, issue open/closed funnels), plus cited third-party commentary (WebSearch) and
star-history.com for trajectory shape. Every quantitative claim below is from the GitHub REST
API on 2026-07-08 unless linked. Inferences are marked [UNVERIFIED].*
This doc grounds the durability question for Claude Mission Control (a pre-launch, OSS-bound
native macOS command center for Claude Code power users). It is the companion to RESEARCH_launch.md
(getting the spike) — this one is about surviving the spike and compounding for years.
The evidence set (8 repos, honestly labeled)
Picked to span the whole trajectory space — durable winners, a durable rocket, a late-bloomer,
and three cautionary flash cases. All numbers gh api, 2026-07-08.
| Repo | Born | Stars | Forks | Contributors¹ | Open iss | Commits/yr² | Latest release | License | Verdict |
|---|---|---|---|---|---|---|---|---|---|
junegunn/fzf |
2013-10 | 81,547 | 2,808 | ~313 | 325 | 346 | v0.74.0 (2026-07) | MIT | Durable compounder |
BurntSushi/ripgrep |
2016-03 | 65,892 | 2,627 | ~420 | 209 | 118 | 15.1.0 (2025-10) | Unlicense | Durable, mature |
sharkdp/bat |
2018-04 | 59,599 | 1,579 | ~409 | 394 | 582 | v0.26.1 (2025-12) | Apache-2.0 | Durable compounder |
charmbracelet/bubbletea |
2020-01 | 43,610 | 1,257 | ~147 | 189 | 303 | v2.0.8 (2026-07) | MIT | Durable, contributor-rich |
vitejs/vite |
2020-04 | 81,838 | 8,406 | ~438 | 725 | 1,267 | frequent | MIT | Late-bloomer → winner |
ollama/ollama |
2023-06 | 175,685 | 16,881 | ~453 | 3,380 | 1,118 | multiple/week | MIT | Durable rocket |
Significant-Gravitas/AutoGPT |
2023-03 | 185,429 | 46,123 | ~429³ | 471 | 1,818 | — | NOASSERTION | Flash → eclipsed |
AntonOsika/gpt-engineer |
2023-04 | 55,197 | 7,297 | ~101 | 70 | 0 | — | MIT | Flash → pivot/ARCHIVED |
yoheinakajima/babyagi |
2023-04 | 22,324 | 2,855 | 2 | 20 | 2 | never | none | Flash → abandoned |
¹ GitHub's contributors endpoint page-count (Link header, per_page=1). Caps at ~500 linked
accounts, so the big numbers read "hundreds+"; the small ones (babyagi = 2) are exact and damning.
² Commits in the trailing 52 weeks (stats/participation). ³ AutoGPT's #1 "contributor" by the API
is Auto-GPT-Bot — an automation account, not a person.
The single most discriminating column is "Commits/yr." Every durable repo is still being built years after launch (ripgrep 118, fzf 346, bat 582, bubbletea 303, vite 1,267, ollama 1,118). Every flash case has gone quiet where it matters: gpt-engineer 0 (archived), babyagi 2 (22k stars, two commits in a year). AutoGPT is the trap that looks alive (1,818 commits/yr) but lost the actual use-case — see below. Stars are a lagging vanity number; commit-cadence is the pulse.
PART A — The six trajectory shapes
You can see these on star-history.com (deterministic URLs, e.g.
[star-history.com/#BurntSushi/ripgrep&yoheinakajima/babyagi&D](https://star-history.com/#BurntSushi/ripgrep&yoheinakajima/babyagi&Date)). Shapes below are
characterized from born-date + current-stars + the commit-cadence pulse; the AutoGPT spike specifics
are third-party-confirmed and cited.
Mega-spike → plateau (viral flash).
AutoGPT: released 2023-03-30, 30,000 stars in 13 days, 100,000+ within weeks — "the fastest-growing open-source project in GitHub history at the time." (vibeagentmaking, Wikipedia) The star curve is a near-vertical cliff then a long shallow plateau. 185k stars today — and largely eclipsed by AutoGen and CrewAI for real work (awesome-agent-failures).Spike → flatline → abandon.
babyagi: rode the same April-2023 agent hype to 22k stars, then stopped. 2 commits in the last year. 2 contributors. Zero releases, ever. No license. No description (the API returnsnullfor both). The purest flash-in-the-pan in the set.Spike → pivot → archive.
gpt-engineer: 55k stars, then the founder took the energy commercial. The repo is archived (last push 2025-05-14) and its own description reads "CLI platform to experiment with codegen. Precursor to: lovable.dev." Lovable reportedly hit $17M ARR in 3 months (thegrowthmind, lovable.dev/gpt-engineer). Not a failure — but for the OSS artifact, a dead end. The stars stopped compounding the day the company started.Steady linear compounder.
ripgrep(66k over ~10 yrs),fzf(81k over ~13 yrs),bat(60k over ~8 yrs). No single spike — a straight-ish line that never quits, because the tool keeps working and keeps shipping. fzf, born 2013, is still on a monthly release cadence in 2026.Late-bloomer → category winner.
vite: quiet in 2020–21, then won the frontend-build war. Today 82k stars, 8,406 forks (the biggest contributor surface in the set), 1,267 commits/yr. The curve bends upward years after birth — durability can look like patience.Durable rocket.
ollama: 176k stars in 3 years and still 1,118 commits/yr, shipping multiple releases per week. The tell it's durable, not flash: its own repo description auto-widens with the ecosystem — "Get up and running with Kimi-K2.6, GLM-5.1, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma…" The use-case keeps widening (see Durability rule #6).
The line that separates 1–3 from 4–6 is not launch height. It's the pulse a year later.
PART B — The Durability Checklist (what to DO to compound)
Each rule is tied to a repo in the set that proves it.
1. Solve a RECURRING pain, not a one-time trick. You re-run fzf, rg, bat, ollama dozens
of times a day; you ran AutoGPT/babyagi once to see the demo and closed the tab. Recurring use is
what turns a star into a habit and a habit into a dependency. Signal: the durable tools have deep
issue funnels relative to stars (real users hit real edges); babyagi has ~167 total issues ever
for 22k stars — starred as a bookmark, never lived in.
2. "It just works" reliability is the whole moat. AutoGPT's own reviews: "a fun toy, but not particularly good at accomplishing genuinely useful tasks" — loops, hallucinations, fragile browsing, setup complexity (BussTechno, awesome-agent-failures). Contrast ripgrep: boring, correct, fast, every time. Reliability compounds; demos decay.
3. Keep a visible maintenance cadence. Two valid shapes:
- High-velocity — ollama ships multiple releases/week (v0.31.2-rc2, v0.31.1, v0.30.12-rc0… all within ~3 weeks); fzf/bubbletea ship monthly.
- Mature-stable — ripgrep releases a few times a year (15.1.0 in 2025-10, a ~13-month gap before it) but is still committing (last push 2026-07-07). A slow cadence is fine if the pulse is alive and issues get answered; a slow cadence plus silence is the death rattle. The number that kills you is the gap between last release and last human response, not the release interval itself.
4. Answer issues and merge PRs fast — it's a retention mechanic, not just courtesy. CHAOSS research: "projects in which member pull requests are more frequently merged experience more sustained participation" (CHAOSS). ripgrep has closed 1,683 issues against 209 open (~89% closure). ollama has closed 8,420 — even while carrying a 3,380 backlog, the throughput is enormous. Responsiveness is the flywheel's lubricant: contributors invest where they've seen feedback land.
5. Documentation and onboarding friction decide the second visit. The durable CLIs are famous for their docs — bat and ripgrep ship long, example-first READMEs and man-page-grade guides; that's why a first-timer succeeds in 60 seconds and comes back. GitHub's own guidance: docs quality "reflects if this community gives open arms to new contributors," and 28% of casual OSS contributions are documentation (Steinmacher, via opensource.guide) — good docs are both an adoption funnel and a contributor funnel.
6. Widen the use-case deliberately. ollama's moat is that it keeps absorbing the frontier (every new model = a new reason to install). vite went from "a Vue dev-server" to "the default build tool for the whole JS ecosystem." A tool that stops widening becomes a feature; a tool that widens becomes a platform. (Widen on-mission — see anti-pattern #4 on scope bloat.)
7. Pick a real OSI license on day one. babyagi ships no license (legally un-adoptable by any
company — a silent traction ceiling). AutoGPT shows NOASSERTION — license ambiguity that makes
downstream users nervous. The durable set is uniformly clean and permissive: MIT (fzf, vite, ollama,
bubbletea), Apache-2.0 (bat), Unlicense (ripgrep). A missing/ambiguous license is a growth bug.
8. Optimize for DEPENDENTS, not stars. The truest durability signal is being embedded in other
people's tools. ripgrep is bundled into VS Code — @vscode/ripgrep alone does 447,796 npm downloads
a week (npm,
microsoft/vscode-ripgrep) — plus Neovim/Telescope and
countless editors. Its 66k stars understate its reach by orders of magnitude. babyagi's 22k stars
overstate its reach to near-zero. When you're a dependency, you can't be a fad.
PART C — The Anti-Patterns (what KILLS traction)
Abandonment / maintainer silence. The #1 killer. babyagi: 2 commits/yr. The moment the pulse flatlines, the compounding stops — new users see a stale repo and bounce. Even a monthly "still here, here's what's next" commit beats silence.
"Cool demo, useless in practice." The virality that got AutoGPT/babyagi to the top of Trending is exactly the audience that leaves when the tool doesn't survive contact with real work. A spike built on spectacle mean-reverts; a spike built on utility compounds. Guard against shipping a screenshot instead of a tool.
Founder pivots the energy out of the repo. gpt-engineer → Lovable. Legitimate for the founder, fatal for the OSS project. If a company grows out of the repo, the repo needs its own maintainer commitment or it archives (as gpt-engineer did) and the stars freeze.
Scope bloat. Trying to become everything dilutes the "it just works" promise that earned the stars. The durable tools are disciplined: ripgrep is search, fzf is fuzzy-select, bat is cat-with-wings. Widen the use-case, not the surface area.
Breaking changes / unstable upstream coupling. A tool that breaks its users' setups on upgrade burns trust fast (see the VS Code regression thread where a bundled-ripgrep path change broke downstream extensions — vscode#318691). Doubly dangerous for wrapper/observer tools whose lifeblood is someone else's file format or API: when the upstream shifts, you break through no fault of your own. This is Claude Mission Control's single largest durability risk (Part F).
No license / ambiguous license. babyagi (none) and AutoGPT (
NOASSERTION). Companies — the people who turn a tool into infrastructure — can't touch legally-ambiguous code.No docs / high onboarding friction. If the second visit fails, there is no third. Setup complexity was a named reason AutoGPT shed its early audience.
Stars as the goal. Optimizing the vanity metric (Show-HN theatrics, star-for-star trades) inflates the number the launch produces and does nothing for retention. babyagi's 22k stars bought it exactly zero durability. Measure usage; stars are a receipt, not a pulse.
PART D — The Contributor Flywheel (solo → many)
The Claude "community builder" bar is 20+ external contributors/yr. Every durable repo here blew
past it (bubbletea ~147, fzf ~313, bat ~409, ripgrep ~420 lifetime); every flash case stalled
(babyagi 2). Here's the machinery that gets you from a solo project to hundreds — with the caveat
that most durable tools are still anchored by one visionary (BurntSushi, junegunn, sharkdp, Evan
You/yyx990803), so the goal is one clear owner + a wide contributor apron, not design-by-committee.
The practices that attract contributors (all cited to opensource.guide / GitHub "For Good First Issue" / opensource.com):
- Label
good first issue/help wanted. These labels are a signal that first-timers are welcome and valued — the single highest-leverage, lowest-cost flywheel primitive. Curate 5–10 genuinely-scoped starter issues before you launch, not after. - Ship a real
CONTRIBUTING.md+ architecture doc. Contribution guidelines "pave the way for onboarding"; an architecture doc lets a stranger find the seam to work on without reading the whole codebase. Lower the comprehension cost and you widen the contributor pool. - Be visibly responsive. "When maintainers and contributors are responsive to issues and PRs, this suggests a healthy codebase… future contributions will receive feedback and have an impact." The first PR you merge fast buys you the contributor's next five.
- Make the first contribution a doc/typo fix. 28% of casual contributions are documentation — a frictionless doc-fix path is the top of the contributor funnel; some of those people convert to code contributors.
- Carve out barrier-free work. If your core is high-barrier (a compiled language, a niche
platform), deliberately expose lower-barrier surfaces — pure-logic modules, data fixtures, new
detectors, docs — so contributors who can't touch the hard core can still land a PR. (Directly
applicable to Mission Control's pure
MissionControlKitlayer — Part F.) - Watch the Bus/Absence Factor. CHAOSS's Contributor Absence Factor = the smallest number of people who make 50% of contributions (chaoss/metrics). If that number is 1, you're one burnout away from babyagi. Actively grow it.
PART E — Signals maintainers should actually track (stars are vanity)
Grounded in the CHAOSS framework — the industry-standard set of open-source health metrics (chaoss/metrics, Starter Project Health) — plus an empirical repository-stability study (arXiv 2508.01358).
| Track this | Why it beats stars | How to read it |
|---|---|---|
| Commit cadence (pulse) | Leading indicator of life; stars lag it | Durable = still committing yrs out; babyagi 2/yr = dead |
| Time to First Response (issue/PR) | CHAOSS core; predicts contributor retention | Faster = healthier; measure the median, watch the tail |
| Change-Request Closure Ratio (open vs closed) | Throughput, not backlog size | ripgrep ~89% closed; ollama closes 8.4k even with a big backlog |
| Release Frequency | Proof the tool keeps improving | Any steady rhythm (weekly OR yearly) beats a stalled one |
| Contributor Absence / Bus Factor | Sustainability & key-person risk | Push it above 1; babyagi's is ~1 |
| Dependents & real downloads | Actual usage, the truest moat | @vscode/ripgrep 447k downloads/wk >> its star count |
| Issue-funnel depth vs stars | Separates used from bookmarked | High issues/star = real use; babyagi ~167 issues / 22k stars = ornamental |
One-line doctrine: a star is a receipt for a past click; commit-cadence, response time, closure ratio, and downloads measure whether anyone is still here. Instrument the latter four; treat stars as a launch artifact.
PART F — Durability plan for Claude Mission Control
Mission Control has strong durability fundamentals already: it solves a recurring pain (govern a
one-person Claude Code fleet is a daily, not one-time, problem — rule #1), it's zero-config /
read-only / "it just works" (rule #2), it has no dependencies (pure SwiftPM) and 265 tests,
and it already carries a deep docs/ corpus (rule #5). The risks are specific and addressable. Commit
to these from day one:
1. Treat the Claude Code on-disk format as a hostile upstream (this is the #1 durability threat —
anti-pattern #5). The whole product reads files someone else owns and changes
(~/.claude/**/*.jsonl, settings.json, ~/.pxpipe/events.jsonl). When Anthropic changes that
schema, the tool silently breaks — the wrapper-tool death. Build a version-tolerant parser that
degrades gracefully on unknown fields, a fixture suite of real .jsonl shapes across Claude Code
versions, and a "Tested against Claude Code vX.Y" matrix in the README. This reliability contract
is the moat; ship the boring version.
2. Pick a permissive OSI license before the first public star (anti-pattern #6, rule #7). MIT or Apache-2.0 — clean, unambiguous, company-adoptable. Do not launch license-less like babyagi or ambiguous like AutoGPT. This is a five-minute fix that removes a silent traction ceiling.
3. Commit to a visible cadence + frictionless updates (rule #3). Maintain a CHANGELOG.md, cut
tagged releases, and ship a Homebrew cask/tap so install and upgrade are one command
(fzf/ripgrep/bat all live in Homebrew; that's a big share of their daily reach). A mature-stable
cadence is fine — but pair every quiet week with answered issues, never silence.
4. Weaponize the pure MissionControlKit layer for the contributor flywheel (Part D, rule #5).
The README already advertises a pure, fully-unit-testable Foundation core separate from the SwiftUI
shell. That is a gift for contributors: SwiftUI/macOS is a high barrier, but new Audit detectors,
new Dreaming-Ledger miners, new fixtures, and new --render-* modes are self-contained,
test-backed, good-first-issue-shaped work that a stranger can land without touching the UI. Before
launch: write CONTRIBUTING.md, an architecture doc (the two-layer diagram already exists in
RESEARCH/README — promote it), and seed 5–10 curated good first issues against the Kit layer.
5. Instrument the durable signals from day one, ignore the vanity one (Part E). Track Time to First Response, PR-merge ratio, release frequency, Homebrew install counts / release-asset downloads, and your own Bus Factor. Do not optimize the star counter. Put a "we measure usage, not stars" line in the README to set the culture.
6. Guard the scope; widen the use-case on-mission (rule #6, anti-pattern #4). The durable moat is the differentiated core — the cross-machine fleet over Tailscale and the Dreaming Ledger flywheel. Widen along that axis (more machines, more audit causes, more approvable fixes), and resist becoming a generic dashboard. The identity ("the door light") is a scope-discipline asset — keep it.
7. Name a second maintainer, or a plan to (Bus Factor, Part D #6). A solo native-Mac app is one burnout from archival (gpt-engineer/babyagi). Grow the Absence Factor above 1 early — the contributor apron in #4 is how you recruit the candidate.
8. Refuse the "cool demo" temptation (anti-pattern #2). The headless --render-* screenshots are
beautiful and will spike the launch — but the durability test is whether a Claude Code power user
still opens it on day 30 because it reliably answers "which of my eight agents needs me right now?"
Ship the reliability under the screenshots, and the spike becomes a compounder.
Appendix — provenance
- Primary data:
gh apion 2026-07-08 —repos/{o}/{r}(stars/forks/license/dates/archived),contributors?per_page=1Link header (contributor counts, ~500 cap),stats/participation(52-week commit cadence),releases(cadence),search/issues(open/closed funnels). - Trajectory visuals:
star-history.com(e.g.[star-history.com/#Significant-Gravitas/AutoGPT&BurntSushi/ri](https://star-history.com/#Significant-Gravitas/AutoGPT&BurntSushi/ripgrep&vitejs/vite&yoheinakajima/babyagi&Date)). The star-history render API was rate-limited (HTTP 503) at capture time; shapes above are derived from primary data + the cited spike reporting, not from a scraped curve — [UNVERIFIED] at the pixel level, verified at the data level. - AutoGPT spike / eclipse: vibeagentmaking,
Wikipedia,
BussTechno review,
vectara/awesome-agent-failures.
AutoGPT's specific license change (the
NOASSERTIONcause) was not confirmed here — [UNVERIFIED]; only the API'sNOASSERTIONambiguity is verified. - gpt-engineer → Lovable: repo description/archive status (
gh api), lovable.dev/gpt-engineer, thegrowthmind ($17M ARR figure is the source's, [UNVERIFIED] independently). - ripgrep dependents: npm @vscode/ripgrep (447,796 weekly downloads at capture), microsoft/vscode-ripgrep, vscode#318691 (upstream-break example).
- Contributor & health frameworks: opensource.guide, GitHub "For Good First Issue", opensource.com, CHAOSS metrics, CHAOSS Starter Project Health, arXiv 2508.01358 — repository stability metrics.