@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.
- package/README.md +140 -0
- package/bin/cofoundr.mjs +10 -0
- package/content/.claude-plugin/plugin.json +18 -0
- package/content/README.md +227 -0
- package/content/agents/brand-intake.md +129 -0
- package/content/agents/consolidate.md +154 -0
- package/content/agents/launch-kit-detect.md +109 -0
- package/content/agents/spec-phase.md +131 -0
- package/content/commands/audit.md +137 -0
- package/content/commands/constitution.md +107 -0
- package/content/commands/document.md +155 -0
- package/content/commands/implement.md +108 -0
- package/content/commands/new-feature.md +188 -0
- package/content/commands/new-project.md +243 -0
- package/content/commands/next.md +129 -0
- package/content/commands/onboard.md +176 -0
- package/content/commands/plan.md +138 -0
- package/content/commands/quick-brief.md +95 -0
- package/content/commands/resume.md +99 -0
- package/content/commands/review.md +76 -0
- package/content/commands/rules-check.md +54 -0
- package/content/commands/scope-guard.md +33 -0
- package/content/commands/setup-skills.md +109 -0
- package/content/commands/specify.md +53 -0
- package/content/commands/tasks.md +91 -0
- package/content/commands/translate.md +197 -0
- package/content/manifest.json +59 -0
- package/content/scaffold/.cofoundr/README.md +67 -0
- package/content/scaffold/.cofoundr/constitution.md.tmpl +54 -0
- package/content/scaffold/.cofoundr/manifest.json.tmpl +15 -0
- package/content/scaffold/.cofoundr/memory/decisions.md.tmpl +19 -0
- package/content/scaffold/.cofoundr/memory/knowledge.md.tmpl +23 -0
- package/content/scaffold/.cofoundr/memory/project.md.tmpl +27 -0
- package/content/scaffold/.cofoundr/specs/README.md +38 -0
- package/content/scaffold/AGENTS.md.tmpl +74 -0
- package/content/templates/agents.md +144 -0
- package/content/templates/brand.md +180 -0
- package/content/templates/feature.md +70 -0
- package/content/templates/phases/phase-template/README.md +65 -0
- package/content/templates/phases/phase-template/decisions.md +52 -0
- package/content/templates/phases/phase-template/research.md +59 -0
- package/content/templates/phases/phase-template/spec.md +90 -0
- package/content/templates/phases/phase-template/tests.md +65 -0
- package/content/templates/phases/phase-template/ui-spec.md +75 -0
- package/content/templates/phases.md +234 -0
- package/content/templates/prd.md +89 -0
- package/content/templates/product.md +73 -0
- package/content/templates/rules.md +99 -0
- package/content/templates/tech.md +129 -0
- package/package.json +39 -0
- package/src/adapters/aider.mjs +35 -0
- package/src/adapters/claude-code.mjs +114 -0
- package/src/adapters/cline.mjs +46 -0
- package/src/adapters/codex.mjs +29 -0
- package/src/adapters/copilot.mjs +54 -0
- package/src/adapters/cursor.mjs +69 -0
- package/src/adapters/gemini.mjs +41 -0
- package/src/adapters/index.mjs +14 -0
- package/src/adapters/windsurf.mjs +69 -0
- package/src/cli.mjs +124 -0
- package/src/commands/doctor.mjs +90 -0
- package/src/commands/init.mjs +190 -0
- package/src/commands/list.mjs +28 -0
- package/src/commands/onboard.mjs +130 -0
- package/src/commands/remove.mjs +89 -0
- package/src/commands/sync.mjs +81 -0
- package/src/core/detect.mjs +121 -0
- package/src/core/fs.mjs +42 -0
- package/src/core/license.mjs +170 -0
- package/src/core/log.mjs +32 -0
- package/src/core/prompts.mjs +62 -0
- package/src/core/scaffold.mjs +179 -0
- package/src/core/source.mjs +54 -0
- 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.
|
package/bin/cofoundr.mjs
ADDED
|
@@ -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.
|