@cofoundr/init 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +140 -0
  2. package/bin/cofoundr.mjs +10 -0
  3. package/content/.claude-plugin/plugin.json +18 -0
  4. package/content/README.md +227 -0
  5. package/content/agents/brand-intake.md +129 -0
  6. package/content/agents/consolidate.md +154 -0
  7. package/content/agents/launch-kit-detect.md +109 -0
  8. package/content/agents/spec-phase.md +131 -0
  9. package/content/commands/audit.md +137 -0
  10. package/content/commands/constitution.md +107 -0
  11. package/content/commands/document.md +155 -0
  12. package/content/commands/implement.md +108 -0
  13. package/content/commands/new-feature.md +188 -0
  14. package/content/commands/new-project.md +243 -0
  15. package/content/commands/next.md +129 -0
  16. package/content/commands/onboard.md +176 -0
  17. package/content/commands/plan.md +138 -0
  18. package/content/commands/quick-brief.md +95 -0
  19. package/content/commands/resume.md +99 -0
  20. package/content/commands/review.md +76 -0
  21. package/content/commands/rules-check.md +54 -0
  22. package/content/commands/scope-guard.md +33 -0
  23. package/content/commands/setup-skills.md +109 -0
  24. package/content/commands/specify.md +53 -0
  25. package/content/commands/tasks.md +91 -0
  26. package/content/commands/translate.md +197 -0
  27. package/content/manifest.json +59 -0
  28. package/content/scaffold/.cofoundr/README.md +67 -0
  29. package/content/scaffold/.cofoundr/constitution.md.tmpl +54 -0
  30. package/content/scaffold/.cofoundr/manifest.json.tmpl +15 -0
  31. package/content/scaffold/.cofoundr/memory/decisions.md.tmpl +19 -0
  32. package/content/scaffold/.cofoundr/memory/knowledge.md.tmpl +23 -0
  33. package/content/scaffold/.cofoundr/memory/project.md.tmpl +27 -0
  34. package/content/scaffold/.cofoundr/specs/README.md +38 -0
  35. package/content/scaffold/AGENTS.md.tmpl +74 -0
  36. package/content/templates/agents.md +144 -0
  37. package/content/templates/brand.md +180 -0
  38. package/content/templates/feature.md +70 -0
  39. package/content/templates/phases/phase-template/README.md +65 -0
  40. package/content/templates/phases/phase-template/decisions.md +52 -0
  41. package/content/templates/phases/phase-template/research.md +59 -0
  42. package/content/templates/phases/phase-template/spec.md +90 -0
  43. package/content/templates/phases/phase-template/tests.md +65 -0
  44. package/content/templates/phases/phase-template/ui-spec.md +75 -0
  45. package/content/templates/phases.md +234 -0
  46. package/content/templates/prd.md +89 -0
  47. package/content/templates/product.md +73 -0
  48. package/content/templates/rules.md +99 -0
  49. package/content/templates/tech.md +129 -0
  50. package/package.json +39 -0
  51. package/src/adapters/aider.mjs +35 -0
  52. package/src/adapters/claude-code.mjs +114 -0
  53. package/src/adapters/cline.mjs +46 -0
  54. package/src/adapters/codex.mjs +29 -0
  55. package/src/adapters/copilot.mjs +54 -0
  56. package/src/adapters/cursor.mjs +69 -0
  57. package/src/adapters/gemini.mjs +41 -0
  58. package/src/adapters/index.mjs +14 -0
  59. package/src/adapters/windsurf.mjs +69 -0
  60. package/src/cli.mjs +124 -0
  61. package/src/commands/doctor.mjs +90 -0
  62. package/src/commands/init.mjs +190 -0
  63. package/src/commands/list.mjs +28 -0
  64. package/src/commands/onboard.mjs +130 -0
  65. package/src/commands/remove.mjs +89 -0
  66. package/src/commands/sync.mjs +81 -0
  67. package/src/core/detect.mjs +121 -0
  68. package/src/core/fs.mjs +42 -0
  69. package/src/core/license.mjs +170 -0
  70. package/src/core/log.mjs +32 -0
  71. package/src/core/prompts.mjs +62 -0
  72. package/src/core/scaffold.mjs +179 -0
  73. package/src/core/source.mjs +54 -0
  74. package/src/core/version.mjs +10 -0
package/README.md ADDED
@@ -0,0 +1,140 @@
1
+ # `@cofoundr/init`
2
+
3
+ Universal installer for the **CoFoundr** spec-driven starter kit. Runs in any project, drops a tool-agnostic `.cofoundr/` workspace and an `AGENTS.md` at the root, then installs per-tool shims for the AI tools you actually use.
4
+
5
+ ## Why this exists
6
+
7
+ The CoFoundr starter kit was originally a Claude Code plugin. That left out everyone using Cursor, Windsurf, Cline, Codex, Aider, GitHub Copilot, Gemini, and the rest of the modern AI-coding stack. This package fixes that — one canonical workflow, every tool.
8
+
9
+ ```
10
+ ┌──────────────────────┐
11
+ │ .cofoundr/ │ ← single source of truth
12
+ │ constitution.md │
13
+ │ memory/ │
14
+ │ specs/ │
15
+ │ commands/ │
16
+ │ agents/ │
17
+ └──────────┬───────────┘
18
+
19
+
20
+ ┌──────────┬───────────┬──────┬────────┬──────────┬──────────┬──────────┬─────────┐
21
+ │ Claude │ Cursor │ Wind │ Cline /│ Codex │ Aider │ GitHub │ Gemini │
22
+ │ Code │ │ surf │ Roo │ CLI │ │ Copilot │ CLI │
23
+ └──────────┴───────────┴──────┴────────┴──────────┴──────────┴──────────┴─────────┘
24
+ (per-tool shim files written by adapters)
25
+
26
+ and AGENTS.md at the repo root
27
+ (read by ~25+ other agents natively)
28
+ ```
29
+
30
+ ## Install + run
31
+
32
+ ```bash
33
+ # Greenfield or existing project — interactive picker
34
+ npx @cofoundr/init init
35
+
36
+ # Non-interactive, install everything
37
+ npx @cofoundr/init init --all-tools --yes
38
+
39
+ # Pick specific tools
40
+ npx @cofoundr/init init --tools claude-code,cursor,codex
41
+
42
+ # Map an existing codebase before specing
43
+ npx @cofoundr/init onboard
44
+
45
+ # Refresh after a CoFoundr upgrade
46
+ npx @cofoundr/init sync
47
+
48
+ # Health check
49
+ npx @cofoundr/init doctor
50
+
51
+ # What's supported, what's detected here
52
+ npx @cofoundr/init tools
53
+ ```
54
+
55
+ ## Supported tools
56
+
57
+ | Tool | Tool reads |
58
+ |------------------------|------------------------------------------------------------------|
59
+ | Claude Code | `.claude/commands/`, `.claude/agents/`, `CLAUDE.md` |
60
+ | Cursor | `.cursor/rules/cofoundr.mdc` |
61
+ | Windsurf | `.windsurfrules`, `.windsurf/rules/cofoundr.md` |
62
+ | Cline / Roo Code | `.clinerules/cofoundr.md` |
63
+ | OpenAI Codex CLI | `AGENTS.md`, `.codex/instructions.md` |
64
+ | Aider | `AGENTS.md`, `.aider.conf.yml` |
65
+ | GitHub Copilot | `.github/copilot-instructions.md` |
66
+ | Gemini CLI | `GEMINI.md` |
67
+
68
+ `AGENTS.md` is the open-standard universal context file ([agents.md](https://agents.md/)) read by 20+ additional agents — Junie, Jules, Goose, opencode, Zed, Warp, Devin, Amp, Augment, Kilo, Phoenix, Roo, Ona, Factory, and more — so even tools without a dedicated adapter pick up the workspace automatically.
69
+
70
+ ## What gets installed
71
+
72
+ ### Always — universal source of truth
73
+
74
+ ```
75
+ AGENTS.md # universal context, read by ~25 tools
76
+ .cofoundr/
77
+ ├── manifest.json # version stamp + selected tools
78
+ ├── README.md
79
+ ├── constitution.md # the project's binding rules
80
+ ├── memory/
81
+ │ ├── project.md
82
+ │ ├── decisions.md # append-only decision log
83
+ │ └── knowledge.md # patterns and gotchas
84
+ ├── specs/ # feature- and phase-level specs
85
+ ├── commands/ # canonical workflow commands (read by all tools)
86
+ ├── agents/ # canonical agent definitions
87
+ └── templates/ # editable scaffolds
88
+ ```
89
+
90
+ ### Per tool — only the shims you asked for
91
+
92
+ The adapter for each tool writes a thin file that points the tool back to `.cofoundr/`. There is **one** source of truth — the per-tool files are routers.
93
+
94
+ ## Workflow commands
95
+
96
+ Every command works the same in every tool — the user types `/cofoundr:<name>` (or `cofoundr <name>`) and the tool reads `.cofoundr/commands/<name>.md` and follows it.
97
+
98
+ | Category | Command | What it does |
99
+ |-------------|------------------------|--------------|
100
+ | Session | `resume` | First command of every session — recap, confirm, then code |
101
+ | Planning | `quick-brief` | 4-question fast pass; produces `product.md` |
102
+ | | `new-project` | Full pipeline — planning, research, six-file spec |
103
+ | | `plan` | Standalone planning conversation (15-item rubric) |
104
+ | | `next` | Planning driver — does the next unblocked thing |
105
+ | | `new-feature` | Add a feature to an existing project |
106
+ | SDD | `constitution` | Establish or amend the binding rules |
107
+ | | `specify` | Produce or refresh the formal spec (project / feature / phase) |
108
+ | | `tasks` | Break a phase or feature into ordered, copy-paste tasks |
109
+ | | `implement` | Execute the next task with HALT enforcement |
110
+ | Brownfield | `onboard` | Map an existing codebase. Drafts a back-filled spec |
111
+ | | `document` | Generate or refresh living docs from code |
112
+ | | `audit` | Drift, dead surfaces, security smells, constitution violations |
113
+ | Guardrails | `scope-guard` | Check a proposed change vs. product.md non-goals |
114
+ | | `rules-check` | Audit current work vs. rules.md tiers |
115
+ | | `review` | 22-check spec quality audit |
116
+ | Comms | `translate` | Plain-English companion (`docs/plan-for-humans.md`) |
117
+ | Setup | `setup-skills` | Install recommended skill packs |
118
+
119
+ ## Safety
120
+
121
+ - **Idempotent.** `init` and `sync` skip files that already exist unless you pass `--force`. Files inside `.cofoundr/memory/`, `.cofoundr/specs/`, `.cofoundr/reports/`, and your code are **never** overwritten by the CLI.
122
+ - **No source modification.** The CLI only writes to `.cofoundr/`, `AGENTS.md`, and the per-tool shim files. It does not touch `src/`, `app/`, `lib/`, etc.
123
+ - **Dry run.** Pass `--dry-run` to see what would change without writing.
124
+ - **Reversible.** `cofoundr remove` strips the shims (preserves your specs and memory). `--hard` wipes `.cofoundr/` entirely.
125
+
126
+ ## Development
127
+
128
+ The package uses a monorepo layout. The canonical content lives at the repo root (`cofoundr-system/`) and is bundled into `packages/cofoundr-cli/content/` at publish time via `prepack`. In dev mode the CLI reads directly from `cofoundr-system/`.
129
+
130
+ ```bash
131
+ # Run from a checkout
132
+ node packages/cofoundr-cli/bin/cofoundr.mjs init --cwd /tmp/test-project --all-tools --yes
133
+
134
+ # Smoke test
135
+ node packages/cofoundr-cli/test/smoke.mjs
136
+ ```
137
+
138
+ ## License
139
+
140
+ See the LICENSE at the repository root.
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import { run } from '../src/cli.mjs';
3
+
4
+ run(process.argv.slice(2)).catch((err) => {
5
+ process.stderr.write(`\ncofoundr: ${err?.message ?? err}\n`);
6
+ if (process.env.COFOUNDR_DEBUG) {
7
+ console.error(err);
8
+ }
9
+ process.exit(1);
10
+ });
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "cofoundr",
3
+ "description": "Spec-driven development workflow for non-technical founders. Forces a structured requirements interview before any AI builds anything, produces six specification files that any AI coding tool reads as source of truth, and guards scope during builds.",
4
+ "version": "1.4.1",
5
+ "author": {
6
+ "name": "CoFoundr",
7
+ "url": "https://cofoundr.ai"
8
+ },
9
+ "homepage": "https://cofoundr.ai",
10
+ "license": "SEE LICENSE",
11
+ "keywords": [
12
+ "spec-driven",
13
+ "prd",
14
+ "founders",
15
+ "requirements",
16
+ "planning"
17
+ ]
18
+ }
@@ -0,0 +1,227 @@
1
+ # CoFoundr Starter Kit
2
+
3
+ A spec-driven workflow that turns vague product ideas into buildable specifications. Plan before you build.
4
+
5
+ **Tool-agnostic.** Runs in Claude Code, Cursor, Windsurf, Cline, Codex CLI, Aider, GitHub Copilot, Gemini CLI, and any other agent that reads `AGENTS.md` (Junie, Jules, Goose, opencode, Zed, Warp, Devin, Amp, Augment, Kilo, Roo, …).
6
+
7
+ ## What It Does
8
+
9
+ CoFoundr walks you through a structured planning conversation and produces a complete spec bundle your AI coding tools can read as source of truth. Every phase of your MVP ends up meticulously mapped: plain-English spec, technical spec, UI spec with real copy, research notes, tests with acceptance criteria, and a decisions log.
10
+
11
+ The six core files: `product.md`, `prd.md`, `tech.md`, `rules.md`, `phases.md`, `agents.md`.
12
+
13
+ After install, `.cofoundr/` becomes the single source of truth — the workspace where every coding agent reads the constitution, memory, specs, and workflow commands. `AGENTS.md` at the repo root teaches every modern AI tool how to use it.
14
+
15
+ Optionally, `/cofoundr:translate` generates `docs/plan-for-humans.md` — a plain-English companion to the spec, for sharing with a co-founder or advisor who doesn't need to read the technical files.
16
+
17
+ **New in v1.4.0:** works on projects you've already started. `/cofoundr:onboard` reads an existing codebase and back-fills the spec from what's there. `/cofoundr:document` keeps living docs in sync with the code. `/cofoundr:audit` finds drift, dead surfaces, security smells, and constitution violations.
18
+
19
+ ## Installation
20
+
21
+ ### Option A — Universal CLI (any AI tool) — recommended
22
+
23
+ ```bash
24
+ # In any project directory:
25
+ npx @cofoundr/init init
26
+ ```
27
+
28
+ The CLI detects which AI tools your project uses, asks which ones to set up shims for, and drops a `.cofoundr/` workspace plus an `AGENTS.md` at the repo root. Re-run any time with `npx @cofoundr/init sync`.
29
+
30
+ Existing codebase? Map it first:
31
+
32
+ ```bash
33
+ npx @cofoundr/init onboard
34
+ ```
35
+
36
+ Then open the project in your AI tool and run `/cofoundr:onboard` for the deep pass (route extraction, schema parsing, doc backfill).
37
+
38
+ See [`packages/cofoundr-cli/README.md`](../packages/cofoundr-cli/README.md) for the full CLI reference.
39
+
40
+ ### Option B — Claude Desktop (Cowork tab)
41
+
42
+ 1. Go to Cowork > Customize > Plugins
43
+ 2. Upload or install the plugin
44
+
45
+ ### Option C — Claude Code (terminal, direct plugin)
46
+
47
+ ```bash
48
+ claude plugin install ./cofoundr-system
49
+ ```
50
+
51
+ Or for a single session:
52
+
53
+ ```bash
54
+ claude --plugin-dir ./cofoundr-system
55
+ ```
56
+
57
+ ### Option D — Without installing
58
+
59
+ Copy the contents of the `commands/` and `templates/` folders into your project, and reference the instructions directly when prompting your AI tool.
60
+
61
+ ## Commands
62
+
63
+ Everything is command-based — the plugin never fires unless you ask it to. This keeps it out of your way during research, brainstorming, or general work.
64
+
65
+ | Command | When to use it | What it does |
66
+ |---------|---------------|-------------|
67
+ | `/cofoundr:resume` | **Start of every session** | Reads active feature docs and phases.md, presents a recap of where things stand, and asks for confirmation before any code is written |
68
+ | `/cofoundr:quick-brief` | First time trying the plugin | Fast path: 4 questions, produces `product.md` only. See the shape of the output before committing to the full pipeline |
69
+ | `/cofoundr:new-project` | Starting a new product | Full pipeline: planning conversation, research, six-file spec generation, CLAUDE.md setup |
70
+ | `/cofoundr:plan` | Want just the planning conversation | Standalone planning conversation. Asks questions until a 15-item sufficiency rubric is satisfied — no hard question minimum, no release token |
71
+ | `/cofoundr:next` | After `/cofoundr:new-project` | **Planning driver.** Reads the filesystem and does the next unblocked planning step. Accepts targeting: `phase [N]`, `brand`, `consolidate`, `research [topic]`. Runs as many times as needed — does work only if work is needed |
72
+ | `/cofoundr:new-feature` | Adding to an existing project | Scope-check, 4-question planning conversation, living feature doc in `docs/features/`, shows a diff of spec-file changes before writing them |
73
+ | `/cofoundr:scope-guard` | "Should we add this?" | Checks a proposed change against product.md non-goals and prd.md scope. Flags conflicts, offers to log ideas |
74
+ | `/cofoundr:rules-check` | After a build session | Audits current work against rules.md Always/Ask First/Never tiers. Reports violations and suggests fixes |
75
+ | `/cofoundr:review` | Before starting a build | 22-check quality audit of all spec files, CLAUDE.md, ACTIVE.md, and milestone structure |
76
+ | `/cofoundr:translate` | After specs exist | Generates `docs/plan-for-humans.md` — a plain-English companion to the six files. Good for sharing or re-reading |
77
+ | `/cofoundr:constitution` | After planning, or any time | Establishes or amends the project's binding rules. SDD-canonical alias to the rules pass of `/cofoundr:plan` |
78
+ | `/cofoundr:specify` | Any time you need a formal spec | SDD-canonical alias. Routes to `/cofoundr:new-project`, `/cofoundr:new-feature`, or the spec-phase agent |
79
+ | `/cofoundr:tasks` | After a phase or feature has a spec | Breaks the active phase or feature into ordered, copy-paste-ready tasks with `<verify>` checks |
80
+ | `/cofoundr:implement` | After tasks exist | Executes the next task with HALT enforcement and Session Notes |
81
+ | `/cofoundr:onboard` | Existing codebase, no spec | Maps the codebase, drafts a back-filled spec from what's already there, surfaces gaps. The "already mid-project?" command |
82
+ | `/cofoundr:document` | Anytime docs go stale | Generates or refreshes living documentation from the code itself |
83
+ | `/cofoundr:audit` | Before a release, after a refactor | Drift detection, dead surfaces, security smells, constitution violations |
84
+
85
+ ### Templates
86
+
87
+ The `templates/` folder contains scaffolds for all spec files with inline `<!-- HOW-TO: -->` comments explaining each section. These are reference examples — the commands use them automatically.
88
+
89
+ ## Quick Start
90
+
91
+ ### Fast path — 5 minutes
92
+
93
+ 1. Install the plugin
94
+ 2. Open a workspace folder for your project
95
+ 3. Run `/cofoundr:quick-brief`
96
+ 4. Answer the 4 questions
97
+ 5. `product.md` appears. Decide whether to continue.
98
+
99
+ ### Full path — 20–30 minutes
100
+
101
+ 1. Install the plugin
102
+ 2. Open a workspace folder for your project
103
+ 3. Run `/cofoundr:new-project`
104
+ 4. Have the planning conversation — the AI asks questions until it has enough detail to build a spec that leaves no guesswork
105
+ 5. Say `go` when the summary looks right
106
+ 6. Six spec files appear in `/docs`, plus a `CLAUDE.md` in the project root
107
+ 7. Optionally run `/cofoundr:translate` for a plain-English companion
108
+ 8. Every future Claude Code session in this folder automatically loads your spec — rules enforced, stack known, phases visible
109
+
110
+ ### Recommended workflow
111
+
112
+ ```
113
+ /cofoundr:quick-brief # (optional) fast first pass — 4 Qs, 1 file
114
+ /cofoundr:new-project # Full pipeline — planning + specs + CLAUDE.md
115
+ /cofoundr:next # Spec the next phase (6-file pack per phase). Run until every phase has a pack
116
+ /cofoundr:next consolidate # After all phases — produces data model, API contracts, and other build-ready artifacts
117
+ /cofoundr:review # Audit the specs before building
118
+ /cofoundr:translate # (optional) plain-English companion
119
+
120
+ # Every session thereafter:
121
+ /cofoundr:resume # Always run first — surfaces where things stand, waits for confirmation
122
+
123
+ ... build Phase 0, Phase 1 ...
124
+
125
+ /cofoundr:rules-check # Check for violations after a session
126
+ /cofoundr:scope-guard # Before adding anything mid-build
127
+ /cofoundr:new-feature # When you're sure the addition belongs
128
+ ```
129
+
130
+ ## What You Get
131
+
132
+ After running `/cofoundr:new-project` then looping `/cofoundr:next` until every phase has a pack:
133
+
134
+ - **Six top-level docs** (`product.md`, `prd.md`, `tech.md`, `rules.md`, `phases.md`, `agents.md`)
135
+ - **`brand.md`** — visual and voice spec
136
+ - **Per-phase spec packs** — 6 files each (README, spec, ui-spec, research, tests, decisions)
137
+ - **Roadmap-level consolidation artifacts** — data-model ERD, Zod API contracts, integrations catalog, fixtures, sequence diagrams, migration dependencies
138
+ - **CLAUDE.md** at the project root that auto-loads your spec at every session
139
+
140
+ ## Phase Spec Packs
141
+
142
+ After `/cofoundr:new-project` produces the six top-level docs, `/cofoundr:next` generates a detailed spec pack for each phase. Every pack is six files under `docs/phases/<slug>/`:
143
+
144
+ - `README.md` — plain-English spec (the gut-check)
145
+ - `spec.md` — technical spec (the AI build manual)
146
+ - `ui-spec.md` — screens, states, copy, brand tokens
147
+ - `research.md` — competitor findings, prior art, API quirks
148
+ - `tests.md` — happy path, edge cases, acceptance criteria
149
+ - `decisions.md` — append-only decision log for the phase
150
+
151
+ The driver reads your project filesystem every run — no state file — and picks the next unspec'd phase. Target a specific phase with `/cofoundr:next phase 3`, or a different artifact with `/cofoundr:next brand` or `/cofoundr:next research [topic]`. The driver dispatches internally to subagents; you don't invoke them directly.
152
+
153
+ ## Consolidation Artifacts
154
+
155
+ Once every phase has a spec pack, `/cofoundr:next` (or `/cofoundr:next consolidate`) produces roadmap-level artifacts that make the bundle genuinely build-ready:
156
+
157
+ - **`data-model.md`** — ERD cross-reference of every table across every phase, with permissions matrix
158
+ - **`api-contracts.md`** — Zod schemas for every endpoint (request, response, errors)
159
+ - **`integrations.json`** — machine-readable catalog of every third-party service and its env vars
160
+ - **`fixtures.md`** — seed data spec for every fixture referenced in tests
161
+ - **`sequence-diagrams.md`** — Mermaid diagrams for the 3-5 most complex cross-component flows
162
+ - **`migration-dependencies.md`** — dependency graph of SQL migrations across phases
163
+
164
+ Without these, an AI agent building the app will re-interrogate for 15-30 implementation details per phase. With them, the bundle answers its own questions.
165
+
166
+ ## Persona and Tone
167
+
168
+ All commands that talk to you use the same stance:
169
+
170
+ - **Firm on detail, kind in tone.** Vague answers produce vague specs. The plugin will ask follow-ups — but never lecture, never test, never jargon-without-translation.
171
+ - **Research-backed pushback only.** If the AI wants to correct a claim about a library, API, or market fact, it verifies with up-to-date sources (Context7, WebSearch) and shares the link. It does not correct from memory.
172
+ - **Humble about what it doesn't know.** Training data goes stale. When your information is more recent, the AI defers.
173
+ - **No pushback on preference or product-judgement calls.** The AI is not an investor.
174
+
175
+ ## Pair with the Launch Kit
176
+
177
+ The Starter Kit produces the spec. The [CoFoundr Launch Kit](https://cofoundr.ai/kit) takes that spec and gives you the pre-wired infrastructure (Next.js + Supabase + Stripe + Resend, auth, admin, multi-tenant teams) to build it on. The two are designed to compose: the Starter Kit's output feeds the Launch Kit's `/kit:new-feature` and `/kit:migrate` commands directly.
178
+
179
+ If the project is built on the CoFoundr Launch Kit, the plugin auto-detects it and emits kit-aware specs (references to `enhanceRouteHandler`, kit migration helpers, shadcn/ui components). If not, the specs stay stack-agnostic and follow whatever `tech.md` declares.
180
+
181
+ ## Plugin Structure
182
+
183
+ ```
184
+ cofoundr-system/
185
+ ├── .claude-plugin/
186
+ │ └── plugin.json # Plugin manifest (name, version, author)
187
+ ├── commands/
188
+ │ ├── plan.md # /cofoundr:plan
189
+ │ ├── quick-brief.md # /cofoundr:quick-brief
190
+ │ ├── new-project.md # /cofoundr:new-project
191
+ │ ├── next.md # /cofoundr:next — planning driver
192
+ │ ├── new-feature.md # /cofoundr:new-feature
193
+ │ ├── resume.md # /cofoundr:resume
194
+ │ ├── scope-guard.md # /cofoundr:scope-guard
195
+ │ ├── rules-check.md # /cofoundr:rules-check
196
+ │ ├── review.md # /cofoundr:review
197
+ │ └── translate.md # /cofoundr:translate
198
+ ├── agents/ # Subagents dispatched by /cofoundr:next
199
+ │ ├── launch-kit-detect.md # Detects CoFoundr Launch Kit posture
200
+ │ ├── spec-phase.md # Produces the 6-file phase spec pack
201
+ │ ├── brand-intake.md # Produces docs/brand.md
202
+ │ └── consolidate.md # Produces roadmap-level consolidation artifacts
203
+ ├── templates/ # Scaffolds with inline HOW-TO comments
204
+ │ ├── product.md
205
+ │ ├── prd.md
206
+ │ ├── tech.md
207
+ │ ├── rules.md
208
+ │ ├── phases.md
209
+ │ ├── agents.md
210
+ │ ├── feature.md
211
+ │ ├── brand.md
212
+ │ └── phases/
213
+ │ └── phase-template/ # 6-file per-phase pack scaffold
214
+ │ ├── README.md
215
+ │ ├── spec.md
216
+ │ ├── ui-spec.md
217
+ │ ├── research.md
218
+ │ ├── tests.md
219
+ │ └── decisions.md
220
+ ├── CHANGELOG.md
221
+ ├── LICENSE
222
+ └── README.md # This file
223
+ ```
224
+
225
+ ## Version
226
+
227
+ Current version: **1.3.0** — see [CHANGELOG.md](CHANGELOG.md) for release history.
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: brand-intake
3
+ description: Produces docs/brand.md by reading product.md voice, prd.md surfaces, tech.md stack, and the launch-kit-detect verdict, then asking the founder 5-6 targeted questions. Emits a brand spec that ui-spec.md files across phases can reference. Spawn whenever brand.md is missing and the six top-level docs exist. Brief with the project root and the launch-kit verdict.
4
+ tools: Read, Write, Edit, Glob, AskUserQuestion
5
+ ---
6
+
7
+ # brand-intake
8
+
9
+ You produce the single brand.md that every downstream ui-spec.md references. Your output must be concrete enough that an AI coding agent can build a branded UI from it without inventing colors, fonts, or voice rules. You do not design; you capture what the founder has already decided (or get them to decide what they have not).
10
+
11
+ ## Inputs you expect
12
+
13
+ - `project_root` — absolute path to the project directory with docs/.
14
+ - `launch_kit_verdict` — one of `launch-kit`, `other-stack`, `undecided`. Produced by the `launch-kit-detect` subagent. If missing, abort and ask the caller to run detection first.
15
+
16
+ ## What you read before asking anything
17
+
18
+ 1. `docs/product.md` — voice and positioning live here. Capture the TL;DR and the "Who is it for" paragraph verbatim. These frame every question.
19
+ 2. `docs/prd.md` — list of P0 surfaces tells you which components will need brand tokens (landing, dashboard, pricing, onboarding, etc.).
20
+ 3. `docs/tech.md` — Stack table. If Tailwind is named, your output includes a Tailwind theme extension snippet. If CSS-in-JS, different output format.
21
+ 4. `docs/brand.md` — if present, you are regenerating or amending; read it first and ask what the founder wants to change rather than overwriting blindly.
22
+
23
+ ## The five-to-six questions
24
+
25
+ Ask one at a time. Do not batch. Skip any question the existing docs already answer clearly (rare; usually Q3 is the only one the docs hint at).
26
+
27
+ **Q1. Existing brand or greenfield?**
28
+ *"Do you already have a logo, colors, or fonts you want this product to use, or are we starting from scratch?"*
29
+
30
+ If existing: ask for asset links or hex codes. Store them and skip Q2 for colors if they gave a palette.
31
+ If greenfield: proceed to Q2.
32
+
33
+ **Q2. Accent color.**
34
+ *"What is the one color a visitor should instantly associate with your product? Paste a hex if you have one, or describe the feeling (e.g. 'confident green, not electric green'). I'll pick the exact shade and the neutrals around it."*
35
+
36
+ Accept either hex or description. If description, propose three hex options and let them pick.
37
+
38
+ **Q3. Voice.**
39
+ *"Pick one: is your product's voice plain and direct (Basecamp), technical and precise (Linear), playful and human (Duolingo), or serious and authoritative (Bloomberg)? Or describe your own in a sentence."*
40
+
41
+ Use their answer to generate do/don't copy examples in the output.
42
+
43
+ **Q4. Type system.**
44
+
45
+ Ask the plain-language version first, not the font names. A non-technical founder rarely has visual memory of specific fonts:
46
+
47
+ *"Pick the feel of your type. Four options:*
48
+
49
+ *- Clean and modern (like Substack or Vercel). Neutral, fast to read, not showing off.*
50
+ *- Editorial and traditional (like The Atlantic). Serious, long-form-friendly.*
51
+ *- Bold and punchy (like a startup headline). Strong, condensed, high contrast.*
52
+ *- Warm and friendly (like a DTC brand site). Rounded, approachable, human.*
53
+
54
+ *Or, if you already have a specific font in mind, name it and I'll verify it's available."*
55
+
56
+ Once they choose one of the four:
57
+
58
+ - "Clean and modern" → default to Inter (Google Fonts, free).
59
+ - "Editorial and traditional" → default to Source Serif 4 (Google Fonts, free).
60
+ - "Bold and punchy" → default to Archivo (Google Fonts, free).
61
+ - "Warm and friendly" → default to Satoshi via Fontshare (free) or DM Sans (Google Fonts) as the Google-Fonts-only fallback.
62
+
63
+ Say the chosen default back to them for confirmation: *"I'll use {font} — it's the modern, clean choice {competitor} uses. If you've seen a font you prefer in a similar product, tell me the name and I'll switch."*
64
+
65
+ If they named a specific font, verify availability on Google Fonts or Fontshare. If unavailable, flag and propose the closest free alternative.
66
+
67
+ **Q5. Reference products.**
68
+ *"Name 2-3 existing products whose look and feel you want yours to sit next to. Not to copy — to signal the category. For example: 'Stripe, Vercel, Linear' signals polished modern B2B. 'Notion, Figma, Loom' signals warm prosumer. What are your three?"*
69
+
70
+ Use this to calibrate density, whitespace, radii, and shadow style.
71
+
72
+ **Q6. Only if greenfield with no logo:**
73
+ *"Two options for your logo right now:*
74
+
75
+ *- **Just the product name in your chosen font** (what most MVPs launch with). Fast, clean, no design work. Linear did this for years.*
76
+ *- **A proper designed logo** (commission a designer later, or use a tool like Looka). Slower, and often not worth it until you have paying customers.*
77
+
78
+ *Which do you want for now? You can always upgrade later."*
79
+
80
+ Capture their preference. Do not generate a logo yourself; if they want a proper designed one, note in the output that a logo is a pending asset.
81
+
82
+ ## Output: docs/brand.md
83
+
84
+ Use `templates/brand.md` as the skeleton. Fill every section that the questions answered. Leave `<!-- GAP: ... -->` markers only where the founder explicitly deferred (e.g. "logo TBD").
85
+
86
+ The file must include:
87
+
88
+ - **TL;DR.** ≤60 words naming the voice in one phrase, the accent color by name, the type system by name, and the three reference products.
89
+ - **Voice.** A paragraph on tone, followed by 3 do/don't copy examples specific to this product's domain.
90
+ - **Palette.** Accent primary (hex), accent secondary or hover state (hex), three neutrals (50/500/900 tints), success/warning/error semantic colors. Every color must be a hex value.
91
+ - **Type.** Heading family + weight + scale (display/h1/h2/h3/h4), body family + weight + default size, mono family if the product is developer-facing.
92
+ - **Spacing.** The scale the kit uses (4px grid, Tailwind-compatible steps 1-24).
93
+ - **Imagery.** One paragraph: photography, illustration, or both? Style descriptors. If the product needs AI-generated creative (AdPilot-style), note the prompt anchors.
94
+ - **Reference material.** The three named products with a one-line description of what each contributes to the feel.
95
+ - **Copy rules.** 3 patterns to use, 3 patterns to avoid. Product-specific.
96
+ - **Kit integration** (only if `launch_kit_verdict` is `launch-kit`): a CSS custom properties block that pastes into the kit's `globals.css` and a Tailwind theme extension snippet that extends the kit's `tailwind.config.ts`. Both must be copy-pasteable and complete.
97
+
98
+ ## Update CLAUDE.md
99
+
100
+ After writing brand.md, read `CLAUDE.md` at the project root. If it does not already `@`-import `docs/brand.md`, add the import. Position: after `@docs/agents.md`, before `@docs/ACTIVE.md`.
101
+
102
+ ## Gap summary
103
+
104
+ After writing, report to the caller:
105
+
106
+ ```
107
+ docs/brand.md written.
108
+
109
+ Voice: [one-line summary]
110
+ Accent: [hex + name]
111
+ Type: [heading family / body family]
112
+ Reference: [three products]
113
+ Logo: [present | pending — noted in brand.md]
114
+
115
+ Kit integration: [yes — globals.css and tailwind.config.ts snippets included | n/a — not a Launch Kit project]
116
+
117
+ CLAUDE.md: [updated with @docs/brand.md | already imported]
118
+
119
+ Any downstream phase packs with ui-spec.md GAP markers for brand tokens can now be regenerated via /cofoundr:next phase [N].
120
+ ```
121
+
122
+ ## What you must not do
123
+
124
+ - Do not design. Do not invent colors, fonts, or voice the founder did not confirm.
125
+ - Do not output a logo. If one is missing, flag and move on.
126
+ - Do not rewrite product.md voice. You draw from it; you do not amend it.
127
+ - Do not ask more than six questions. If the founder needs more structure than this covers, they need a full brand sprint, which is not this command's job.
128
+ - Do not write to `docs/phases/*` or touch ui-spec.md files directly. Those regenerate on their own next run.
129
+ - Do not overwrite an existing `docs/brand.md` without asking first. If it exists, ask what to amend.