Prototyping with Reva
Vibe-code product ideas in Claude Code with Reva primitives, on-brand by default
Before your first prototype
Nothing to install — the prototyping skills ship with the repo. See Setup for optional power tools.
What this is
A workflow for spinning up vibe-coded product prototypes inside the Reva monorepo. Anyone can use it to explore product ideas without writing code; developers can use it to mock up production candidates with house-quality design from the start. Every prototype is a real Vite app using the Reva design system.
Quickstart — golden path
- Open Claude Code at the repo root (
reva-apps). - Say what you want to build: "Start a new prototype called expense-tracker. I want to see a list of monthly expenses with totals."
- Claude will ask you a few questions to align on what success looks like.
- Claude spawns the prototype, starts the dev server, and shows you the preview button.
- Iterate by talking — "Group expenses by category", "Add a chart at the top", "Make this work on mobile". Claude rebuilds with Reva primitives.
That's it. No commands to memorize. No git operations to learn.
Under the hood — architecture overview
A prototype is a workspace package at prototypes/<name>/ consuming @reva/ui via workspace:*. It's a standard Vite + React 19 SPA with React Router. The reva-new-prototype skill calls scripts/new-prototype.ts, which:
- Validates the prototype name (kebab-case, not taken).
- Pre-flights git state (clean tree, on
mainunless--force-branch). - Creates a
prototype/<name>branch offmain. - Copies
prototypes/_template/→prototypes/<name>/. - Allocates a port (base
5200, +1 per existing prototype) and writes it intopackage.jsondevscript. - Registers the prototype in
.claude/launch.jsonso Claude Code preview auto-discovers it. - Adds a root
package.jsondev:prototype-<name>convenience script. - Runs
bun install.
The Reva-built reva-design-system-adherence skill auto-fires across the whole monorepo (not just prototypes) so every UI generation is on-brand by default.
Sharing prototypes today: branch checkout + bun install + bun run dev:prototype-<name>. Sharing tomorrow: see Sharing prototypes.
Read next
- Setup — optional power tools + verifying skills
- Spawning a prototype — the conversational flow + slash command
- What's in the box — stack, shell, what's pre-wired
- Design system constraints — on-brand rules the agent enforces
- Proposing new components — when the agent should extend the library
- Design rigor — auto-fire skills + polish commands
- Sharing prototypes — how reviewers see your prototype