@slowcook-ai/cli 0.15.0-alpha.4 → 0.16.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +7 -0
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/mock.d.ts +35 -0
- package/dist/commands/init/mock.d.ts.map +1 -0
- package/dist/commands/init/mock.js +492 -0
- package/dist/commands/init/mock.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AA0IA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AA0IA,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H5E"}
|
|
@@ -122,6 +122,13 @@ function applyAction(cwd, a) {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
export async function init(argv, cliVersion) {
|
|
125
|
+
// 0.16.0-α.1 — `slowcook init mock` subcommand. Scaffolds the
|
|
126
|
+
// consumer-side shell of the mock app (per docs/plans/0.16-mock-app.md);
|
|
127
|
+
// imports its runtime from @slowcook-ai/mock-runtime.
|
|
128
|
+
if (argv[0] === "mock") {
|
|
129
|
+
const { initMock } = await import("./mock.js");
|
|
130
|
+
return initMock(argv.slice(1), cliVersion);
|
|
131
|
+
}
|
|
125
132
|
const args = parseArgs(argv);
|
|
126
133
|
const reader = makeReader(args.cwd);
|
|
127
134
|
let owner = args.owner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook init mock` — scaffold the consumer's mock/ directory.
|
|
3
|
+
*
|
|
4
|
+
* Writes the consumer-side shell of the singular mock app: package.json
|
|
5
|
+
* (depending on @slowcook-ai/mock-runtime + next + react), Dockerfile,
|
|
6
|
+
* tsconfig, next.config.js, postcss.config.mjs, layout.tsx, page.tsx,
|
|
7
|
+
* scenario-registry.ts, globals.css (copied from src/app/globals.css if
|
|
8
|
+
* present), .gitignore, README.md.
|
|
9
|
+
*
|
|
10
|
+
* Refuses to overwrite existing files unless --force.
|
|
11
|
+
*
|
|
12
|
+
* After running this once, the consumer commits + pushes; vibe runs
|
|
13
|
+
* after (slowcook 0.16-α.3+) populate `mock/scenarios/` + extend
|
|
14
|
+
* `mock/src/lib/scenario-registry.ts`.
|
|
15
|
+
*/
|
|
16
|
+
interface MockInitArgs {
|
|
17
|
+
cwd: string;
|
|
18
|
+
force: boolean;
|
|
19
|
+
dryRun: boolean;
|
|
20
|
+
/** Pinned version of @slowcook-ai/mock-runtime to depend on. */
|
|
21
|
+
runtimeVersion: string;
|
|
22
|
+
}
|
|
23
|
+
interface FileToWrite {
|
|
24
|
+
path: string;
|
|
25
|
+
contents: string;
|
|
26
|
+
/** When true and file exists, write only on --force. */
|
|
27
|
+
skipIfExists?: boolean;
|
|
28
|
+
/** When set, only write if no existing globals.css to copy from. */
|
|
29
|
+
fallbackOnly?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export declare function parseMockInitArgs(argv: string[], runtimeVersion: string): MockInitArgs;
|
|
32
|
+
export declare function planMockFiles(args: MockInitArgs): FileToWrite[];
|
|
33
|
+
export declare function initMock(argv: string[], cliVersion: string): Promise<void>;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/commands/init/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,YAAY,CAoBtF;AAqCD,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,CAkC/D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDhF"}
|
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook init mock` — scaffold the consumer's mock/ directory.
|
|
3
|
+
*
|
|
4
|
+
* Writes the consumer-side shell of the singular mock app: package.json
|
|
5
|
+
* (depending on @slowcook-ai/mock-runtime + next + react), Dockerfile,
|
|
6
|
+
* tsconfig, next.config.js, postcss.config.mjs, layout.tsx, page.tsx,
|
|
7
|
+
* scenario-registry.ts, globals.css (copied from src/app/globals.css if
|
|
8
|
+
* present), .gitignore, README.md.
|
|
9
|
+
*
|
|
10
|
+
* Refuses to overwrite existing files unless --force.
|
|
11
|
+
*
|
|
12
|
+
* After running this once, the consumer commits + pushes; vibe runs
|
|
13
|
+
* after (slowcook 0.16-α.3+) populate `mock/scenarios/` + extend
|
|
14
|
+
* `mock/src/lib/scenario-registry.ts`.
|
|
15
|
+
*/
|
|
16
|
+
import { writeFileSync, existsSync, mkdirSync, readFileSync } from "node:fs";
|
|
17
|
+
import { dirname, join, relative } from "node:path";
|
|
18
|
+
export function parseMockInitArgs(argv, runtimeVersion) {
|
|
19
|
+
const args = {
|
|
20
|
+
cwd: process.cwd(),
|
|
21
|
+
force: false,
|
|
22
|
+
dryRun: false,
|
|
23
|
+
runtimeVersion,
|
|
24
|
+
};
|
|
25
|
+
for (let i = 0; i < argv.length; i++) {
|
|
26
|
+
const a = argv[i];
|
|
27
|
+
const next = argv[i + 1];
|
|
28
|
+
if (a === "--cwd" && next) {
|
|
29
|
+
args.cwd = next;
|
|
30
|
+
i++;
|
|
31
|
+
}
|
|
32
|
+
else if (a === "--force") {
|
|
33
|
+
args.force = true;
|
|
34
|
+
}
|
|
35
|
+
else if (a === "--dry-run") {
|
|
36
|
+
args.dryRun = true;
|
|
37
|
+
}
|
|
38
|
+
else if (a === "--runtime-version" && next) {
|
|
39
|
+
args.runtimeVersion = next;
|
|
40
|
+
i++;
|
|
41
|
+
}
|
|
42
|
+
else if (a === "--help" || a === "-h") {
|
|
43
|
+
printHelp();
|
|
44
|
+
process.exit(0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return args;
|
|
48
|
+
}
|
|
49
|
+
function printHelp() {
|
|
50
|
+
console.log(`
|
|
51
|
+
slowcook init mock — scaffold the consumer's mock/ directory
|
|
52
|
+
|
|
53
|
+
Writes the consumer-side shell of the singular UI mock app.
|
|
54
|
+
Imports its runtime (Scenario types, hooks, ScenarioPicker,
|
|
55
|
+
ScenarioRegistryProvider) from @slowcook-ai/mock-runtime so updates
|
|
56
|
+
ship via npm bump rather than a re-init.
|
|
57
|
+
|
|
58
|
+
Usage:
|
|
59
|
+
slowcook init mock [--cwd <path>] [--force] [--dry-run]
|
|
60
|
+
|
|
61
|
+
Options:
|
|
62
|
+
--cwd <path> Repo root (default: cwd).
|
|
63
|
+
--force Overwrite existing files.
|
|
64
|
+
--dry-run Print planned actions without writing.
|
|
65
|
+
--runtime-version <v> Pin of @slowcook-ai/mock-runtime (default: matches cli version).
|
|
66
|
+
|
|
67
|
+
What it writes:
|
|
68
|
+
mock/package.json depends on @slowcook-ai/mock-runtime + next + react
|
|
69
|
+
mock/Dockerfile multi-stage; runs on port 3100
|
|
70
|
+
mock/tsconfig.json path aliases @/* → src/*; @/mock/* → lib/mock-runtime/*
|
|
71
|
+
mock/next.config.js turbopack root pinned to mock/ (avoids parent-src auto-discovery)
|
|
72
|
+
mock/postcss.config.mjs @tailwindcss/postcss plugin
|
|
73
|
+
mock/.gitignore node_modules, .next, .turbo, .env*.local
|
|
74
|
+
mock/README.md what the mock is + scenario authoring guide
|
|
75
|
+
mock/src/app/layout.tsx root layout; ScenarioRegistryProvider wraps children
|
|
76
|
+
mock/src/app/page.tsx renders <ScenarioPicker /> from the runtime
|
|
77
|
+
mock/src/app/globals.css copied from src/app/globals.css if present, else a minimal
|
|
78
|
+
Tailwind-v4 directives file (consumer expected to extend)
|
|
79
|
+
mock/src/lib/scenario-registry.ts consumer-owned; vibe extends this with scenario imports
|
|
80
|
+
mock/scenarios/.gitkeep empty until vibe writes story-N.ts files
|
|
81
|
+
`);
|
|
82
|
+
}
|
|
83
|
+
export function planMockFiles(args) {
|
|
84
|
+
const productionGlobals = join(args.cwd, "src/app/globals.css");
|
|
85
|
+
let globalsContents;
|
|
86
|
+
let globalsNote;
|
|
87
|
+
if (existsSync(productionGlobals)) {
|
|
88
|
+
try {
|
|
89
|
+
globalsContents = readFileSync(productionGlobals, "utf8");
|
|
90
|
+
globalsNote = `(copied from src/app/globals.css — design tokens shared with production)`;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
globalsContents = MINIMAL_GLOBALS_CSS;
|
|
94
|
+
globalsNote = "(could not read src/app/globals.css; wrote minimal Tailwind directives — extend manually)";
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
globalsContents = MINIMAL_GLOBALS_CSS;
|
|
99
|
+
globalsNote = "(no src/app/globals.css found; wrote minimal Tailwind directives — extend manually)";
|
|
100
|
+
}
|
|
101
|
+
return [
|
|
102
|
+
{ path: "mock/package.json", contents: PACKAGE_JSON(args.runtimeVersion), skipIfExists: true },
|
|
103
|
+
{ path: "mock/Dockerfile", contents: DOCKERFILE, skipIfExists: true },
|
|
104
|
+
{ path: "mock/tsconfig.json", contents: TSCONFIG, skipIfExists: true },
|
|
105
|
+
{ path: "mock/next.config.js", contents: NEXT_CONFIG, skipIfExists: true },
|
|
106
|
+
{ path: "mock/postcss.config.mjs", contents: POSTCSS_CONFIG, skipIfExists: true },
|
|
107
|
+
{ path: "mock/.gitignore", contents: GITIGNORE, skipIfExists: true },
|
|
108
|
+
{ path: "mock/README.md", contents: README, skipIfExists: true },
|
|
109
|
+
{ path: "mock/src/app/layout.tsx", contents: LAYOUT_TSX, skipIfExists: true },
|
|
110
|
+
{ path: "mock/src/app/page.tsx", contents: PAGE_TSX, skipIfExists: true },
|
|
111
|
+
{
|
|
112
|
+
path: "mock/src/app/globals.css",
|
|
113
|
+
contents: globalsContents + `\n/* ${globalsNote} */\n`,
|
|
114
|
+
skipIfExists: true,
|
|
115
|
+
},
|
|
116
|
+
{ path: "mock/src/lib/scenario-registry.ts", contents: SCENARIO_REGISTRY, skipIfExists: true },
|
|
117
|
+
{ path: "mock/scenarios/.gitkeep", contents: "", skipIfExists: true },
|
|
118
|
+
];
|
|
119
|
+
}
|
|
120
|
+
export async function initMock(argv, cliVersion) {
|
|
121
|
+
const runtimeVersion = mockRuntimeVersionFor(cliVersion);
|
|
122
|
+
const args = parseMockInitArgs(argv, runtimeVersion);
|
|
123
|
+
const files = planMockFiles(args);
|
|
124
|
+
console.log(`slowcook init mock · cwd: ${relative(process.cwd(), args.cwd) || "."}`);
|
|
125
|
+
console.log(`runtime: @slowcook-ai/mock-runtime@${args.runtimeVersion}`);
|
|
126
|
+
console.log();
|
|
127
|
+
const actions = [];
|
|
128
|
+
for (const f of files) {
|
|
129
|
+
const full = join(args.cwd, f.path);
|
|
130
|
+
if (existsSync(full) && !args.force) {
|
|
131
|
+
actions.push({ action: "SKIP", reason: "exists (pass --force to overwrite)", path: f.path });
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
actions.push({ action: "WRITE", reason: "", path: f.path });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
for (const a of actions) {
|
|
138
|
+
const tag = a.action === "WRITE" ? "WRITE" : "SKIP ";
|
|
139
|
+
console.log(` ${tag} ${a.path}${a.reason ? ` (${a.reason})` : ""}`);
|
|
140
|
+
}
|
|
141
|
+
console.log();
|
|
142
|
+
if (args.dryRun) {
|
|
143
|
+
console.log("--dry-run: no files written.");
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
let written = 0;
|
|
147
|
+
let skipped = 0;
|
|
148
|
+
for (const f of files) {
|
|
149
|
+
const full = join(args.cwd, f.path);
|
|
150
|
+
if (existsSync(full) && !args.force) {
|
|
151
|
+
skipped += 1;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
mkdirSync(dirname(full), { recursive: true });
|
|
155
|
+
writeFileSync(full, f.contents, "utf8");
|
|
156
|
+
written += 1;
|
|
157
|
+
}
|
|
158
|
+
console.log(`Done. Wrote ${written} file(s); skipped ${skipped}.`);
|
|
159
|
+
console.log();
|
|
160
|
+
console.log("Next steps:");
|
|
161
|
+
console.log(" 1. cd mock && npm install");
|
|
162
|
+
console.log(" 2. npm run dev # http://localhost:3100");
|
|
163
|
+
console.log(" 3. Verify the empty scenario picker renders");
|
|
164
|
+
console.log(" 4. Commit + push the mock/ directory");
|
|
165
|
+
console.log(" 5. Future vibe runs (slowcook 0.16-α.3+) populate mock/scenarios/ +");
|
|
166
|
+
console.log(" extend mock/src/lib/scenario-registry.ts");
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* The mock-runtime package versions track slowcook's overall release
|
|
170
|
+
* cadence. Until 0.16 final cuts we hardcode the latest known version
|
|
171
|
+
* here. After 0.16 the cli's package.json could carry a peer-pin field.
|
|
172
|
+
*/
|
|
173
|
+
function mockRuntimeVersionFor(_cliVersion) {
|
|
174
|
+
return "^0.1.0";
|
|
175
|
+
}
|
|
176
|
+
// ---------------- templates ----------------
|
|
177
|
+
const PACKAGE_JSON = (runtimeVersion) => `{
|
|
178
|
+
"name": "${"$"}{REPO_NAME}-mock",
|
|
179
|
+
"version": "0.0.0",
|
|
180
|
+
"private": true,
|
|
181
|
+
"description": "Singular UI mock app. Run with \`npm run dev\` on :3100. See mock/README.md.",
|
|
182
|
+
"type": "module",
|
|
183
|
+
"scripts": {
|
|
184
|
+
"dev": "next dev -p 3100",
|
|
185
|
+
"build": "next build",
|
|
186
|
+
"start": "next start -p 3100",
|
|
187
|
+
"lint": "next lint"
|
|
188
|
+
},
|
|
189
|
+
"dependencies": {
|
|
190
|
+
"@slowcook-ai/mock-runtime": "${runtimeVersion}",
|
|
191
|
+
"next": "^16.0.0",
|
|
192
|
+
"react": "^19.0.0",
|
|
193
|
+
"react-dom": "^19.0.0"
|
|
194
|
+
},
|
|
195
|
+
"devDependencies": {
|
|
196
|
+
"@tailwindcss/postcss": "^4",
|
|
197
|
+
"@types/node": "^22",
|
|
198
|
+
"@types/react": "^19",
|
|
199
|
+
"@types/react-dom": "^19",
|
|
200
|
+
"tailwindcss": "^4",
|
|
201
|
+
"typescript": "^5"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
`;
|
|
205
|
+
const DOCKERFILE = `# Singular UI mock — runnable on the consumer's box per scenario.
|
|
206
|
+
# Build (from repo root): docker build -t mock -f mock/Dockerfile .
|
|
207
|
+
# Run: docker run -p 3100:3100 mock
|
|
208
|
+
# Open: http://localhost:3100/?scenario=story-N
|
|
209
|
+
|
|
210
|
+
FROM node:20-alpine AS deps
|
|
211
|
+
WORKDIR /app
|
|
212
|
+
COPY mock/package.json mock/package-lock.json* ./
|
|
213
|
+
RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi
|
|
214
|
+
|
|
215
|
+
FROM node:20-alpine AS builder
|
|
216
|
+
WORKDIR /app
|
|
217
|
+
COPY --from=deps /app/node_modules ./node_modules
|
|
218
|
+
COPY mock ./
|
|
219
|
+
RUN npm run build
|
|
220
|
+
|
|
221
|
+
FROM node:20-alpine AS runner
|
|
222
|
+
WORKDIR /app
|
|
223
|
+
ENV NODE_ENV=production
|
|
224
|
+
ENV PORT=3100
|
|
225
|
+
ENV HOSTNAME=0.0.0.0
|
|
226
|
+
COPY --from=builder /app/public ./public
|
|
227
|
+
COPY --from=builder /app/.next ./.next
|
|
228
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
229
|
+
COPY --from=builder /app/package.json ./package.json
|
|
230
|
+
EXPOSE 3100
|
|
231
|
+
CMD ["npm", "run", "start"]
|
|
232
|
+
`;
|
|
233
|
+
const TSCONFIG = `{
|
|
234
|
+
"compilerOptions": {
|
|
235
|
+
"target": "ES2017",
|
|
236
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
237
|
+
"allowJs": true,
|
|
238
|
+
"skipLibCheck": true,
|
|
239
|
+
"strict": true,
|
|
240
|
+
"noEmit": true,
|
|
241
|
+
"esModuleInterop": true,
|
|
242
|
+
"module": "esnext",
|
|
243
|
+
"moduleResolution": "bundler",
|
|
244
|
+
"resolveJsonModule": true,
|
|
245
|
+
"isolatedModules": true,
|
|
246
|
+
"jsx": "react-jsx",
|
|
247
|
+
"incremental": true,
|
|
248
|
+
"plugins": [{ "name": "next" }],
|
|
249
|
+
"baseUrl": ".",
|
|
250
|
+
"paths": {
|
|
251
|
+
"@/*": ["src/*"]
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"include": ["next-env.d.ts", "src/**/*.ts", "src/**/*.tsx", "scenarios/**/*.ts", ".next/types/**/*.ts"],
|
|
255
|
+
"exclude": ["node_modules"]
|
|
256
|
+
}
|
|
257
|
+
`;
|
|
258
|
+
const NEXT_CONFIG = `import { fileURLToPath } from "node:url";
|
|
259
|
+
import { dirname } from "node:path";
|
|
260
|
+
|
|
261
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
262
|
+
|
|
263
|
+
/** @type {import('next').NextConfig} */
|
|
264
|
+
const nextConfig = {
|
|
265
|
+
reactStrictMode: true,
|
|
266
|
+
images: { unoptimized: true },
|
|
267
|
+
// Mock app lives inside the consumer's repo. Without an explicit
|
|
268
|
+
// turbopack root, Next walks up + treats the parent as the workspace
|
|
269
|
+
// root, which can pull the parent's src/ into the mock build. Pinning
|
|
270
|
+
// to this directory keeps the mock self-contained.
|
|
271
|
+
turbopack: { root: __dirname },
|
|
272
|
+
outputFileTracingRoot: __dirname,
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
export default nextConfig;
|
|
276
|
+
`;
|
|
277
|
+
const POSTCSS_CONFIG = `export default {
|
|
278
|
+
plugins: {
|
|
279
|
+
"@tailwindcss/postcss": {},
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
`;
|
|
283
|
+
const GITIGNORE = `node_modules
|
|
284
|
+
.next
|
|
285
|
+
.turbo
|
|
286
|
+
out
|
|
287
|
+
.env*.local
|
|
288
|
+
`;
|
|
289
|
+
const MINIMAL_GLOBALS_CSS = `@import "tailwindcss";
|
|
290
|
+
|
|
291
|
+
/*
|
|
292
|
+
* No src/app/globals.css was found at init time. This is a minimal
|
|
293
|
+
* Tailwind-v4 directives file. Add your project's tokens (CSS custom
|
|
294
|
+
* properties, @theme block) here so the mock matches production
|
|
295
|
+
* visually.
|
|
296
|
+
*
|
|
297
|
+
* Vibe + plate work best when this file mirrors production's tokens
|
|
298
|
+
* exactly — they steer toward existing token names, so the better the
|
|
299
|
+
* token coverage here the cleaner their output.
|
|
300
|
+
*/
|
|
301
|
+
|
|
302
|
+
:root {
|
|
303
|
+
--background: #ffffff;
|
|
304
|
+
--foreground: #1a1a1a;
|
|
305
|
+
--card-bg: #ffffff;
|
|
306
|
+
--card-border: rgba(26, 26, 26, 0.06);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
@media (prefers-color-scheme: dark) {
|
|
310
|
+
:root {
|
|
311
|
+
--background: #0f0f18;
|
|
312
|
+
--foreground: #e8e8f0;
|
|
313
|
+
--card-bg: rgba(255, 255, 255, 0.03);
|
|
314
|
+
--card-border: rgba(255, 255, 255, 0.06);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
@theme inline {
|
|
319
|
+
--color-background: var(--background);
|
|
320
|
+
--color-foreground: var(--foreground);
|
|
321
|
+
--color-card-bg: var(--card-bg);
|
|
322
|
+
--color-card-border: var(--card-border);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
body {
|
|
326
|
+
background: var(--background);
|
|
327
|
+
color: var(--foreground);
|
|
328
|
+
}
|
|
329
|
+
`;
|
|
330
|
+
const LAYOUT_TSX = `import type { Metadata } from "next";
|
|
331
|
+
import type { ReactNode } from "react";
|
|
332
|
+
import { ScenarioRegistryProvider } from "@slowcook-ai/mock-runtime";
|
|
333
|
+
import { registry } from "@/lib/scenario-registry";
|
|
334
|
+
import "./globals.css";
|
|
335
|
+
|
|
336
|
+
export const metadata: Metadata = {
|
|
337
|
+
title: "mock",
|
|
338
|
+
description: "Singular mock app. Each ?scenario=story-N renders the UI with that story's fixture data.",
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
export default function RootLayout({ children }: { children: ReactNode }) {
|
|
342
|
+
return (
|
|
343
|
+
<html lang="en">
|
|
344
|
+
<body className="bg-background text-foreground antialiased">
|
|
345
|
+
<ScenarioRegistryProvider registry={registry}>
|
|
346
|
+
{children}
|
|
347
|
+
{/*
|
|
348
|
+
Review-overlay mount-point. Once @slowcook-ai/review-overlay
|
|
349
|
+
ships (slowcook 0.16-α.5), import + render <SlowcookReviewOverlay />
|
|
350
|
+
here. The overlay provides a floating toggle for nav-mode ↔
|
|
351
|
+
comment-mode and POSTs element-anchored comments to the GitHub
|
|
352
|
+
PR for plate to consume.
|
|
353
|
+
*/}
|
|
354
|
+
</ScenarioRegistryProvider>
|
|
355
|
+
</body>
|
|
356
|
+
</html>
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
`;
|
|
360
|
+
const PAGE_TSX = `import { ScenarioPicker } from "@slowcook-ai/mock-runtime";
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Mock app homepage = scenario picker (provided by the runtime).
|
|
364
|
+
*
|
|
365
|
+
* Replaces this with a custom picker if you want different grouping/
|
|
366
|
+
* filtering. The runtime's hooks + registry API are stable; this UI
|
|
367
|
+
* is a default that consumers can swap.
|
|
368
|
+
*/
|
|
369
|
+
export default function Page() {
|
|
370
|
+
return <ScenarioPicker />;
|
|
371
|
+
}
|
|
372
|
+
`;
|
|
373
|
+
const SCENARIO_REGISTRY = `import { defineScenarios } from "@slowcook-ai/mock-runtime";
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* The consumer-owned scenario registry.
|
|
377
|
+
*
|
|
378
|
+
* Vibe extends this when it adds a new scenario:
|
|
379
|
+
* - one new \`import\` line for the scenario file
|
|
380
|
+
* - one new entry in the \`defineScenarios([...])\` array
|
|
381
|
+
*
|
|
382
|
+
* Hand-edits are fine too — vibe + plate respect existing entries
|
|
383
|
+
* and only append.
|
|
384
|
+
*/
|
|
385
|
+
|
|
386
|
+
// Vibe-managed imports below this line. Don't reorder; vibe inserts
|
|
387
|
+
// new lines at the bottom of the import block.
|
|
388
|
+
// e.g. import story017 from "../../scenarios/story-017.js";
|
|
389
|
+
|
|
390
|
+
export const registry = defineScenarios([
|
|
391
|
+
// story017,
|
|
392
|
+
]);
|
|
393
|
+
`;
|
|
394
|
+
const README = `# \`mock/\` — singular UI mock app
|
|
395
|
+
|
|
396
|
+
Per-consumer mock app, scaffolded by \`slowcook init mock\`. The runtime
|
|
397
|
+
(scenario types + hooks + picker UI) ships via \`@slowcook-ai/mock-runtime\`;
|
|
398
|
+
the bits in this directory are the consumer-owned shell.
|
|
399
|
+
|
|
400
|
+
## Run it
|
|
401
|
+
|
|
402
|
+
\`\`\`bash
|
|
403
|
+
cd mock
|
|
404
|
+
npm install
|
|
405
|
+
npm run dev
|
|
406
|
+
# → http://localhost:3100
|
|
407
|
+
\`\`\`
|
|
408
|
+
|
|
409
|
+
The homepage is the **scenario picker**. Each scenario maps to one
|
|
410
|
+
story (or one flow within a story) — clicking a scenario navigates to
|
|
411
|
+
that story's preferred initial path with \`?scenario=story-N\` set.
|
|
412
|
+
|
|
413
|
+
## Architecture in one paragraph
|
|
414
|
+
|
|
415
|
+
The mock is the **design contract**. Vibe writes scenarios for each
|
|
416
|
+
story (\`mock/scenarios/story-N.ts\`); plate amends per PM feedback;
|
|
417
|
+
PM reviews via the live mock URL on the consumer's box. After PM
|
|
418
|
+
approves, brew copies the mock's components into \`src/\` and adds the
|
|
419
|
+
real-data wiring. The mock + production stay in two separate
|
|
420
|
+
filesystems; mock never touches \`src/\`, brew never touches \`mock/\`.
|
|
421
|
+
|
|
422
|
+
The mock has NO backend. Scenarios are plain TypeScript modules read
|
|
423
|
+
by React hooks. Mutations are local component state — they reset on
|
|
424
|
+
page reload, which is the right behavior for a mockup (PM either keeps
|
|
425
|
+
clicking or refreshes to start over).
|
|
426
|
+
|
|
427
|
+
## Add a scenario by hand
|
|
428
|
+
|
|
429
|
+
\`\`\`ts
|
|
430
|
+
// mock/scenarios/story-017.ts
|
|
431
|
+
import type { Scenario } from "@slowcook-ai/mock-runtime";
|
|
432
|
+
|
|
433
|
+
const scenario: Scenario = {
|
|
434
|
+
id: "017",
|
|
435
|
+
name: "Owner with 3 pins, 8 reactions",
|
|
436
|
+
user: { id: "amin", handle: "amin", display_name: "Amin Azar" },
|
|
437
|
+
initialPath: "/u/amin",
|
|
438
|
+
fixtures: {
|
|
439
|
+
pins: [/* ... */],
|
|
440
|
+
reactions: [/* ... */],
|
|
441
|
+
},
|
|
442
|
+
expectedInteractions: [
|
|
443
|
+
"Click Pin on first reaction → strip prepends",
|
|
444
|
+
"Click Pinned on strip card → strip removes; reaction's Pin re-enables",
|
|
445
|
+
],
|
|
446
|
+
};
|
|
447
|
+
|
|
448
|
+
export default scenario;
|
|
449
|
+
\`\`\`
|
|
450
|
+
|
|
451
|
+
Then add to the registry in \`mock/src/lib/scenario-registry.ts\`:
|
|
452
|
+
|
|
453
|
+
\`\`\`ts
|
|
454
|
+
import { defineScenarios } from "@slowcook-ai/mock-runtime";
|
|
455
|
+
import story017 from "../../scenarios/story-017.js";
|
|
456
|
+
|
|
457
|
+
export const registry = defineScenarios([story017]);
|
|
458
|
+
\`\`\`
|
|
459
|
+
|
|
460
|
+
Refresh the dev server — the scenario appears in the picker.
|
|
461
|
+
|
|
462
|
+
## Use scenario data in a component
|
|
463
|
+
|
|
464
|
+
\`\`\`tsx
|
|
465
|
+
"use client";
|
|
466
|
+
import { useScenarioFixture } from "@slowcook-ai/mock-runtime";
|
|
467
|
+
|
|
468
|
+
interface Pin { id: string; rewo_id: string; pinned_at: string; }
|
|
469
|
+
|
|
470
|
+
export function PinsStrip() {
|
|
471
|
+
const pins = useScenarioFixture<Pin[]>("pins");
|
|
472
|
+
return <div>{pins.map(p => /* ... */)}</div>;
|
|
473
|
+
}
|
|
474
|
+
\`\`\`
|
|
475
|
+
|
|
476
|
+
The hook is a typed accessor over \`useScenario().fixtures[domain]\`.
|
|
477
|
+
It throws a clear error in dev when the scenario doesn't have that
|
|
478
|
+
domain populated.
|
|
479
|
+
|
|
480
|
+
## Roadmap
|
|
481
|
+
|
|
482
|
+
- \`@slowcook-ai/review-overlay\` package (slowcook 0.16-α.5) — adds
|
|
483
|
+
a floating toggle for nav-mode ↔ comment-mode; comments post to
|
|
484
|
+
the mockup PR with element selector + screenshot + viewport metadata
|
|
485
|
+
- \`slowcook preview deploy\` (0.16-α.4) — SSH-deploys the docker
|
|
486
|
+
build to the consumer's box; preview URL posted to PR
|
|
487
|
+
- \`slowcook port\` (0.16-α.7) — deterministic copy of mock components
|
|
488
|
+
→ \`src/\` (mock + production stay separate filesystems)
|
|
489
|
+
- Vibe + plate v2 (0.16-α.3 / α.6) — populate this directory based
|
|
490
|
+
on spec + PM feedback
|
|
491
|
+
`;
|
|
492
|
+
//# sourceMappingURL=mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/commands/init/mock.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowcook-ai/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0-alpha.1",
|
|
4
4
|
"description": "CLI for the slowcook brewing harness",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "aminazar",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"ts-morph": "^24.0.0",
|
|
39
39
|
"yaml": "^2.6.0",
|
|
40
40
|
"zod": "^3.23.8",
|
|
41
|
+
"@slowcook-ai/stack-ts": "^0.9.6",
|
|
41
42
|
"@slowcook-ai/core": "^0.12.0",
|
|
42
43
|
"@slowcook-ai/forge-github": "^0.10.3",
|
|
43
44
|
"@slowcook-ai/llm-anthropic": "^0.11.1",
|
|
44
|
-
"@slowcook-ai/recorder": "^0.9.1"
|
|
45
|
-
"@slowcook-ai/stack-ts": "^0.9.6"
|
|
45
|
+
"@slowcook-ai/recorder": "^0.9.1"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|