/** * `slowcook init mock --shape vite` — scaffold a Vite/React SPA mock. * * Sibling of the Next.js scaffolder (`mock.ts`). The Vite shape is the * preferred default for new consumers as of sc#82 — solves the focus- * loss / hydration-mismatch / `'use client'`-everywhere class of bugs * that the Next.js shape inherits from production. * * Layout produced: * * mock/ * ├── package.json vite + react + react-router-dom + @slowcook-ai/mock-runtime * ├── vite.config.ts port 3100; @/ → src/ alias * ├── tsconfig.json ESNext + bundler resolution + jsx react-jsx * ├── index.html #root mount * ├── .gitignore node_modules, dist * ├── README.md run instructions + how vibe extends the router * └── src/ * ├── main.tsx StrictMode + BrowserRouter + ScenarioRegistryProvider * ├── App.tsx — vibe appends new screen routes here * ├── design-system/ ← `slowcook brand` populates this; seeded minimal here * │ ├── tokens.ts * │ ├── css.ts * │ └── index.ts * ├── lib/ * │ └── scenario-registry.ts * └── apps/.gitkeep * * Plus, at the repo root: * .brewing/mock.yaml downstream agents read this to know the shape * * The design-system files seeded here are MINIMAL — a neutral palette, * just enough so `npm run dev` renders something. The full design-system * (logo, full primitives, ds-* utility CSS) is the output of the * `slowcook brand` agent (Phase 4 of sc#82); it runs once per project * and overwrites these seed files. */ export interface MockViteInitArgs { cwd: string; force: boolean; dryRun: boolean; /** Pinned version of @slowcook-ai/mock-runtime to depend on. */ runtimeVersion: string; } interface FileToWrite { path: string; contents: string; skipIfExists?: boolean; } export declare function planMockViteFiles(args: MockViteInitArgs): FileToWrite[]; export declare function applyMockViteFiles(args: MockViteInitArgs, files: FileToWrite[]): void; export declare function initMockVite(argv: string[], cliVersion: string): Promise; export {}; //# sourceMappingURL=mock-vite.d.ts.map