Spawning a prototype

How to start a new prototype — conversationally or via slash command

Open Claude Code at the repo root and say something like:

  • "Start a new prototype called expense-tracker."
  • "I want to prototype a tool for tracking quarterly client check-ins. Let's call it client-checkins."
  • "Build a prototype from this PRD" — then paste your PRD.

The reva-new-prototype skill auto-fires when it recognizes those phrases. It will:

  1. Ask a few discovery questions first (to align on purpose, constraints, success criteria).
  2. Ask for the prototype name if you didn't give one.
  3. Run the spawn script (about 30 seconds — mostly bun install).
  4. Tell you the branch name and port.
  5. Hand you back to vibe-code mode for the actual build.

The slash command way

If you want to be explicit, type:

/reva-new-prototype expense-tracker

Same underlying flow, just deterministic.

Naming rules

The prototype name must be:

  • kebab-case — lowercase letters, digits, hyphens. Start with a letter.
  • Unique — not already a directory under prototypes/.
  • Not reserved — can't be _template or start with underscore.

Examples that work: expense-tracker, portfolio-rebalancer, client-checkins-v2, meeting-prep.

Examples that don't: ExpenseTracker (uppercase), expense_tracker (underscore), expense tracker (space), _template (reserved).

Flags (advanced)

Most users don't need these. They're for developer workflows:

  • --worktree — spawn the prototype into a git worktree under .worktrees/prototype-<name>/ instead of the main checkout. Useful when you want a clean filesystem separation; less convenient for Claude Code preview discovery (see What's in the box for the trade-off).
  • --force-branch — skip the "must be on main" pre-flight check. Use when you intentionally want to spawn a prototype off a different branch.
bun run new:prototype expense-tracker --worktree --force-branch

What if I'm on a different branch with uncommitted changes?

The script bails. It will not stash, switch, or discard your work. Commit or stash first, then re-run.

Spawning a prototype creates a prototype/<name> branch off main. The whole prototype lives on that branch — when reviewers want to see your work, they checkout that branch.

On this page