What's in the box
Stack, app shell, seed pages, and what's intentionally excluded
Every spawned prototype boots with this baseline. You don't need to ask Claude to build any of it.
Stack
| Layer | Tech |
|---|---|
| Bundler | Vite 7 |
| UI framework | React 19 |
| Language | TypeScript ^6 (strict via @reva/config) |
| Styling | Tailwind CSS v4 |
| Component library | @reva/ui (workspace) |
| Icons | @phosphor-icons/react/ssr |
| Routing | React Router 7 |
| Animation | motion (motion/react) |
App shell
<SidebarProvider>
<AppSidebar /> ← logo, 2 nav items, theme toggle in footer
<SidebarInset>
<Outlet /> ← page content renders here
</SidebarInset>
</SidebarProvider>The sidebar uses Reva-branded chrome and a single <SidebarTrigger> inside the <SidebarHeader> next to the logo. The footer holds the theme toggle (click or press D from anywhere to toggle).
Seed pages
Three routes are pre-wired so Claude has working examples to mutate, not a blank canvas:
/— Households list (table + status badges + currency formatting)/households/:id— Household detail (back link, header, member card)/settings— Settings stub (placeholder, ready to be replaced)
The data lives in src/lib/data.ts — 5 sample households + members, Reva-flavored. When you start prototyping for real, replace the data shape with whatever your prototype needs.
Intentionally excluded from baseline
The template stays minimal. These are NOT included by default — add per-prototype only if your prototype needs them:
- No backend, no API client, no database
- No
@tanstack/react-query, noaxios, nozod, no@reva/api - No mock-API layer (no MSW, no faker)
- No test runner (no vitest, no
bun test) - No auth shim, no session management
If your prototype genuinely needs (e.g.) a chart library or a date picker, ask Claude to add it. The template is the floor, not the ceiling.
Files you'll touch
src/
├─ pages/ ← rip these and replace with your prototype's pages
├─ components/
│ ├─ app-sidebar.tsx ← adapt nav items to your prototype
│ └─ theme-toggle.tsx ← rarely changes
├─ lib/
│ └─ data.ts ← replace with your prototype's data shape
├─ router.tsx ← update routes to match new pages
├─ app-layout.tsx ← rarely changes
├─ main.tsx ← rarely changes
└─ globals.css ← rarely changesAGENTS.md and README.md are also copied into your prototype — Claude reads AGENTS.md to know how to behave inside the prototype.