Agent docs

App templates

One runnable skeleton per app shape and which to pick: react-router-ssr, vite-spa, next.

Nothing in this folder is a real app. Each subfolder is a runnable skeleton already wired to the kit, the theme, and the deploy path, distilled from an app that shipped. Pick the one whose shape matches what you are building, copy it out, and follow its TEMPLATE.md.

FolderShapeDistilled fromPick it when
react-router-ssr/React Router 7 framework mode, SSR, node server, Cloud Runspeedwayloaders and actions must run on the server (a database, an LLM call, file parsing) and the app is one deployable
vite-spa/Vite + React single-page app, React Router library mode, talks to a separate API over /apiwalmart-mvp frontend/the backend already exists or lives in another language, and the browser only needs a static bundle
next/Next 16 app routerthe playgroundthe app wants Next specifically (server components, the playground's toolchain); neither customer app uses this shape today

All three carry the same non-negotiables: the kit as the only component source, the theme attribute set before paint, the bundler contract from packages/ui/README.md Install step 4, a build-info surface so a deploy is verifiable without credentials (docs/app-patterns/03-deploying-on-gcp.md), and a TEMPLATE.md whose first block is the copy-out checklist and whose second block is where the design rules live before you build a screen.

Inside this repo the templates depend on @versable-git/ui as workspace:* so they typecheck and run against the live kit. A copied-out app swaps that for the registry pin; the checklist says how. The templates never depend on @versable-git/toolkit; a new app adds it when a real call site appears.

docs/app-patterns/05-starting-a-new-app.md covers what happens after the app runs and before it has any screens.

@versable-git/ui · reference, canon, and method, read in place