daari GTM plan¶
Status: executing (2026-08-26)
Spine: Approach C — public launch for stars + installs now. License is Apache 2.0 (ADR-0016 / #227).
Say open source / local-first. Do not describe the current license as source-available.
KPI¶
Unique GitHub viewers and real pip / Compose installs. Stars are a lagging signal. Clone counts are not a KPI (CI and the local watchdog inflate them).
Always-on engine¶
Mirrors the auto-dev loop. The machine never sleeps on measure and draft. A human publishes anything that is not first-party (this repo, docs site).
| Loop | Cadence | Machine | Human |
|---|---|---|---|
| Measure | Weekly (Mon 14:00 UTC) | gtm-scoreboard.yml runs python scripts/gtm_scoreboard.py --report --check-drought → auto-merging PR with SCOREBOARD.md + REPORT.md; files a gtm,regression issue on a viewer drought (#229, #1223) |
Read the week |
| Draft | On each release / notable merge | #232 shipping note | Edit tone |
| Publish (owned) | When a draft is ready | Open a PR | Merge |
| Publish (HN / Reddit / PH / X) | Calendar below | Drafts in launches/ | You post. Stay in comments 6 hours. |
| Listen | Daily | Search queue (later) | You reply in Discussions (templates) |
Never: buy stars, auto-comment, upvote bots, unattended Reddit/HN posts, scrape-and-DM.
90-day calendar¶
| Window | Work | Exit |
|---|---|---|
| Days 0–3 | Listing + honest README + scoreboard + these drafts | Stranger can explain daari from the repo header |
| Days 4–10 | Proof pack — link existing vs LiteLLM bench; finish #173 | A Show HN comment has a numbers page |
| Days 11–18 | Post localllama.md and cursor.md | ≥200 unique viewers in a week (baseline was 8) |
| Days 19–25 | Show HN Tue–Thu morning ET | Long thread or front page; 50–200 stars is a good first hit |
| Days 26–40 | Product Hunt after HN dust; #231 compare pages | Search “local llm router cursor” shows us |
| Days 41–90 | Weekly shipping note + scoreboard. Kill channels that only produce CI clones | Trailing 7-day unique viewers stay above 50 |
Commands¶
python scripts/gtm_scoreboard.py # refresh SCOREBOARD.md
python scripts/gtm_scoreboard.py --check-drought # exit 2 if unique viewers (14d) == 0
Cloud autodev-cycle will not pick GTM issues until #226 (CURSOR_API_KEY).