meto-cli 0.4.0 → 0.7.0
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/CHANGELOG.md +31 -0
- package/README.md +47 -19
- package/dist/cli/doctor-checks.d.ts +52 -0
- package/dist/cli/doctor-checks.d.ts.map +1 -0
- package/dist/cli/doctor-checks.js +331 -0
- package/dist/cli/doctor-checks.js.map +1 -0
- package/dist/cli/doctor.d.ts +19 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +87 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.js +17 -22
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +39 -20
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/stacks.d.ts.map +1 -1
- package/dist/cli/stacks.js +248 -0
- package/dist/cli/stacks.js.map +1 -1
- package/dist/cli/types.d.ts +1 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/.claude/agent-memory/lom-developer/MEMORY.md +11 -11
- package/templates/.claude/agent-memory/lom-pm/MEMORY.md +9 -14
- package/templates/.claude/agent-memory/lom-tester/MEMORY.md +9 -10
- package/templates/.claude/agents/developer-agent.md +6 -0
- package/templates/.claude/agents/pm-agent.md +6 -0
- package/templates/.claude/agents/tester-agent.md +6 -0
- package/templates/CLAUDE.md +10 -0
- package/templates/ai/workflows/session-checkpoint.md +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -5,12 +5,11 @@ import * as p from "@clack/prompts";
|
|
|
5
5
|
import { collectDeepContent, collectProjectBrief } from "./prompts.js";
|
|
6
6
|
import { InterruptionHandler } from "./interruption.js";
|
|
7
7
|
import { buildTokenMap, renderTemplates, resolveTemplatesDir, } from "./renderer.js";
|
|
8
|
-
import { runGitHubFlow } from "./github.js";
|
|
9
8
|
import { initGitRepo } from "./git.js";
|
|
10
|
-
import { runSupabaseFlow } from "./supabase.js";
|
|
11
9
|
import { checkWritePermission, PreflightError, runPreflightChecks, } from "./preflight.js";
|
|
12
10
|
import { DirectoryNotEmptyError, writeScaffold } from "./scaffold.js";
|
|
13
11
|
import { formatFileTree } from "./tree.js";
|
|
12
|
+
import { runDoctor } from "./doctor.js";
|
|
14
13
|
import { generateWithAI, AIGenerationTimeoutError } from "./ai-generator.js";
|
|
15
14
|
import { parseAIOutput, validateAIContent } from "./ai-parser.js";
|
|
16
15
|
/**
|
|
@@ -49,6 +48,7 @@ function printHelp() {
|
|
|
49
48
|
" init Scaffold a new structured project",
|
|
50
49
|
" init --dry-run Preview files without writing to disk",
|
|
51
50
|
" init --no-ai Skip AI generation, use standard prompts",
|
|
51
|
+
" doctor Check methodology health of the current project",
|
|
52
52
|
"",
|
|
53
53
|
"Options:",
|
|
54
54
|
" --help, -h Show this help message",
|
|
@@ -229,28 +229,19 @@ async function main() {
|
|
|
229
229
|
gitSpinner.stop("Git initialization failed -- skipping.");
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
|
-
const githubResult = await runGitHubFlow(brief.projectName, brief.outputDirectory, gitInitSucceeded);
|
|
233
|
-
const supabaseResult = await runSupabaseFlow(brief.techStack, brief.outputDirectory);
|
|
234
232
|
const nextSteps = [
|
|
235
|
-
`
|
|
236
|
-
"
|
|
237
|
-
"
|
|
238
|
-
|
|
239
|
-
"
|
|
233
|
+
`Your project is ready at ${brief.outputDirectory}`,
|
|
234
|
+
"",
|
|
235
|
+
"1. Open it in your editor",
|
|
236
|
+
` code ${brief.outputDirectory}`,
|
|
237
|
+
"",
|
|
238
|
+
"2. Start Claude Code in the project folder",
|
|
239
|
+
` cd ${brief.outputDirectory} && claude`,
|
|
240
|
+
"",
|
|
241
|
+
'3. Tell Claude: "Read CLAUDE.md and set up the backlog"',
|
|
242
|
+
" This kicks off the PM agent to create your first tasks.",
|
|
240
243
|
];
|
|
241
|
-
|
|
242
|
-
nextSteps.push(`GitHub repo: ${githubResult.repoUrl}`);
|
|
243
|
-
}
|
|
244
|
-
if (brief.techStack === "nextjs-supabase") {
|
|
245
|
-
if (supabaseResult.initialized) {
|
|
246
|
-
nextSteps.push("Run `supabase start` to launch the local development stack");
|
|
247
|
-
}
|
|
248
|
-
nextSteps.push("Copy the local credentials from `supabase status` into `.env.local`");
|
|
249
|
-
}
|
|
250
|
-
if (!preflight.gitAvailable) {
|
|
251
|
-
nextSteps.push("Run `git init` when git is available");
|
|
252
|
-
}
|
|
253
|
-
p.note(nextSteps.join("\n"), "Next Steps");
|
|
244
|
+
p.note(nextSteps.join("\n"), "What's Next");
|
|
254
245
|
p.outro("Done. Happy building!");
|
|
255
246
|
}
|
|
256
247
|
catch (error) {
|
|
@@ -271,6 +262,10 @@ async function main() {
|
|
|
271
262
|
interruption.uninstall();
|
|
272
263
|
return;
|
|
273
264
|
}
|
|
265
|
+
if (arg === "doctor") {
|
|
266
|
+
await runDoctor();
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
274
269
|
p.intro("meto-cli -- methodology-first project scaffolding");
|
|
275
270
|
p.log.error(`Unknown command: ${arg}`);
|
|
276
271
|
p.log.info("Run 'meto-cli --help' to see available commands.");
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,eAAe,EACf,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGlE;;;GAGG;AACH,SAAS,kBAAkB;IACzB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW;IACxB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,SAAS,IAAI,MAAM;QACnB,OAAQ,MAAkC,CAAC,OAAO,KAAK,QAAQ,EAC/D,CAAC;QACD,OAAQ,MAAkC,CAAC,OAAiB,CAAC;IAC/D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,SAAS;IAChB,CAAC,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7D,CAAC,CAAC,IAAI,CACJ;QACE,qCAAqC;QACrC,EAAE;QACF,WAAW;QACX,uDAAuD;QACvD,2DAA2D;QAC3D,8DAA8D;QAC9D,qEAAqE;QACrE,EAAE;QACF,UAAU;QACV,4CAA4C;QAC5C,gDAAgD;KACjD,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,MAAM,CACP,CAAC;IACF,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC1D,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAC/C,YAAY,CAAC,OAAO,EAAE,CAAC;QAEvB,CAAC,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAE7D,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAClC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;YACD,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC,CAAC,GAAG,CAAC,OAAO,CACX,sFAAsF,CACvF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,KAAK,GAAG,SAAS,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC;QAEvD,IAAI,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;YACzC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;gBAChC,OAAO,EAAE,0CAA0C;gBACnD,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBACrC,YAAY,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,KAAK,GAAG,SAAS,CAAC;YAElB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxB,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GACd,KAAK,CAAC,SAAS,KAAK,QAAQ;YAC1B,CAAC,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QAEtB,CAAC,CAAC,IAAI,CACJ;YACE,eAAe,KAAK,CAAC,WAAW,EAAE;YAClC,eAAe,KAAK,CAAC,WAAW,EAAE;YAClC,eAAe,KAAK,CAAC,WAAW,EAAE;YAClC,eAAe,UAAU,EAAE;YAC3B,eAAe,KAAK,CAAC,eAAe,EAAE;SACvC,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,eAAe,CAChB,CAAC;QAEF,IAAI,SAAyC,CAAC;QAE9C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAElE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;gBACrC,cAAc,IAAI,EAAE,CAAC;gBACrB,SAAS,CAAC,OAAO,CAAC,mDAAmD,cAAc,IAAI,CAAC,CAAC;YAC3F,CAAC,EAAE,MAAM,CAAC,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;oBACpC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;gBAEH,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEjE,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,8BAA8B,YAAY,IAAI,CAAC,CAAC;gBAE/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;wBAC1C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAED,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnE,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACnF,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,KAAK,2BAA2B,CAAC;gBAEjF,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtE,MAAM,aAAa,GACjB,eAAe,CAAC,MAAM,GAAG,EAAE;oBACzB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;oBACtC,CAAC,CAAC,eAAe,CAAC;gBAEtB,MAAM,YAAY,GAAa;oBAC7B,WAAW,aAAa,EAAE;oBAC1B,UAAU,SAAS,EAAE;oBACrB,UAAU,SAAS,EAAE;oBACrB,QAAQ,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EAAE;iBAC7D,CAAC;gBAEF,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,OAAgB,EAAE,CAAC;gBAC1B,aAAa,CAAC,aAAa,CAAC,CAAC;gBAE7B,IAAI,OAAO,YAAY,wBAAwB,EAAE,CAAC;oBAChD,SAAS,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;oBAC3E,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBACtH,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GACV,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC/D,SAAS,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;oBAC3E,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAyB,MAAM,qCAAqC,CAAC,CAAC;gBACtF,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,kBAAkB,EAAE,CAAC;gBACxC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC/C,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBAC7C,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAC/C,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACnC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAElE,IAAI,MAAM,EAAE,CAAC;gBACX,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAExC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBAEvC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnD,CAAC,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACpD,YAAY,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACxC,MAAM,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAC1D,YAAY,CAAC,MAAM,EAAE,CAAC;YAEtB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAE9B,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAEnD,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACzC,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;oBAC/C,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAa;gBAC1B,4BAA4B,KAAK,CAAC,eAAe,EAAE;gBACnD,EAAE;gBACF,2BAA2B;gBAC3B,WAAW,KAAK,CAAC,eAAe,EAAE;gBAClC,EAAE;gBACF,4CAA4C;gBAC5C,SAAS,KAAK,CAAC,eAAe,YAAY;gBAC1C,EAAE;gBACF,yDAAyD;gBACzD,4DAA4D;aAC7D,CAAC;YAEF,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;YAE5C,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClB,YAAY,CAAC,MAAM,EAAE,CAAC;YAEtB,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAClC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,CAAC;YAED,YAAY,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,YAAY,CAAC,SAAS,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,SAAS,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,CAAC,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7D,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC/D,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAoC1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA2CrE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAoC1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA2CrE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAsHvB"}
|
package/dist/cli/prompts.js
CHANGED
|
@@ -30,7 +30,7 @@ function handleCancel(value) {
|
|
|
30
30
|
process.exit(0);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
const DEFAULT_DEFERRED = "To be
|
|
33
|
+
const DEFAULT_DEFERRED = "To be filled in later";
|
|
34
34
|
const DEFAULT_CONVENTIONS = "TypeScript strict mode, no any types, no console.log in production code";
|
|
35
35
|
/**
|
|
36
36
|
* Collects the deep content prompts (problem statement, success criteria,
|
|
@@ -39,32 +39,32 @@ const DEFAULT_CONVENTIONS = "TypeScript strict mode, no any types, no console.lo
|
|
|
39
39
|
*/
|
|
40
40
|
export async function collectDeepContent() {
|
|
41
41
|
const problemInput = await p.text({
|
|
42
|
-
message: "What
|
|
43
|
-
placeholder: "
|
|
42
|
+
message: "What pain point does this solve for your users?",
|
|
43
|
+
placeholder: "Managing tasks across multiple tools is chaotic",
|
|
44
44
|
defaultValue: DEFAULT_DEFERRED,
|
|
45
45
|
});
|
|
46
46
|
handleCancel(problemInput);
|
|
47
47
|
const criteriaInput = await p.text({
|
|
48
|
-
message: "
|
|
49
|
-
placeholder: "
|
|
48
|
+
message: "What does success look like for your users?",
|
|
49
|
+
placeholder: "They can manage a full sprint in under 10 minutes a day",
|
|
50
50
|
defaultValue: DEFAULT_DEFERRED,
|
|
51
51
|
});
|
|
52
52
|
handleCancel(criteriaInput);
|
|
53
53
|
const valueInput = await p.text({
|
|
54
|
-
message: "
|
|
55
|
-
placeholder: "
|
|
54
|
+
message: "Why would someone use this over alternatives?",
|
|
55
|
+
placeholder: "Simpler than Jira, more structured than a spreadsheet",
|
|
56
56
|
defaultValue: DEFAULT_DEFERRED,
|
|
57
57
|
});
|
|
58
58
|
handleCancel(valueInput);
|
|
59
59
|
const scopeInput = await p.text({
|
|
60
|
-
message: "What
|
|
61
|
-
placeholder: "
|
|
60
|
+
message: "What are you NOT building in the first version?",
|
|
61
|
+
placeholder: "Mobile app, billing, admin dashboard",
|
|
62
62
|
defaultValue: DEFAULT_DEFERRED,
|
|
63
63
|
});
|
|
64
64
|
handleCancel(scopeInput);
|
|
65
65
|
const conventionsInput = await p.text({
|
|
66
|
-
message: "Any
|
|
67
|
-
placeholder: "TypeScript strict, ESLint, Prettier
|
|
66
|
+
message: "Any coding rules you want enforced?",
|
|
67
|
+
placeholder: "TypeScript strict, ESLint, Prettier",
|
|
68
68
|
defaultValue: DEFAULT_CONVENTIONS,
|
|
69
69
|
});
|
|
70
70
|
handleCancel(conventionsInput);
|
|
@@ -85,25 +85,25 @@ export async function collectDeepContent() {
|
|
|
85
85
|
*/
|
|
86
86
|
export async function collectProjectBrief(options = {}) {
|
|
87
87
|
const projectName = await p.text({
|
|
88
|
-
message: "
|
|
89
|
-
placeholder: "my-
|
|
88
|
+
message: "Name your project",
|
|
89
|
+
placeholder: "my-saas-app",
|
|
90
90
|
validate: validateProjectName,
|
|
91
91
|
});
|
|
92
92
|
handleCancel(projectName);
|
|
93
93
|
const description = await p.text({
|
|
94
|
-
message: "
|
|
95
|
-
placeholder: "A
|
|
94
|
+
message: "What are you building? (one line)",
|
|
95
|
+
placeholder: "A project management tool for remote teams",
|
|
96
96
|
validate: requireNonEmpty,
|
|
97
97
|
});
|
|
98
98
|
handleCancel(description);
|
|
99
99
|
const targetUsers = await p.text({
|
|
100
|
-
message: "Who
|
|
100
|
+
message: "Who is this for?",
|
|
101
101
|
placeholder: "Developers, small teams, freelancers",
|
|
102
102
|
validate: requireNonEmpty,
|
|
103
103
|
});
|
|
104
104
|
handleCancel(targetUsers);
|
|
105
105
|
const techStack = await p.select({
|
|
106
|
-
message: "
|
|
106
|
+
message: "Pick your tech stack",
|
|
107
107
|
options: [
|
|
108
108
|
{
|
|
109
109
|
value: "nextjs-supabase",
|
|
@@ -120,6 +120,26 @@ export async function collectProjectBrief(options = {}) {
|
|
|
120
120
|
label: "Node.js CLI",
|
|
121
121
|
hint: "Command-line tool distributed via npm",
|
|
122
122
|
},
|
|
123
|
+
{
|
|
124
|
+
value: "python-fastapi",
|
|
125
|
+
label: "Python (FastAPI)",
|
|
126
|
+
hint: "REST API with async support, auto-generated docs",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
value: "go",
|
|
130
|
+
label: "Go",
|
|
131
|
+
hint: "Compiled backend service or CLI tool",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
value: "vite-react",
|
|
135
|
+
label: "Vite + React",
|
|
136
|
+
hint: "Client-side SPA with fast dev server",
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
value: "flutter",
|
|
140
|
+
label: "Flutter",
|
|
141
|
+
hint: "Cross-platform mobile and web app with Dart",
|
|
142
|
+
},
|
|
123
143
|
{
|
|
124
144
|
value: "custom",
|
|
125
145
|
label: "Custom",
|
|
@@ -134,7 +154,7 @@ export async function collectProjectBrief(options = {}) {
|
|
|
134
154
|
let customStack;
|
|
135
155
|
if (techStack === "custom") {
|
|
136
156
|
const customStackInput = await p.text({
|
|
137
|
-
message: "
|
|
157
|
+
message: "What tools and frameworks are you using?",
|
|
138
158
|
placeholder: "Django + PostgreSQL + React frontend",
|
|
139
159
|
validate: requireNonEmpty,
|
|
140
160
|
});
|
|
@@ -155,10 +175,9 @@ export async function collectProjectBrief(options = {}) {
|
|
|
155
175
|
codeConventions = deep.codeConventions;
|
|
156
176
|
}
|
|
157
177
|
const outputDirectory = await p.text({
|
|
158
|
-
message: "
|
|
178
|
+
message: "Project folder",
|
|
159
179
|
defaultValue: `./${projectName}`,
|
|
160
180
|
placeholder: `./${projectName}`,
|
|
161
|
-
validate: requireNonEmpty,
|
|
162
181
|
});
|
|
163
182
|
handleCancel(outputDirectory);
|
|
164
183
|
return {
|
package/dist/cli/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAGpC;;GAEG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,qEAAqE,CAAC;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAqBD,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/cli/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/stacks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stacks.d.ts","sourceRoot":"","sources":["../../src/cli/stacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stacks.d.ts","sourceRoot":"","sources":["../../src/cli/stacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA6f5C;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAOR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAQR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAYR"}
|
package/dist/cli/stacks.js
CHANGED
|
@@ -44,10 +44,77 @@ const NODEJS_CLI_DESCRIPTION = `## Stack Overview
|
|
|
44
44
|
## Key Libraries
|
|
45
45
|
- **commander or yargs** -- argument parsing (if needed)
|
|
46
46
|
- **vitest** -- fast TypeScript-native testing`;
|
|
47
|
+
/**
|
|
48
|
+
* Structured description for the Python (FastAPI) stack.
|
|
49
|
+
*/
|
|
50
|
+
const PYTHON_FASTAPI_DESCRIPTION = `## Stack Overview
|
|
51
|
+
|
|
52
|
+
| Layer | Choice | Reason |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| Runtime | Python 3.11+ | Modern async support, type hints, broad ecosystem |
|
|
55
|
+
| Framework | FastAPI | High-performance async framework with auto-generated docs |
|
|
56
|
+
| Database | PostgreSQL or SQLite | Robust relational database with strong Python driver support |
|
|
57
|
+
| ORM | SQLAlchemy or Tortoise | Mature ORM with migration support and async capabilities |
|
|
58
|
+
| Docs | Auto-generated OpenAPI/Swagger | Interactive API docs available at /docs out of the box |
|
|
59
|
+
|
|
60
|
+
## Key Libraries
|
|
61
|
+
- **Pydantic** -- data validation and serialization
|
|
62
|
+
- **Alembic** -- database migration management`;
|
|
63
|
+
/**
|
|
64
|
+
* Structured description for the Go stack.
|
|
65
|
+
*/
|
|
66
|
+
const GO_DESCRIPTION = `## Stack Overview
|
|
67
|
+
|
|
68
|
+
| Layer | Choice | Reason |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| Language | Go 1.22+ | Fast compilation, built-in concurrency, single binary output |
|
|
71
|
+
| HTTP | net/http or Chi/Gin | Standard library or lightweight router depending on complexity |
|
|
72
|
+
| Database | PostgreSQL via pgx or GORM | High-performance driver or full ORM for rapid development |
|
|
73
|
+
| Testing | Built-in testing package | No external framework needed, benchmarks included |
|
|
74
|
+
|
|
75
|
+
## Key Libraries
|
|
76
|
+
- **slog** -- structured logging (stdlib)
|
|
77
|
+
- **cobra** -- CLI argument parsing (if building a CLI)`;
|
|
78
|
+
/**
|
|
79
|
+
* Structured description for the Vite + React stack.
|
|
80
|
+
*/
|
|
81
|
+
const VITE_REACT_DESCRIPTION = `## Stack Overview
|
|
82
|
+
|
|
83
|
+
| Layer | Choice | Reason |
|
|
84
|
+
|---|---|---|
|
|
85
|
+
| Build | Vite | Lightning-fast HMR and optimized production builds |
|
|
86
|
+
| UI | React 18+ | Component-based UI with concurrent rendering support |
|
|
87
|
+
| Styling | Tailwind CSS or CSS Modules | Utility-first styling or scoped CSS depending on preference |
|
|
88
|
+
| Routing | React Router | Declarative routing with nested layouts and data loading |
|
|
89
|
+
| State | Zustand or Redux Toolkit | Lightweight or full-featured state management |
|
|
90
|
+
|
|
91
|
+
## Key Libraries
|
|
92
|
+
- **TypeScript** -- strict mode throughout
|
|
93
|
+
- **Vitest** -- fast Vite-native testing`;
|
|
94
|
+
/**
|
|
95
|
+
* Structured description for the Flutter stack.
|
|
96
|
+
*/
|
|
97
|
+
const FLUTTER_DESCRIPTION = `## Stack Overview
|
|
98
|
+
|
|
99
|
+
| Layer | Choice | Reason |
|
|
100
|
+
|---|---|---|
|
|
101
|
+
| Language | Dart | Optimized for UI development with hot reload |
|
|
102
|
+
| UI | Flutter widgets | Rich widget library for iOS, Android, and web |
|
|
103
|
+
| State | Riverpod or Bloc | Reactive state management with compile-time safety |
|
|
104
|
+
| Backend | Firebase or custom API | Serverless backend or connect to any REST/GraphQL API |
|
|
105
|
+
| Testing | Flutter test framework | Widget tests, unit tests, and integration tests built-in |
|
|
106
|
+
|
|
107
|
+
## Key Libraries
|
|
108
|
+
- **GoRouter** -- declarative routing with deep link support
|
|
109
|
+
- **freezed** -- immutable data classes with union types`;
|
|
47
110
|
const STACK_DESCRIPTIONS = {
|
|
48
111
|
"nextjs-supabase": NEXTJS_SUPABASE_DESCRIPTION,
|
|
49
112
|
"react-native": REACT_NATIVE_DESCRIPTION,
|
|
50
113
|
"nodejs-cli": NODEJS_CLI_DESCRIPTION,
|
|
114
|
+
"python-fastapi": PYTHON_FASTAPI_DESCRIPTION,
|
|
115
|
+
"go": GO_DESCRIPTION,
|
|
116
|
+
"vite-react": VITE_REACT_DESCRIPTION,
|
|
117
|
+
"flutter": FLUTTER_DESCRIPTION,
|
|
51
118
|
};
|
|
52
119
|
/**
|
|
53
120
|
* Definition of Done criteria for the Next.js + Supabase stack.
|
|
@@ -109,10 +176,75 @@ const CUSTOM_STACK_DOD = `## Universal Checks
|
|
|
109
176
|
|
|
110
177
|
## Stack-Specific Checks
|
|
111
178
|
*Add stack-specific checks here based on your chosen technology.*`;
|
|
179
|
+
/**
|
|
180
|
+
* Definition of Done criteria for the Python (FastAPI) stack.
|
|
181
|
+
*/
|
|
182
|
+
const PYTHON_FASTAPI_DOD = `## Universal Checks
|
|
183
|
+
- [ ] mypy type checking passes with no errors
|
|
184
|
+
- [ ] No \`print()\` statements in committed code
|
|
185
|
+
- [ ] No commented-out code in committed files
|
|
186
|
+
- [ ] Error states handled (proper HTTP error responses)
|
|
187
|
+
|
|
188
|
+
## Stack-Specific Checks
|
|
189
|
+
- [ ] All endpoints return proper HTTP status codes
|
|
190
|
+
- [ ] Pydantic models used for request/response validation
|
|
191
|
+
- [ ] Database migrations applied and tested locally
|
|
192
|
+
- [ ] API docs accessible at \`/docs\`
|
|
193
|
+
- [ ] Tests pass with \`pytest\``;
|
|
194
|
+
/**
|
|
195
|
+
* Definition of Done criteria for the Go stack.
|
|
196
|
+
*/
|
|
197
|
+
const GO_DOD = `## Universal Checks
|
|
198
|
+
- [ ] Code compiles with \`go build\`
|
|
199
|
+
- [ ] \`go vet\` passes with no warnings
|
|
200
|
+
- [ ] No \`fmt.Println\` in committed code
|
|
201
|
+
- [ ] No commented-out code in committed files
|
|
202
|
+
- [ ] Error states handled (no ignored error returns)
|
|
203
|
+
|
|
204
|
+
## Stack-Specific Checks
|
|
205
|
+
- [ ] \`golangci-lint\` passes
|
|
206
|
+
- [ ] Error values always checked
|
|
207
|
+
- [ ] Context propagated through handlers
|
|
208
|
+
- [ ] Tests pass with \`go test ./...\``;
|
|
209
|
+
/**
|
|
210
|
+
* Definition of Done criteria for the Vite + React stack.
|
|
211
|
+
*/
|
|
212
|
+
const VITE_REACT_DOD = `## Universal Checks
|
|
213
|
+
- [ ] TypeScript compiles with no errors (\`npx tsc --noEmit\`)
|
|
214
|
+
- [ ] No \`any\` types in changed files
|
|
215
|
+
- [ ] No \`console.log\` in committed code
|
|
216
|
+
- [ ] No commented-out code in committed files
|
|
217
|
+
- [ ] Error states handled (loading, empty, error UI)
|
|
218
|
+
|
|
219
|
+
## Stack-Specific Checks
|
|
220
|
+
- [ ] No layout shifts on load
|
|
221
|
+
- [ ] Responsive at 375px minimum
|
|
222
|
+
- [ ] Route transitions work
|
|
223
|
+
- [ ] Build succeeds with \`npm run build\`
|
|
224
|
+
- [ ] No runtime errors in browser console`;
|
|
225
|
+
/**
|
|
226
|
+
* Definition of Done criteria for the Flutter stack.
|
|
227
|
+
*/
|
|
228
|
+
const FLUTTER_DOD = `## Universal Checks
|
|
229
|
+
- [ ] \`dart analyze\` passes with no errors
|
|
230
|
+
- [ ] No \`print()\` in committed code
|
|
231
|
+
- [ ] No commented-out code in committed files
|
|
232
|
+
- [ ] Error states handled (loading, empty, error UI)
|
|
233
|
+
|
|
234
|
+
## Stack-Specific Checks
|
|
235
|
+
- [ ] Runs on iOS simulator without crash
|
|
236
|
+
- [ ] Runs on Android emulator without crash
|
|
237
|
+
- [ ] No hardcoded dimensions (use responsive sizing)
|
|
238
|
+
- [ ] Widget tests pass with \`flutter test\`
|
|
239
|
+
- [ ] Responsive across screen sizes`;
|
|
112
240
|
const STACK_DODS = {
|
|
113
241
|
"nextjs-supabase": NEXTJS_SUPABASE_DOD,
|
|
114
242
|
"react-native": REACT_NATIVE_DOD,
|
|
115
243
|
"nodejs-cli": NODEJS_CLI_DOD,
|
|
244
|
+
"python-fastapi": PYTHON_FASTAPI_DOD,
|
|
245
|
+
"go": GO_DOD,
|
|
246
|
+
"vite-react": VITE_REACT_DOD,
|
|
247
|
+
"flutter": FLUTTER_DOD,
|
|
116
248
|
};
|
|
117
249
|
/**
|
|
118
250
|
* Starter epics for the Next.js + Supabase stack.
|
|
@@ -226,10 +358,126 @@ const CUSTOM_STACK_EPICS = `## E1 -- Project Setup
|
|
|
226
358
|
**Goal:** Set up deployment pipeline and ship the first version to production.
|
|
227
359
|
**Status:** Not started
|
|
228
360
|
**Tasks:** To be sliced by @meto-pm`;
|
|
361
|
+
/**
|
|
362
|
+
* Starter epics for the Python (FastAPI) stack.
|
|
363
|
+
*/
|
|
364
|
+
const PYTHON_FASTAPI_EPICS = `## E1 -- Project Setup
|
|
365
|
+
**Goal:** Initialize the FastAPI project with virtual environment, install dependencies, and configure development tooling (mypy, pytest, linter).
|
|
366
|
+
**Status:** Not started
|
|
367
|
+
**Tasks:** To be sliced by @meto-pm
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## E2 -- Database + Models
|
|
372
|
+
**Goal:** Set up SQLAlchemy with PostgreSQL or SQLite, define initial models, configure Alembic migrations, and create seed data.
|
|
373
|
+
**Status:** Not started
|
|
374
|
+
**Tasks:** To be sliced by @meto-pm
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
## E3 -- Core API Endpoints
|
|
379
|
+
**Goal:** Build the primary API endpoints for the application. To be defined by @meto-pm based on the product vision.
|
|
380
|
+
**Status:** Not started
|
|
381
|
+
**Tasks:** To be sliced by @meto-pm
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## E4 -- Deploy
|
|
386
|
+
**Goal:** Containerize with Docker, configure cloud hosting, and manage environment variables for production.
|
|
387
|
+
**Status:** Not started
|
|
388
|
+
**Tasks:** To be sliced by @meto-pm`;
|
|
389
|
+
/**
|
|
390
|
+
* Starter epics for the Go stack.
|
|
391
|
+
*/
|
|
392
|
+
const GO_EPICS = `## E1 -- Project Setup
|
|
393
|
+
**Goal:** Initialize the Go module, establish directory structure, and create a Makefile with build, test, and lint targets.
|
|
394
|
+
**Status:** Not started
|
|
395
|
+
**Tasks:** To be sliced by @meto-pm
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## E2 -- Core Service
|
|
400
|
+
**Goal:** Implement the main HTTP handler or CLI command that delivers the core value of the service.
|
|
401
|
+
**Status:** Not started
|
|
402
|
+
**Tasks:** To be sliced by @meto-pm
|
|
403
|
+
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
## E3 -- Testing + CI
|
|
407
|
+
**Goal:** Add unit tests, configure golangci-lint, and set up continuous integration.
|
|
408
|
+
**Status:** Not started
|
|
409
|
+
**Tasks:** To be sliced by @meto-pm
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## E4 -- Deploy
|
|
414
|
+
**Goal:** Containerize with Docker, configure binary distribution, and set up production deployment.
|
|
415
|
+
**Status:** Not started
|
|
416
|
+
**Tasks:** To be sliced by @meto-pm`;
|
|
417
|
+
/**
|
|
418
|
+
* Starter epics for the Vite + React stack.
|
|
419
|
+
*/
|
|
420
|
+
const VITE_REACT_EPICS = `## E1 -- Project Setup
|
|
421
|
+
**Goal:** Initialize the Vite project with React, configure Tailwind CSS, set up React Router, and establish the development environment.
|
|
422
|
+
**Status:** Not started
|
|
423
|
+
**Tasks:** To be sliced by @meto-pm
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
## E2 -- Core Feature
|
|
428
|
+
**Goal:** Build the primary feature of the application. To be defined by @meto-pm based on the product vision.
|
|
429
|
+
**Status:** Not started
|
|
430
|
+
**Tasks:** To be sliced by @meto-pm
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## E3 -- Testing
|
|
435
|
+
**Goal:** Add Vitest with React Testing Library for component and integration tests.
|
|
436
|
+
**Status:** Not started
|
|
437
|
+
**Tasks:** To be sliced by @meto-pm
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## E4 -- Deploy
|
|
442
|
+
**Goal:** Configure static hosting, set up CI/CD pipeline, and optimize production build.
|
|
443
|
+
**Status:** Not started
|
|
444
|
+
**Tasks:** To be sliced by @meto-pm`;
|
|
445
|
+
/**
|
|
446
|
+
* Starter epics for the Flutter stack.
|
|
447
|
+
*/
|
|
448
|
+
const FLUTTER_EPICS = `## E1 -- Project Setup
|
|
449
|
+
**Goal:** Initialize the Flutter project, configure project structure, and set up the app theme and design system.
|
|
450
|
+
**Status:** Not started
|
|
451
|
+
**Tasks:** To be sliced by @meto-pm
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## E2 -- Navigation + Routing
|
|
456
|
+
**Goal:** Implement navigation with GoRouter or Navigator 2.0, including deep link support.
|
|
457
|
+
**Status:** Not started
|
|
458
|
+
**Tasks:** To be sliced by @meto-pm
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
## E3 -- Core Feature
|
|
463
|
+
**Goal:** Build the primary feature of the application. To be defined by @meto-pm based on the product vision.
|
|
464
|
+
**Status:** Not started
|
|
465
|
+
**Tasks:** To be sliced by @meto-pm
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## E4 -- App Store Prep
|
|
470
|
+
**Goal:** Prepare app icons, splash screen, metadata, and production builds for App Store and Play Store submission.
|
|
471
|
+
**Status:** Not started
|
|
472
|
+
**Tasks:** To be sliced by @meto-pm`;
|
|
229
473
|
const STACK_EPICS = {
|
|
230
474
|
"nextjs-supabase": NEXTJS_SUPABASE_EPICS,
|
|
231
475
|
"react-native": REACT_NATIVE_EPICS,
|
|
232
476
|
"nodejs-cli": NODEJS_CLI_EPICS,
|
|
477
|
+
"python-fastapi": PYTHON_FASTAPI_EPICS,
|
|
478
|
+
"go": GO_EPICS,
|
|
479
|
+
"vite-react": VITE_REACT_EPICS,
|
|
480
|
+
"flutter": FLUTTER_EPICS,
|
|
233
481
|
};
|
|
234
482
|
/**
|
|
235
483
|
* Returns a structured markdown description for the selected tech stack.
|
package/dist/cli/stacks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stacks.js","sourceRoot":"","sources":["../../src/cli/stacks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,2BAA2B,GAAG;;;;;;;;;;;;2CAYO,CAAC;AAE5C;;GAEG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;2CAWU,CAAC;AAE5C;;GAEG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;+CAWgB,CAAC;AAEhD,MAAM,kBAAkB,GAAiD;IACvE,iBAAiB,EAAE,2BAA2B;IAC9C,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"stacks.js","sourceRoot":"","sources":["../../src/cli/stacks.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,2BAA2B,GAAG;;;;;;;;;;;;2CAYO,CAAC;AAE5C;;GAEG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;2CAWU,CAAC;AAE5C;;GAEG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;+CAWgB,CAAC;AAEhD;;GAEG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;+CAYY,CAAC;AAEhD;;GAEG;AACH,MAAM,cAAc,GAAG;;;;;;;;;;;wDAWiC,CAAC;AAEzD;;GAEG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;;yCAYU,CAAC;AAE1C;;GAEG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;yDAY6B,CAAC;AAE1D,MAAM,kBAAkB,GAAiD;IACvE,iBAAiB,EAAE,2BAA2B;IAC9C,cAAc,EAAE,wBAAwB;IACxC,YAAY,EAAE,sBAAsB;IACpC,gBAAgB,EAAE,0BAA0B;IAC5C,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,sBAAsB;IACpC,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;;;;;0DAY8B,CAAC;AAE3D;;GAEG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;;;;6CAYoB,CAAC;AAE9C;;GAEG;AACH,MAAM,cAAc,GAAG;;;;;;;;;;;;sEAY+C,CAAC;AAEvE;;GAEG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;kEAQyC,CAAC;AAEnE;;GAEG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;iCAWM,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,GAAG;;;;;;;;;;;wCAWyB,CAAC;AAEzC;;GAEG;AACH,MAAM,cAAc,GAAG;;;;;;;;;;;;2CAYoB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,GAAG;;;;;;;;;;;qCAWiB,CAAC;AAEtC,MAAM,UAAU,GAAiD;IAC/D,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,gBAAgB,EAAE,kBAAkB;IACpC,IAAI,EAAE,MAAM;IACZ,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBM,CAAC;AAErC;;GAEG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBS,CAAC;AAErC;;GAEG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBW,CAAC;AAErC;;GAEG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBS,CAAC;AAErC;;GAEG;AACH,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBO,CAAC;AAErC;;GAEG;AACH,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBmB,CAAC;AAErC;;GAEG;AACH,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBW,CAAC;AAErC;;GAEG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;oCAwBc,CAAC;AAErC,MAAM,WAAW,GAAiD;IAChE,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,kBAAkB;IAClC,YAAY,EAAE,gBAAgB;IAC9B,gBAAgB,EAAE,oBAAoB;IACtC,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,gBAAgB;IAC9B,SAAS,EAAE,aAAa;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAgB,EAChB,WAAoB;IAEpB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,WAAW,IAAI,uCAAuC,CAAC;QAC3E,OAAO,sBAAsB,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAgB,EAChB,WAAoB;IAEpB,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,WAAW,KAAK,SAAS;YAC9B,CAAC,CAAC,GAAG,gBAAgB,uBAAuB,WAAW,EAAE;YACzD,CAAC,CAAC,gBAAgB,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAgB,EAChB,WAAmB,EACnB,WAAoB;IAEpB,MAAM,OAAO,GAAG,cAAc,WAAW,+JAA+J,CAAC;IAEzM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GACR,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,8BAA8B,WAAW,kDAAkD;YAC7F,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/cli/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tech stack presets available during project scaffolding.
|
|
3
3
|
*/
|
|
4
|
-
export type TechStack = "nextjs-supabase" | "react-native" | "nodejs-cli" | "custom";
|
|
4
|
+
export type TechStack = "nextjs-supabase" | "react-native" | "nodejs-cli" | "python-fastapi" | "go" | "vite-react" | "flutter" | "custom";
|
|
5
5
|
/**
|
|
6
6
|
* The brief collected from the user during `meto-cli init`.
|
|
7
7
|
* Contains everything needed to render templates and scaffold a project.
|
package/dist/cli/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,IAAI,GACJ,YAAY,GACZ,SAAS,GACT,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# Developer Agent Memory — {{PROJECT_NAME}}
|
|
2
2
|
|
|
3
|
-
*Read at session start. Update at session end
|
|
3
|
+
*Read at session start. Update at session end.*
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
8
|
-
|
|
7
|
+
## Active Decisions
|
|
8
|
+
<!-- Architecture or implementation decisions in progress -->
|
|
9
9
|
|
|
10
|
-
##
|
|
11
|
-
|
|
10
|
+
## Codebase Map
|
|
11
|
+
<!-- Key files and where things live — build this incrementally as you work -->
|
|
12
12
|
|
|
13
|
-
##
|
|
14
|
-
|
|
13
|
+
## Patterns Found
|
|
14
|
+
<!-- Naming conventions, component patterns, API patterns established here -->
|
|
15
15
|
|
|
16
|
-
## Watch Out
|
|
17
|
-
|
|
16
|
+
## Watch Out
|
|
17
|
+
<!-- Bugs caused, gotchas, things that break easily in this codebase -->
|
|
18
18
|
|
|
19
|
-
##
|
|
20
|
-
|
|
19
|
+
## Session Log
|
|
20
|
+
<!-- Reverse-chronological: date, slices worked on, files changed, state left in -->
|