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

LayerTech
BundlerVite 7
UI frameworkReact 19
LanguageTypeScript ^6 (strict via @reva/config)
StylingTailwind CSS v4
Component library@reva/ui (workspace)
Icons@phosphor-icons/react/ssr
RoutingReact Router 7
Animationmotion (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/:idHousehold detail (back link, header, member card)
  • /settingsSettings 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, no axios, no zod, 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 changes

AGENTS.md and README.md are also copied into your prototype — Claude reads AGENTS.md to know how to behave inside the prototype.

On this page