CLI Reference
Project setup
intent start, scope, templates, init, sync, and setup — creating a project and connecting your repo to it.
intent start
intent startGuided flow for a brand-new idea — problem statement, discovery questions, a synthesized pitch, and project creation. Optionally publishes to the public Explore page and hands off into intent scope. Full walkthrough: Creating a project.
intent scope [projectId]
intent scope
intent scope <projectId>Turns a pitch into a scoped story map: user journey, personas, MVP scope, and constraints in, a full blueprint (hypothesis, personas, stories, build order) out. Generates a sync token, writes .intent/config.json, and downloads INTENT.md — after this, your directory is connected exactly like a fresh intent init. Full walkthrough: Creating a project.
intent templates [name]
intent templates # list available templates
intent templates saas # preview a specific templateWith no argument, lists every available story map template with its description. With a name, prints the template's activities and step sequence, plus story/activity/persona counts. Errors if the name doesn't match a known template.
intent init [token]
intent initConnects the current directory to an existing story map on intentdocs.com. Interactive: lists your projects, then story maps under the chosen project, validates the token, and writes .intent/config.json + INTENT.md. Also detects your stack and scaffolds ARCHITECTURE.md if missing, and gitignores .intent/. Fails if the directory is already connected.
A legacy intent init <token> form skips the interactive picker and connects directly with a sync token in hand (must start with intent_sync_, pb_sync_, or sc_sync_).
Full breakdown of what gets written: Connecting a repo.
intent sync
intent sync # refresh INTENT.md + local story context files
intent sync --context # regenerate CLAUDE.md / AGENTS.md onlyDefault (no flags): fetches the latest stories and story map markdown, rewrites INTENT.md, and refreshes every existing .intent/stories/<id>.md file with fresh server data — while preserving developer-added sections (Approach, Implementation notes, Relevant files) rather than clobbering them. Warns if local context files exist for stories that were deleted upstream. Logs a sync event.
--context: fetches the rich, fully-assembled context (instructions, scope, memory, examples, tools, guardrails) and writes it to .claude/CLAUDE.md if that directory exists, otherwise CLAUDE.md at the repo root. This is the "regenerate the harness" command — run it any time the project page's Instructions, Guardrails, or other context changes.
intent setup
intent setupConfigures your AI coding tool. Prompts you to choose Claude Code, Cursor, or both.
For Claude Code, it:
- Creates or updates
CLAUDE.mdwith the full project context. - Writes twelve
.claude/commands/intent-*.mdslash command files (intent-next,intent-implement,intent-review,intent-document,intent-test,intent-status,intent-done,intent-sync,intent-propose,intent-context,intent-decide,intent-example) — see MCP Integration for how these get invoked. - Registers the intentdocs MCP server in
~/.claude/settings.json. - Removes any leftover
pb-*slash command files from the pre-rename (productbuilders) era.
For Cursor, it creates or updates .cursorrules with the same integration reference and prints MCP registration instructions (Cursor's MCP config isn't a file this command can safely write to automatically).
Either way, it also scaffolds ARCHITECTURE.md and CONVENTIONS.md if they don't already exist.
Re-run intent setup any time — it's safe on an already-configured project; it updates rather than duplicates.