arggon-harness 0.1.1 → 0.1.3
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/init.js +32 -0
- package/dist/init.js.map +1 -1
- package/dist/plugin/engine/types.d.ts +1 -0
- package/dist/plugin/engine/types.d.ts.map +1 -1
- package/dist/plugin/tools/spec-artifact-instr.d.ts +10 -0
- package/dist/plugin/tools/spec-artifact-instr.d.ts.map +1 -1
- package/dist/plugin/tools/spec-artifact-instr.js +40 -1
- package/dist/plugin/tools/spec-artifact-instr.js.map +1 -1
- package/dist/plugin/tools/util.d.ts.map +1 -1
- package/dist/plugin/tools/util.js +2 -0
- package/dist/plugin/tools/util.js.map +1 -1
- package/package.json +1 -1
- package/src/schemas/ui-driven.yaml +1 -0
- package/src/templates/AGENTS.md +37 -0
- package/src/templates/hybrid/schema.yaml +32 -0
- package/src/templates/hybrid/tasks.yaml +103 -0
- package/src/templates/spec-driven/design-tech.yaml +42 -0
- package/src/templates/spec-driven/proposal.yaml +43 -0
- package/src/templates/spec-driven/schema.yaml +32 -0
- package/src/templates/spec-driven/spec.yaml +56 -0
- package/src/templates/tdd/design-tech.yaml +42 -0
- package/src/templates/tdd/proposal.yaml +43 -0
- package/src/templates/tdd/schema.yaml +32 -0
- package/src/templates/tdd/spec.yaml +56 -0
- package/src/templates/tdd/tasks.yaml +77 -0
- package/src/templates/ui-driven/design-html.html +224 -0
- package/src/templates/ui-driven/schema.yaml +33 -0
- /package/src/templates/{design-tech.yaml → hybrid/design-tech.yaml} +0 -0
- /package/src/templates/{proposal.yaml → hybrid/proposal.yaml} +0 -0
- /package/src/templates/{spec.yaml → hybrid/spec.yaml} +0 -0
- /package/src/templates/{tasks.yaml → spec-driven/tasks.yaml} +0 -0
- /package/src/templates/{design-hifi.yaml → ui-driven/design-hifi.yaml} +0 -0
- /package/src/templates/{design-wireframe.yaml → ui-driven/design-wireframe.yaml} +0 -0
package/dist/init.js
CHANGED
|
@@ -35,6 +35,7 @@ const skillsSource = path.join(packageRoot, "src", "skills");
|
|
|
35
35
|
const commandsSource = path.join(packageRoot, "src", "commands");
|
|
36
36
|
const agentsSource = path.join(packageRoot, "src", "agents");
|
|
37
37
|
const configTemplate = path.join(packageRoot, "config", "default-opencode.json");
|
|
38
|
+
const agentsMdTemplate = path.join(packageRoot, "src", "templates", "AGENTS.md");
|
|
38
39
|
// ─── Prompting ────────────────────────────────────────────────────────────────
|
|
39
40
|
async function promptYesNo(question, autoYes) {
|
|
40
41
|
if (autoYes)
|
|
@@ -182,6 +183,19 @@ async function copyAgents(targetDir, autoYes, summary) {
|
|
|
182
183
|
}
|
|
183
184
|
await pruneTargetDir(agentsSource, agentsDest, summary.agentsPruned);
|
|
184
185
|
}
|
|
186
|
+
// ─── Copy AGENTS.md ────────────────────────────────────────────────────────────
|
|
187
|
+
async function copyAgentsMd(targetDir, autoYes, summary) {
|
|
188
|
+
const agentsMdDest = path.join(targetDir, "AGENTS.md");
|
|
189
|
+
if (await exists(agentsMdDest)) {
|
|
190
|
+
const overwrite = await promptYesNo(" AGENTS.md already exists in project root. Overwrite?", autoYes);
|
|
191
|
+
if (!overwrite) {
|
|
192
|
+
summary.agentsMdSkipped = true;
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
await fsp.copyFile(agentsMdTemplate, agentsMdDest);
|
|
197
|
+
summary.agentsMdCreated = true;
|
|
198
|
+
}
|
|
185
199
|
// ─── Generate / Merge opencode.json ───────────────────────────────────────────
|
|
186
200
|
async function generateConfig(targetDir, model, summary) {
|
|
187
201
|
const opencodeJsonPath = path.join(targetDir, ".opencode", "opencode.json");
|
|
@@ -355,6 +369,9 @@ function printSummary(summary) {
|
|
|
355
369
|
console.log(` .opencode/skills/ (${summary.skillsCopied.length} skills)`);
|
|
356
370
|
console.log(` .opencode/commands/ (${summary.commandsCopied.length} commands)`);
|
|
357
371
|
console.log(` .opencode/agents/ (${summary.agentsCopied.length} agents)`);
|
|
372
|
+
if (summary.agentsMdCreated) {
|
|
373
|
+
console.log(" AGENTS.md");
|
|
374
|
+
}
|
|
358
375
|
if (summary.configCreated) {
|
|
359
376
|
console.log(" .opencode/opencode.json");
|
|
360
377
|
}
|
|
@@ -389,6 +406,11 @@ function printSummary(summary) {
|
|
|
389
406
|
console.log(` ${s}`);
|
|
390
407
|
}
|
|
391
408
|
}
|
|
409
|
+
if (summary.agentsMdSkipped) {
|
|
410
|
+
if (allSkipped.length === 0)
|
|
411
|
+
console.log("\nSkipped (already existed):");
|
|
412
|
+
console.log(" AGENTS.md");
|
|
413
|
+
}
|
|
392
414
|
// Spec directory status
|
|
393
415
|
if (summary.specInitialized) {
|
|
394
416
|
console.log("\nSpec directory:");
|
|
@@ -448,6 +470,8 @@ async function main() {
|
|
|
448
470
|
commandsSkipped: [],
|
|
449
471
|
agentsCopied: [],
|
|
450
472
|
agentsSkipped: [],
|
|
473
|
+
agentsMdCreated: false,
|
|
474
|
+
agentsMdSkipped: false,
|
|
451
475
|
configCreated: false,
|
|
452
476
|
configMerged: false,
|
|
453
477
|
specInitialized: false,
|
|
@@ -486,6 +510,11 @@ async function main() {
|
|
|
486
510
|
console.error("Is the package installed correctly?");
|
|
487
511
|
process.exit(1);
|
|
488
512
|
}
|
|
513
|
+
if (!(await exists(agentsMdTemplate))) {
|
|
514
|
+
console.error(`Error: AGENTS.md template not found at ${agentsMdTemplate}`);
|
|
515
|
+
console.error("Is the package installed correctly?");
|
|
516
|
+
process.exit(1);
|
|
517
|
+
}
|
|
489
518
|
// Ensure target directory exists
|
|
490
519
|
await fsp.mkdir(args.targetDir, { recursive: true });
|
|
491
520
|
// Ensure .opencode/ directory exists
|
|
@@ -498,6 +527,9 @@ async function main() {
|
|
|
498
527
|
// Step 1b: Copy agents
|
|
499
528
|
console.log("Copying agents...");
|
|
500
529
|
await copyAgents(args.targetDir, args.yes, summary);
|
|
530
|
+
// Step 1c: Copy AGENTS.md to project root
|
|
531
|
+
console.log("Copying AGENTS.md...");
|
|
532
|
+
await copyAgentsMd(args.targetDir, args.yes, summary);
|
|
501
533
|
// Step 2: Copy commands
|
|
502
534
|
console.log("Copying commands...");
|
|
503
535
|
await copyCommands(args.targetDir, args.yes, summary);
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAUnC,SAAS,SAAS;IAChB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC7B,IAAI,KAAK,GAAG,oCAAoC,CAAA;IAChD,IAAI,GAAG,GAAG,KAAK,CAAA;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACnB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3C,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAA;YACvC,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AAClC,CAAC;AAED,iFAAiF;AAEjF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA,CAAC,8BAA8B;AAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;AAChE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAA;AAChF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;AAEhF,iFAAiF;AAEjF,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAgB;IAC3D,IAAI,OAAO;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC3C,OAAO,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,KAAK,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACvD,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,MAAM,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,kFAAkF;AAElF,KAAK,UAAU,cAAc,CAC3B,MAAc,EACd,SAAiB,EACjB,YAAsB;IAEtB,kDAAkD;IAClD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAAE,OAAM;IAEtC,mEAAmE;IACnE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBACnD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC5D,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC9B,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AA4BD,iFAAiF;AAEjF,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEhD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAE7D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAEvD,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,YAAY,KAAK,CAAC,IAAI,8BAA8B,EACpD,OAAO,CACR,CAAA;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC5D,MAAM,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;gBACjD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;YACjD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACtE,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;IAClE,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAEtD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QAE/C,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,cAAc,IAAI,8BAA8B,EAChD,OAAO,CACR,CAAA;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACrC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACrC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;AAC5E,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC9D,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEhD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAEtD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAE7C,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,YAAY,IAAI,8BAA8B,EAC9C,OAAO,CACR,CAAA;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACrC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACrC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,MAAM,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACtE,CAAC;AAED,kFAAkF;AAElF,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAEtD,IAAI,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,WAAW,CACjC,wDAAwD,EACxD,OAAO,CACR,CAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAA;YAC9B,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAClD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAA;AAChC,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,cAAc,CAC3B,SAAiB,EACjB,KAAa,EACb,OAAgB;IAEhB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;IAE3E,+BAA+B;IAC/B,IAAI,eAAe,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACjE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;IACrE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAElD,IAAI,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,gEAAgE;QAChE,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACjE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,+DAA+D;QAC/D,0CAA0C;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC5C,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;QAC7C,CAAC;QAED,kDAAkD;QAClD,cAAc,CAAC,UAAU,GAAG;YAC1B,GAAG,cAAc,CAAC,UAAU;YAC5B,GAAG,cAAc,CAAC,UAAU;SAC7B,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAExC,mCAAmC;QACnC,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;gBACxB,cAAc,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,CAAA;wBAC7C,OAAO,CAAC,IAAI,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAA;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,iDAAiD;QAEjD,qDAAqD;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QACrF,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvE,MAAM,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAA;QACtD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,OAAgB,EAAE,OAAgB;IACpF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;IAElE,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,wDAAwD,EACxD,OAAO,CACR,CAAA;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;QAC3B,OAAM;IACR,CAAC;IAED,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,CAAA;IACtE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,qBAAqB;IACrB,MAAM,UAAU,GAAG;;;;;;;;;;;;;;CAcpB,CAAA;IACC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAA;IAE5E,uBAAuB;IACvB,MAAM,YAAY,GAAG;;gBAEP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;CACvC,CAAA;IACC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,YAAY,CAAC,CAAA;IAChF,OAAO,CAAC,eAAe,GAAG,IAAI,CAAA;AAChC,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,wBAAwB,CACrC,SAAiB,EACjB,OAAgB,EAChB,OAAgB;IAEhB,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACrD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QACF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;YACjE,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAA;YAClC,OAAM;QACR,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,gKAAgK,EAChK,OAAO,CACR,CAAA;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,WAAW,GAAG,IAAI,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACtD,OAAO,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAA;QACnH,OAAM;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CACjB,MAAM,EACN,CAAC,OAAO,EAAE,gFAAgF,CAAC,EAC3F,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CACvC,CAAA;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,MAAO,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;QAE9E,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACrD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;YAC3B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;YAE9D,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;YAC7D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;oBAC7E,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC/B,GAAG,EAAE,SAAS;iBACf,CAAC,CAAA;gBACF,MAAM,aAAa,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;oBAC1D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;gBACrD,CAAC,CAAC,CAAA;gBACF,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;oBAChD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAA;oBACtE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAA;gBAC5C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,2HAA2H,CAAC,CAAA;QAC1I,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAA;QAC/C,OAAO,CAAC,GAAG,CAAC,2HAA2H,CAAC,CAAA;IAC1I,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,YAAY,CAAC,OAAgB;IACpC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAEhD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,CAAA;IAC9E,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,cAAc,CAAC,MAAM,YAAY,CAAC,CAAA;IAClF,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,CAAA;IAC/E,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IAC1C,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IACnD,CAAC;IAED,eAAe;IACf,MAAM,SAAS,GAAa;QAC1B,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC5D,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC/D,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;KAC5D,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,gBAAgB;IAChB,MAAM,UAAU,GAAa;QAC3B,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC7D,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAChE,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;KAC7D,CAAA;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5B,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;IACtD,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IACpE,CAAC;IAED,aAAa;IACb,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACtC,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,sGAAsG,CAAC,CAAA;IACrH,CAAC;IAED,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC5B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAClD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAA;IACpE,CAAC;SAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACrE,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;IACtE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAA;IAC/D,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAA;AACf,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAA;IACxB,MAAM,OAAO,GAAY;QACvB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,KAAK;QACtB,aAAa,EAAE,KAAK;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;QAClB,mBAAmB,EAAE,KAAK;QAC1B,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,EAAE;QAChB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,IAAI;KACpB,CAAA;IAED,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IAEzC,+BAA+B;IAC/B,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAA;QACtE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAA;QAClE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAA;QACtE,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,0CAA0C,gBAAgB,EAAE,CAAC,CAAA;QAC3E,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,iCAAiC;IACjC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEpD,qCAAqC;IACrC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5E,qCAAqC;IACrC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtF,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChC,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAEnD,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChC,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAEnD,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACnC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAErD,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAErD,iDAAiD;IACjD,MAAM,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAEjE,uCAAuC;IACvC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;IAC3C,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAEzD,qCAAqC;IACrC,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAE1D,wBAAwB;IACxB,YAAY,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IAC1B,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import type { ToolContext, ToolResult } from "./util.js";
|
|
2
|
+
import type { Schema } from "../engine/types.js";
|
|
2
3
|
export interface SpecArtifactInstrArgs {
|
|
3
4
|
changeName: string;
|
|
4
5
|
artifactId?: string;
|
|
5
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the filesystem path to a template by walking the schema's inheritance chain.
|
|
9
|
+
*
|
|
10
|
+
* - If templateName is falsy, throws immediately with a clear missing-field error.
|
|
11
|
+
* - If templateName contains "/", resolves as an explicit path (bypasses chain).
|
|
12
|
+
* - Otherwise, walks inheritance_chain (most specific first) and returns the first match.
|
|
13
|
+
* - Throws with a full search trace if no template is found anywhere in the chain.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveTemplatePath(templateName: string, schema: Schema, pluginDir: string): Promise<string>;
|
|
6
16
|
export declare function specArtifactInstr(args: SpecArtifactInstrArgs, ctx: ToolContext): Promise<ToolResult>;
|
|
7
17
|
//# sourceMappingURL=spec-artifact-instr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-artifact-instr.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/spec-artifact-instr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-artifact-instr.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/spec-artifact-instr.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAIxD,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAA;AAGpE,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BlH;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA6E1G"}
|
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
import * as fs from "fs/promises";
|
|
2
|
+
import * as path from "path";
|
|
2
3
|
import { parseYaml, loadSchema, assetRoot } from "./util.js";
|
|
3
4
|
import * as State from "../engine/state.js";
|
|
4
5
|
import * as ArtifactGraph from "../engine/artifact-graph.js";
|
|
5
6
|
import { readProjectConfig } from "../engine/config.js";
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the filesystem path to a template by walking the schema's inheritance chain.
|
|
9
|
+
*
|
|
10
|
+
* - If templateName is falsy, throws immediately with a clear missing-field error.
|
|
11
|
+
* - If templateName contains "/", resolves as an explicit path (bypasses chain).
|
|
12
|
+
* - Otherwise, walks inheritance_chain (most specific first) and returns the first match.
|
|
13
|
+
* - Throws with a full search trace if no template is found anywhere in the chain.
|
|
14
|
+
*/
|
|
15
|
+
export async function resolveTemplatePath(templateName, schema, pluginDir) {
|
|
16
|
+
if (!templateName) {
|
|
17
|
+
throw new Error("Artifact has no template field — cannot resolve template path");
|
|
18
|
+
}
|
|
19
|
+
const root = assetRoot(pluginDir);
|
|
20
|
+
// Explicit path with "/" — bypass chain resolution
|
|
21
|
+
if (templateName.includes("/")) {
|
|
22
|
+
const explicitPath = path.join(root, "templates", templateName);
|
|
23
|
+
try {
|
|
24
|
+
await fs.access(explicitPath);
|
|
25
|
+
return explicitPath;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
throw new Error(`Template not found at explicit path: ${explicitPath}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
// Walk inheritance chain in order (index 0 = most specific)
|
|
32
|
+
const chain = schema.inheritance_chain ?? [schema.name];
|
|
33
|
+
for (const chainEntry of chain) {
|
|
34
|
+
const candidatePath = path.join(root, "templates", chainEntry, templateName);
|
|
35
|
+
try {
|
|
36
|
+
await fs.access(candidatePath);
|
|
37
|
+
return candidatePath;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Not found in this entry — continue to parent
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`Template "${templateName}" not found — searched: ${chain.join(" → ")}`);
|
|
44
|
+
}
|
|
6
45
|
export async function specArtifactInstr(args, ctx) {
|
|
7
46
|
try {
|
|
8
47
|
const changeDir = `${ctx.projectRoot}/spec/changes/${args.changeName}`;
|
|
@@ -27,7 +66,7 @@ export async function specArtifactInstr(args, ctx) {
|
|
|
27
66
|
if (!artifactDef) {
|
|
28
67
|
return { output: `Artifact not found: ${artifactId}`, metadata: { error: true } };
|
|
29
68
|
}
|
|
30
|
-
const templatePath =
|
|
69
|
+
const templatePath = await resolveTemplatePath(artifactDef.template, schema, ctx.pluginDir);
|
|
31
70
|
const template = await fs.readFile(templatePath, "utf-8");
|
|
32
71
|
const dependencies = artifactDef.requires.map(depId => {
|
|
33
72
|
const dep = schema.artifacts.find(a => a.id === depId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-artifact-instr.js","sourceRoot":"","sources":["../../../src/plugin/tools/spec-artifact-instr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"spec-artifact-instr.js","sourceRoot":"","sources":["../../../src/plugin/tools/spec-artifact-instr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/util.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAE9C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,KAAG,MAQ7C,CAAA;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/plugin/tools/util.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAE9C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,KAAG,MAQ7C,CAAA;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C3G"}
|
|
@@ -48,6 +48,7 @@ export async function loadSchema(pluginDir, schemaName, seen) {
|
|
|
48
48
|
artifacts: [...parent.artifacts],
|
|
49
49
|
apply: raw.apply || parent.apply,
|
|
50
50
|
extends: raw.extends,
|
|
51
|
+
inheritance_chain: [raw.name, ...parent.inheritance_chain],
|
|
51
52
|
};
|
|
52
53
|
// Merge artifacts: child overrides matching ids, appends new ones
|
|
53
54
|
for (const childArtifact of raw.artifacts) {
|
|
@@ -61,6 +62,7 @@ export async function loadSchema(pluginDir, schemaName, seen) {
|
|
|
61
62
|
}
|
|
62
63
|
return merged;
|
|
63
64
|
}
|
|
65
|
+
raw.inheritance_chain = [raw.name];
|
|
64
66
|
return raw;
|
|
65
67
|
}
|
|
66
68
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/plugin/tools/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAa1B,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAU,EAAE;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;QACrC,8DAA8D;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IACD,wDAAwD;IACxD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,UAAkB,EAAE,IAAkB;IACxF,gCAAgC;IAChC,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,OAAO,UAAU,EAAE,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,UAAU,OAAO,CAAC,CAAA;IACnF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAW,CAAA;IAExC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAE7D,8EAA8E;QAC9E,MAAM,MAAM,GAAW;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;YAClD,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;YAChC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/plugin/tools/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ artifacts:
|
|
|
7
7
|
- id: design-html
|
|
8
8
|
generates: design.html
|
|
9
9
|
description: Visual design mockup as a standalone HTML file serving as the design source of truth
|
|
10
|
+
template: design-html.html
|
|
10
11
|
instruction: |
|
|
11
12
|
Create a complete visual design mockup as a standalone HTML file.
|
|
12
13
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- codebase-memory-mcp:start -->
|
|
2
|
+
# Codebase Knowledge Graph (codebase-memory-mcp)
|
|
3
|
+
|
|
4
|
+
This project uses codebase-memory-mcp to maintain a knowledge graph of the codebase.
|
|
5
|
+
ALWAYS prefer MCP graph tools over grep/glob/file-search for code discovery.
|
|
6
|
+
|
|
7
|
+
## Priority Order
|
|
8
|
+
1. `codebase-memory-mcp_search_graph` — find functions, classes, routes, variables by pattern
|
|
9
|
+
2. `codebase-memory-mcp_trace_path` — trace who calls a function or what it calls
|
|
10
|
+
3. `codebase-memory-mcp_get_code_snippet` — read specific function/class source code
|
|
11
|
+
4. `codebase-memory-mcp_query_graph` — run Cypher queries for complex patterns
|
|
12
|
+
5. `codebase-memory-mcp_get_architecture` — high-level project summary
|
|
13
|
+
|
|
14
|
+
## When to fall back to grep/glob
|
|
15
|
+
- Searching for string literals, error messages, config values
|
|
16
|
+
- Searching non-code files (Dockerfiles, shell scripts, configs)
|
|
17
|
+
- When MCP tools return insufficient results
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
- Find a handler: `codebase-memory-mcp_search_graph(name_pattern=".*Handler.*")`
|
|
21
|
+
- Who calls it: `codebase-memory-mcp_trace_path(function_name="Handler", direction="inbound")`
|
|
22
|
+
- Read source: `codebase-memory-mcp_get_code_snippet(qualified_name="src/plugin/index")`
|
|
23
|
+
|
|
24
|
+
## CLI Usage (Bash fallback)
|
|
25
|
+
When native MCP tools are unavailable, use the CLI directly:
|
|
26
|
+
```bash
|
|
27
|
+
codebase-memory-mcp cli search_graph '{"name_pattern": ".*Handler.*"}'
|
|
28
|
+
codebase-memory-mcp cli trace_path '{"function_name": "Handler", "direction": "inbound"}'
|
|
29
|
+
codebase-memory-mcp cli get_code_snippet '{"qualified_name": "src/plugin/index"}'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Re-indexing
|
|
33
|
+
After code changes, re-index to keep the graph up to date:
|
|
34
|
+
```bash
|
|
35
|
+
codebase-memory-mcp index --path .
|
|
36
|
+
```
|
|
37
|
+
<!-- codebase-memory-mcp:end -->
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: hybrid
|
|
2
|
+
version: 1
|
|
3
|
+
description: Combined workflow — spec-driven planning with TDD implementation
|
|
4
|
+
|
|
5
|
+
artifacts:
|
|
6
|
+
- id: proposal
|
|
7
|
+
generates: proposal.yaml
|
|
8
|
+
description: Change proposal with capabilities and acceptance criteria
|
|
9
|
+
template: proposal.yaml
|
|
10
|
+
requires: []
|
|
11
|
+
|
|
12
|
+
- id: specs
|
|
13
|
+
generates: specs/*.yaml
|
|
14
|
+
description: Specifications with scenarios and verify blocks
|
|
15
|
+
template: spec.yaml
|
|
16
|
+
requires: [proposal]
|
|
17
|
+
|
|
18
|
+
- id: design-tech
|
|
19
|
+
generates: design-tech.yaml
|
|
20
|
+
description: Technical design with architecture and testability decisions
|
|
21
|
+
template: design-tech.yaml
|
|
22
|
+
requires: [specs]
|
|
23
|
+
|
|
24
|
+
- id: tasks
|
|
25
|
+
generates: tasks.yaml
|
|
26
|
+
description: Tasks organized by feature supporting both standard and TDD patterns
|
|
27
|
+
template: tasks.yaml
|
|
28
|
+
requires: [specs, design-tech]
|
|
29
|
+
|
|
30
|
+
apply:
|
|
31
|
+
requires: [tasks]
|
|
32
|
+
tracks: tasks.yaml
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Hybrid Workflow Tasks Template
|
|
2
|
+
#
|
|
3
|
+
# Supports both standard task patterns and TDD RED→GREEN→REFACTOR tasks.
|
|
4
|
+
#
|
|
5
|
+
# Use STANDARD tasks when:
|
|
6
|
+
# - Implementing well-understood features with clear requirements
|
|
7
|
+
# - Making infrastructure/config/build changes
|
|
8
|
+
# - Writing documentation or non-code artifacts
|
|
9
|
+
# - Making small, low-risk changes
|
|
10
|
+
#
|
|
11
|
+
# Use TDD tasks (with tdd_phase) when:
|
|
12
|
+
# - Implementing core business logic
|
|
13
|
+
# - Making changes with high regression risk
|
|
14
|
+
# - Building new APIs or data processing pipelines
|
|
15
|
+
# - Refactoring complex code
|
|
16
|
+
#
|
|
17
|
+
# Standard tasks use: id, group, description, depends_on, complexity,
|
|
18
|
+
# estimated_minutes, spec_refs, affected_files, acceptance, status
|
|
19
|
+
#
|
|
20
|
+
# TDD tasks add: tdd_phase: 'red' | 'green' | 'refactor'
|
|
21
|
+
#
|
|
22
|
+
# You can mix both patterns in the same task list.
|
|
23
|
+
# Standard tasks typically go first (setup), then TDD loops for each behavior.
|
|
24
|
+
|
|
25
|
+
workflow: hybrid
|
|
26
|
+
|
|
27
|
+
agent:
|
|
28
|
+
critical_path:
|
|
29
|
+
- t1
|
|
30
|
+
- t2
|
|
31
|
+
- t3
|
|
32
|
+
- t4
|
|
33
|
+
total_estimated_minutes: 200
|
|
34
|
+
|
|
35
|
+
tasks:
|
|
36
|
+
# ── Standard task example (infrastructure/setup) ──
|
|
37
|
+
- id: t1
|
|
38
|
+
group: Setup
|
|
39
|
+
description: Configure [dependency/infrastructure]
|
|
40
|
+
depends_on: []
|
|
41
|
+
complexity: low
|
|
42
|
+
estimated_minutes: 20
|
|
43
|
+
spec_refs:
|
|
44
|
+
- [capability-id]/REQ-[requirement-id]
|
|
45
|
+
affected_files:
|
|
46
|
+
- [path/to/config/file]
|
|
47
|
+
acceptance:
|
|
48
|
+
- [dependency] is configured and working
|
|
49
|
+
- Configuration follows project conventions
|
|
50
|
+
status: pending
|
|
51
|
+
|
|
52
|
+
# ── TDD loop: RED → GREEN → REFACTOR for [behavior-1] ──
|
|
53
|
+
- id: t2
|
|
54
|
+
group: "TDD: RED"
|
|
55
|
+
description: Write failing test for [behavior-1]
|
|
56
|
+
depends_on:
|
|
57
|
+
- t1
|
|
58
|
+
complexity: low
|
|
59
|
+
estimated_minutes: 15
|
|
60
|
+
spec_refs:
|
|
61
|
+
- [capability-id]/REQ-[requirement-id]
|
|
62
|
+
affected_files:
|
|
63
|
+
- test/[test-file].test.ts
|
|
64
|
+
acceptance:
|
|
65
|
+
- Test compiles and runs
|
|
66
|
+
- Test fails with expected message
|
|
67
|
+
tdd_phase: red
|
|
68
|
+
status: pending
|
|
69
|
+
|
|
70
|
+
- id: t3
|
|
71
|
+
group: "TDD: GREEN"
|
|
72
|
+
description: Implement minimal code to pass [behavior-1] test
|
|
73
|
+
depends_on:
|
|
74
|
+
- t2
|
|
75
|
+
complexity: low
|
|
76
|
+
estimated_minutes: 20
|
|
77
|
+
spec_refs:
|
|
78
|
+
- [capability-id]/REQ-[requirement-id]
|
|
79
|
+
affected_files:
|
|
80
|
+
- src/[implementation].ts
|
|
81
|
+
acceptance:
|
|
82
|
+
- All existing tests still pass
|
|
83
|
+
- New test from t2 now passes
|
|
84
|
+
tdd_phase: green
|
|
85
|
+
status: pending
|
|
86
|
+
|
|
87
|
+
- id: t4
|
|
88
|
+
group: "TDD: REFACTOR"
|
|
89
|
+
description: Refactor [behavior-1] implementation and tests
|
|
90
|
+
depends_on:
|
|
91
|
+
- t3
|
|
92
|
+
complexity: medium
|
|
93
|
+
estimated_minutes: 25
|
|
94
|
+
spec_refs:
|
|
95
|
+
- [capability-id]/REQ-[requirement-id]
|
|
96
|
+
affected_files:
|
|
97
|
+
- src/[implementation].ts
|
|
98
|
+
- test/[test-file].test.ts
|
|
99
|
+
acceptance:
|
|
100
|
+
- All tests still pass
|
|
101
|
+
- Code is clean and follows conventions
|
|
102
|
+
tdd_phase: refactor
|
|
103
|
+
status: pending
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Design Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - Focus on HOW to implement
|
|
5
|
+
# - Include alternatives considered
|
|
6
|
+
# - Only create if change is complex enough
|
|
7
|
+
|
|
8
|
+
id: <change-name>
|
|
9
|
+
schema: <schema-name>
|
|
10
|
+
|
|
11
|
+
agent:
|
|
12
|
+
context_files:
|
|
13
|
+
- <relevant files>
|
|
14
|
+
affected_paths:
|
|
15
|
+
- <paths affected>
|
|
16
|
+
|
|
17
|
+
body:
|
|
18
|
+
context: |
|
|
19
|
+
<Background, current state, constraints>
|
|
20
|
+
|
|
21
|
+
goals:
|
|
22
|
+
- <What this design achieves>
|
|
23
|
+
- <Another goal>
|
|
24
|
+
|
|
25
|
+
non_goals:
|
|
26
|
+
- <What's explicitly out of scope>
|
|
27
|
+
- <Another non-goal>
|
|
28
|
+
|
|
29
|
+
decisions:
|
|
30
|
+
- title: <decision title>
|
|
31
|
+
approach: |
|
|
32
|
+
<Chosen approach and rationale>
|
|
33
|
+
alternatives: |
|
|
34
|
+
<Alternatives considered and why not chosen>
|
|
35
|
+
|
|
36
|
+
- title: <another decision>
|
|
37
|
+
approach: |
|
|
38
|
+
<approach>
|
|
39
|
+
|
|
40
|
+
risks:
|
|
41
|
+
- <Risk and mitigation strategy>
|
|
42
|
+
- <Another risk>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Proposal Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - Replace <placeholders> with actual values
|
|
5
|
+
# - Remove comment lines (starting with #) before saving
|
|
6
|
+
# - Keep the structure intact
|
|
7
|
+
|
|
8
|
+
id: <change-name-kebab-case>
|
|
9
|
+
schema: <schema-name>
|
|
10
|
+
created: <YYYY-MM-DD>
|
|
11
|
+
status: active
|
|
12
|
+
|
|
13
|
+
agent:
|
|
14
|
+
priority: <low|medium|high>
|
|
15
|
+
context_files:
|
|
16
|
+
- <file1.ts>
|
|
17
|
+
- <file2.ts>
|
|
18
|
+
affected_paths:
|
|
19
|
+
- <src/path/**>
|
|
20
|
+
hints:
|
|
21
|
+
- <implementation hint>
|
|
22
|
+
|
|
23
|
+
body:
|
|
24
|
+
why: |
|
|
25
|
+
<1-3 sentences explaining the problem and why this change is needed>
|
|
26
|
+
|
|
27
|
+
what_changes:
|
|
28
|
+
- <bullet point describing a change>
|
|
29
|
+
- <another change>
|
|
30
|
+
|
|
31
|
+
capabilities:
|
|
32
|
+
new:
|
|
33
|
+
- id: <capability-id>
|
|
34
|
+
description: <what this capability does>
|
|
35
|
+
modified:
|
|
36
|
+
- id: <existing-capability-id>
|
|
37
|
+
description: <what changed>
|
|
38
|
+
|
|
39
|
+
impact:
|
|
40
|
+
- path: <src/file.ts>
|
|
41
|
+
change: <what changes in this file>
|
|
42
|
+
- path: <src/another.ts>
|
|
43
|
+
change: <description>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: spec-driven
|
|
2
|
+
version: 1
|
|
3
|
+
description: Standard spec-driven workflow with proposal, specs, design, and tasks
|
|
4
|
+
|
|
5
|
+
artifacts:
|
|
6
|
+
- id: proposal
|
|
7
|
+
generates: proposal.yaml
|
|
8
|
+
description: Change proposal with why, what, and impact
|
|
9
|
+
template: proposal.yaml
|
|
10
|
+
requires: []
|
|
11
|
+
|
|
12
|
+
- id: specs
|
|
13
|
+
generates: specs/*.yaml
|
|
14
|
+
description: Delta specifications for each capability with requirement scenarios
|
|
15
|
+
template: spec.yaml
|
|
16
|
+
requires: [proposal]
|
|
17
|
+
|
|
18
|
+
- id: design-tech
|
|
19
|
+
generates: design-tech.yaml
|
|
20
|
+
description: Technical design with architecture decisions, alternatives, and risks
|
|
21
|
+
template: design-tech.yaml
|
|
22
|
+
requires: [proposal]
|
|
23
|
+
|
|
24
|
+
- id: tasks
|
|
25
|
+
generates: tasks.yaml
|
|
26
|
+
description: Implementation task list with dependencies and acceptance criteria
|
|
27
|
+
template: tasks.yaml
|
|
28
|
+
requires: [specs, design-tech]
|
|
29
|
+
|
|
30
|
+
apply:
|
|
31
|
+
requires: [tasks]
|
|
32
|
+
tracks: tasks.yaml
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Delta Spec Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - One file per capability
|
|
5
|
+
# - Use operations: add, modify, remove, rename
|
|
6
|
+
# - Each requirement must have at least one scenario
|
|
7
|
+
# - Add verify blocks for testable assertions
|
|
8
|
+
|
|
9
|
+
capability: <capability-id>
|
|
10
|
+
version: 1
|
|
11
|
+
|
|
12
|
+
agent:
|
|
13
|
+
related_specs:
|
|
14
|
+
- <other-capability>
|
|
15
|
+
affected_paths:
|
|
16
|
+
- <src/auth/**>
|
|
17
|
+
|
|
18
|
+
operations:
|
|
19
|
+
- op: add
|
|
20
|
+
requirement:
|
|
21
|
+
id: <requirement-id>
|
|
22
|
+
description: |
|
|
23
|
+
The system SHALL <behavior description>.
|
|
24
|
+
scenarios:
|
|
25
|
+
- id: <scenario-id>
|
|
26
|
+
given:
|
|
27
|
+
- <precondition>
|
|
28
|
+
when:
|
|
29
|
+
- <action or event>
|
|
30
|
+
then:
|
|
31
|
+
- <expected outcome>
|
|
32
|
+
verify:
|
|
33
|
+
- type: assertion
|
|
34
|
+
code: "<testable assertion>"
|
|
35
|
+
|
|
36
|
+
# Example modify operation:
|
|
37
|
+
# - op: modify
|
|
38
|
+
# requirement:
|
|
39
|
+
# id: <existing-requirement-id>
|
|
40
|
+
# description: |
|
|
41
|
+
# <complete updated requirement>
|
|
42
|
+
# scenarios:
|
|
43
|
+
# - id: <scenario-id>
|
|
44
|
+
# given: [...]
|
|
45
|
+
# when: [...]
|
|
46
|
+
# then: [...]
|
|
47
|
+
|
|
48
|
+
# Example remove operation:
|
|
49
|
+
# - op: remove
|
|
50
|
+
# requirement:
|
|
51
|
+
# id: <requirement-to-remove>
|
|
52
|
+
|
|
53
|
+
# Example rename operation:
|
|
54
|
+
# - op: rename
|
|
55
|
+
# from: <old-id>
|
|
56
|
+
# to: <new-id>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Design Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - Focus on HOW to implement
|
|
5
|
+
# - Include alternatives considered
|
|
6
|
+
# - Only create if change is complex enough
|
|
7
|
+
|
|
8
|
+
id: <change-name>
|
|
9
|
+
schema: <schema-name>
|
|
10
|
+
|
|
11
|
+
agent:
|
|
12
|
+
context_files:
|
|
13
|
+
- <relevant files>
|
|
14
|
+
affected_paths:
|
|
15
|
+
- <paths affected>
|
|
16
|
+
|
|
17
|
+
body:
|
|
18
|
+
context: |
|
|
19
|
+
<Background, current state, constraints>
|
|
20
|
+
|
|
21
|
+
goals:
|
|
22
|
+
- <What this design achieves>
|
|
23
|
+
- <Another goal>
|
|
24
|
+
|
|
25
|
+
non_goals:
|
|
26
|
+
- <What's explicitly out of scope>
|
|
27
|
+
- <Another non-goal>
|
|
28
|
+
|
|
29
|
+
decisions:
|
|
30
|
+
- title: <decision title>
|
|
31
|
+
approach: |
|
|
32
|
+
<Chosen approach and rationale>
|
|
33
|
+
alternatives: |
|
|
34
|
+
<Alternatives considered and why not chosen>
|
|
35
|
+
|
|
36
|
+
- title: <another decision>
|
|
37
|
+
approach: |
|
|
38
|
+
<approach>
|
|
39
|
+
|
|
40
|
+
risks:
|
|
41
|
+
- <Risk and mitigation strategy>
|
|
42
|
+
- <Another risk>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Proposal Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - Replace <placeholders> with actual values
|
|
5
|
+
# - Remove comment lines (starting with #) before saving
|
|
6
|
+
# - Keep the structure intact
|
|
7
|
+
|
|
8
|
+
id: <change-name-kebab-case>
|
|
9
|
+
schema: <schema-name>
|
|
10
|
+
created: <YYYY-MM-DD>
|
|
11
|
+
status: active
|
|
12
|
+
|
|
13
|
+
agent:
|
|
14
|
+
priority: <low|medium|high>
|
|
15
|
+
context_files:
|
|
16
|
+
- <file1.ts>
|
|
17
|
+
- <file2.ts>
|
|
18
|
+
affected_paths:
|
|
19
|
+
- <src/path/**>
|
|
20
|
+
hints:
|
|
21
|
+
- <implementation hint>
|
|
22
|
+
|
|
23
|
+
body:
|
|
24
|
+
why: |
|
|
25
|
+
<1-3 sentences explaining the problem and why this change is needed>
|
|
26
|
+
|
|
27
|
+
what_changes:
|
|
28
|
+
- <bullet point describing a change>
|
|
29
|
+
- <another change>
|
|
30
|
+
|
|
31
|
+
capabilities:
|
|
32
|
+
new:
|
|
33
|
+
- id: <capability-id>
|
|
34
|
+
description: <what this capability does>
|
|
35
|
+
modified:
|
|
36
|
+
- id: <existing-capability-id>
|
|
37
|
+
description: <what changed>
|
|
38
|
+
|
|
39
|
+
impact:
|
|
40
|
+
- path: <src/file.ts>
|
|
41
|
+
change: <what changes in this file>
|
|
42
|
+
- path: <src/another.ts>
|
|
43
|
+
change: <description>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: tdd
|
|
2
|
+
version: 1
|
|
3
|
+
description: Test-driven development with RED-GREEN-REFACTOR vertical slices
|
|
4
|
+
|
|
5
|
+
artifacts:
|
|
6
|
+
- id: proposal
|
|
7
|
+
generates: proposal.yaml
|
|
8
|
+
description: Change proposal with testable acceptance criteria
|
|
9
|
+
template: proposal.yaml
|
|
10
|
+
requires: []
|
|
11
|
+
|
|
12
|
+
- id: specs
|
|
13
|
+
generates: specs/*.yaml
|
|
14
|
+
description: Requirements with Gherkin scenarios and test verification blocks
|
|
15
|
+
template: spec.yaml
|
|
16
|
+
requires: [proposal]
|
|
17
|
+
|
|
18
|
+
- id: design-tech
|
|
19
|
+
generates: design-tech.yaml
|
|
20
|
+
description: Technical design with testability decisions and interface contracts
|
|
21
|
+
template: design-tech.yaml
|
|
22
|
+
requires: [specs]
|
|
23
|
+
|
|
24
|
+
- id: tasks
|
|
25
|
+
generates: tasks.yaml
|
|
26
|
+
description: Vertical slice tasks organized as RED-GREEN-REFACTOR per behavior
|
|
27
|
+
template: tasks.yaml
|
|
28
|
+
requires: [specs, design-tech]
|
|
29
|
+
|
|
30
|
+
apply:
|
|
31
|
+
requires: [tasks]
|
|
32
|
+
tracks: tasks.yaml
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Delta Spec Template
|
|
2
|
+
#
|
|
3
|
+
# Instructions:
|
|
4
|
+
# - One file per capability
|
|
5
|
+
# - Use operations: add, modify, remove, rename
|
|
6
|
+
# - Each requirement must have at least one scenario
|
|
7
|
+
# - Add verify blocks for testable assertions
|
|
8
|
+
|
|
9
|
+
capability: <capability-id>
|
|
10
|
+
version: 1
|
|
11
|
+
|
|
12
|
+
agent:
|
|
13
|
+
related_specs:
|
|
14
|
+
- <other-capability>
|
|
15
|
+
affected_paths:
|
|
16
|
+
- <src/auth/**>
|
|
17
|
+
|
|
18
|
+
operations:
|
|
19
|
+
- op: add
|
|
20
|
+
requirement:
|
|
21
|
+
id: <requirement-id>
|
|
22
|
+
description: |
|
|
23
|
+
The system SHALL <behavior description>.
|
|
24
|
+
scenarios:
|
|
25
|
+
- id: <scenario-id>
|
|
26
|
+
given:
|
|
27
|
+
- <precondition>
|
|
28
|
+
when:
|
|
29
|
+
- <action or event>
|
|
30
|
+
then:
|
|
31
|
+
- <expected outcome>
|
|
32
|
+
verify:
|
|
33
|
+
- type: assertion
|
|
34
|
+
code: "<testable assertion>"
|
|
35
|
+
|
|
36
|
+
# Example modify operation:
|
|
37
|
+
# - op: modify
|
|
38
|
+
# requirement:
|
|
39
|
+
# id: <existing-requirement-id>
|
|
40
|
+
# description: |
|
|
41
|
+
# <complete updated requirement>
|
|
42
|
+
# scenarios:
|
|
43
|
+
# - id: <scenario-id>
|
|
44
|
+
# given: [...]
|
|
45
|
+
# when: [...]
|
|
46
|
+
# then: [...]
|
|
47
|
+
|
|
48
|
+
# Example remove operation:
|
|
49
|
+
# - op: remove
|
|
50
|
+
# requirement:
|
|
51
|
+
# id: <requirement-to-remove>
|
|
52
|
+
|
|
53
|
+
# Example rename operation:
|
|
54
|
+
# - op: rename
|
|
55
|
+
# from: <old-id>
|
|
56
|
+
# to: <new-id>
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# TDD Workflow Tasks Template
|
|
2
|
+
#
|
|
3
|
+
# Tasks are structured around the RED → GREEN → REFACTOR loop.
|
|
4
|
+
# Each vertical slice of behavior produces three tasks:
|
|
5
|
+
#
|
|
6
|
+
# RED: Write a failing test that defines the desired behavior
|
|
7
|
+
# GREEN: Write the minimal implementation to pass the test
|
|
8
|
+
# REFACTOR: Clean up both test and implementation
|
|
9
|
+
#
|
|
10
|
+
# The tdd_phase field marks which phase each task belongs to.
|
|
11
|
+
# Tasks without a tdd_phase use the standard task format.
|
|
12
|
+
|
|
13
|
+
workflow: tdd
|
|
14
|
+
|
|
15
|
+
agent:
|
|
16
|
+
critical_path:
|
|
17
|
+
- t1
|
|
18
|
+
- t2
|
|
19
|
+
- t3
|
|
20
|
+
total_estimated_minutes: 120
|
|
21
|
+
|
|
22
|
+
tasks:
|
|
23
|
+
- id: t1
|
|
24
|
+
group: RED
|
|
25
|
+
description: Write failing test for [behavior]
|
|
26
|
+
depends_on: []
|
|
27
|
+
complexity: low
|
|
28
|
+
estimated_minutes: 15
|
|
29
|
+
spec_refs:
|
|
30
|
+
- [capability-id]/REQ-[requirement-id]
|
|
31
|
+
affected_files:
|
|
32
|
+
- test/[path-to-test-file].test.ts
|
|
33
|
+
acceptance:
|
|
34
|
+
- Test compiles and runs
|
|
35
|
+
- Test fails with expected error/message
|
|
36
|
+
- Test name describes the expected behavior
|
|
37
|
+
tdd_phase: red
|
|
38
|
+
status: pending
|
|
39
|
+
|
|
40
|
+
- id: t2
|
|
41
|
+
group: GREEN
|
|
42
|
+
description: Implement minimal code to pass [behavior] test
|
|
43
|
+
depends_on:
|
|
44
|
+
- t1
|
|
45
|
+
complexity: low
|
|
46
|
+
estimated_minutes: 20
|
|
47
|
+
spec_refs:
|
|
48
|
+
- [capability-id]/REQ-[requirement-id]
|
|
49
|
+
affected_files:
|
|
50
|
+
- src/[path-to-implementation].ts
|
|
51
|
+
acceptance:
|
|
52
|
+
- All existing tests still pass
|
|
53
|
+
- New test from t1 now passes
|
|
54
|
+
- Implementation is minimal (no premature optimization)
|
|
55
|
+
- No new failing tests introduced
|
|
56
|
+
tdd_phase: green
|
|
57
|
+
status: pending
|
|
58
|
+
|
|
59
|
+
- id: t3
|
|
60
|
+
group: REFACTOR
|
|
61
|
+
description: Refactor [behavior] implementation and tests
|
|
62
|
+
depends_on:
|
|
63
|
+
- t2
|
|
64
|
+
complexity: medium
|
|
65
|
+
estimated_minutes: 25
|
|
66
|
+
spec_refs:
|
|
67
|
+
- [capability-id]/REQ-[requirement-id]
|
|
68
|
+
affected_files:
|
|
69
|
+
- src/[path-to-implementation].ts
|
|
70
|
+
- test/[path-to-test-file].test.ts
|
|
71
|
+
acceptance:
|
|
72
|
+
- All tests still pass
|
|
73
|
+
- Code follows project conventions
|
|
74
|
+
- No duplicated logic
|
|
75
|
+
- Names and structure are clean
|
|
76
|
+
tdd_phase: refactor
|
|
77
|
+
status: pending
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title><!-- DESIGN: page-title --></title>
|
|
7
|
+
|
|
8
|
+
<!--
|
|
9
|
+
============================================================
|
|
10
|
+
DESIGN: palette
|
|
11
|
+
Inject design-specific CSS variables here.
|
|
12
|
+
Expected variables:
|
|
13
|
+
--color-primary, --color-secondary, --color-accent,
|
|
14
|
+
--color-background, --color-foreground, --color-surface,
|
|
15
|
+
--color-border, --color-muted, --color-success,
|
|
16
|
+
--color-warning, --color-error, --color-info
|
|
17
|
+
============================================================
|
|
18
|
+
-->
|
|
19
|
+
<style>
|
|
20
|
+
:root {
|
|
21
|
+
/* ── Override with design-palette values ── */
|
|
22
|
+
--color-primary: #3B82F6;
|
|
23
|
+
--color-primary-hover: #2563EB;
|
|
24
|
+
--color-secondary: #8B5CF6;
|
|
25
|
+
--color-accent: #F59E0B;
|
|
26
|
+
--color-background: #F9FAFB;
|
|
27
|
+
--color-foreground: #111827;
|
|
28
|
+
--color-surface: #FFFFFF;
|
|
29
|
+
--color-border: #E5E7EB;
|
|
30
|
+
--color-muted: #F3F4F6;
|
|
31
|
+
--color-success: #10B981;
|
|
32
|
+
--color-warning: #F59E0B;
|
|
33
|
+
--color-error: #EF4444;
|
|
34
|
+
--color-info: #3B82F6;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* ── Base reset ── */
|
|
38
|
+
*, *::before, *::after {
|
|
39
|
+
box-sizing: border-box;
|
|
40
|
+
margin: 0;
|
|
41
|
+
padding: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
body {
|
|
45
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
46
|
+
font-size: 16px;
|
|
47
|
+
line-height: 1.6;
|
|
48
|
+
color: var(--color-foreground);
|
|
49
|
+
background: var(--color-background);
|
|
50
|
+
-webkit-font-smoothing: antialiased;
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
|
|
54
|
+
<!--
|
|
55
|
+
============================================================
|
|
56
|
+
DESIGN: typography
|
|
57
|
+
Inject font-face imports, custom font families, and type
|
|
58
|
+
scale overrides here.
|
|
59
|
+
============================================================
|
|
60
|
+
-->
|
|
61
|
+
<style>
|
|
62
|
+
/* ── Type scale (replace with design-typography values) ── */
|
|
63
|
+
h1 { font-size: 2.5rem; font-weight: 700; line-height: 1.2; letter-spacing: -0.025em; }
|
|
64
|
+
h2 { font-size: 2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em; }
|
|
65
|
+
h3 { font-size: 1.5rem; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; }
|
|
66
|
+
h4 { font-size: 1.25rem;font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; }
|
|
67
|
+
h5 { font-size: 1.125rem;font-weight: 600;line-height: 1.4; letter-spacing: 0em; }
|
|
68
|
+
h6 { font-size: 1rem; font-weight: 600; line-height: 1.45; letter-spacing: 0em; }
|
|
69
|
+
p { font-size: 1rem; font-weight: 400; line-height: 1.6; }
|
|
70
|
+
small { font-size: 0.875rem; font-weight: 400; line-height: 1.5; }
|
|
71
|
+
</style>
|
|
72
|
+
|
|
73
|
+
<!--
|
|
74
|
+
============================================================
|
|
75
|
+
DESIGN: layout
|
|
76
|
+
Inject grid, flex, and responsive layout rules here.
|
|
77
|
+
============================================================
|
|
78
|
+
-->
|
|
79
|
+
<style>
|
|
80
|
+
/* ── Layout containers (replace with design-layout values) ── */
|
|
81
|
+
.container {
|
|
82
|
+
width: 100%;
|
|
83
|
+
max-width: 1200px;
|
|
84
|
+
margin: 0 auto;
|
|
85
|
+
padding: 0 1.5rem;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.grid {
|
|
89
|
+
display: grid;
|
|
90
|
+
gap: 1.5rem;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.flex-row {
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-wrap: wrap;
|
|
96
|
+
gap: 1rem;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.flex-col {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: column;
|
|
102
|
+
gap: 1rem;
|
|
103
|
+
}
|
|
104
|
+
</style>
|
|
105
|
+
|
|
106
|
+
<!--
|
|
107
|
+
============================================================
|
|
108
|
+
DESIGN: components
|
|
109
|
+
Inject component-specific CSS (buttons, cards, inputs,
|
|
110
|
+
navigation, etc.) here.
|
|
111
|
+
============================================================
|
|
112
|
+
-->
|
|
113
|
+
<style>
|
|
114
|
+
/* ── Component styles (replace with design-component values) ── */
|
|
115
|
+
|
|
116
|
+
/* Buttons */
|
|
117
|
+
.btn {
|
|
118
|
+
display: inline-flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
justify-content: center;
|
|
121
|
+
padding: 0.5rem 1rem;
|
|
122
|
+
font-size: 0.875rem;
|
|
123
|
+
font-weight: 500;
|
|
124
|
+
border: none;
|
|
125
|
+
border-radius: 0.375rem;
|
|
126
|
+
cursor: pointer;
|
|
127
|
+
transition: all 150ms ease;
|
|
128
|
+
text-decoration: none;
|
|
129
|
+
}
|
|
130
|
+
.btn-primary {
|
|
131
|
+
background: var(--color-primary);
|
|
132
|
+
color: #fff;
|
|
133
|
+
}
|
|
134
|
+
.btn-primary:hover {
|
|
135
|
+
background: var(--color-primary-hover);
|
|
136
|
+
}
|
|
137
|
+
.btn-secondary {
|
|
138
|
+
background: var(--color-secondary);
|
|
139
|
+
color: #fff;
|
|
140
|
+
}
|
|
141
|
+
.btn-ghost {
|
|
142
|
+
background: transparent;
|
|
143
|
+
color: var(--color-foreground);
|
|
144
|
+
}
|
|
145
|
+
.btn-ghost:hover {
|
|
146
|
+
background: var(--color-muted);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/* Cards */
|
|
150
|
+
.card {
|
|
151
|
+
background: var(--color-surface);
|
|
152
|
+
border: 1px solid var(--color-border);
|
|
153
|
+
border-radius: 0.5rem;
|
|
154
|
+
padding: 1.5rem;
|
|
155
|
+
box-shadow: 0 1px 3px rgba(0,0,0,0.08);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* Inputs */
|
|
159
|
+
.input {
|
|
160
|
+
width: 100%;
|
|
161
|
+
padding: 0.5rem 0.75rem;
|
|
162
|
+
font-size: 0.875rem;
|
|
163
|
+
border: 1px solid var(--color-border);
|
|
164
|
+
border-radius: 0.375rem;
|
|
165
|
+
background: var(--color-surface);
|
|
166
|
+
color: var(--color-foreground);
|
|
167
|
+
transition: border-color 150ms ease;
|
|
168
|
+
}
|
|
169
|
+
.input:focus {
|
|
170
|
+
border-color: var(--color-primary);
|
|
171
|
+
outline: none;
|
|
172
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
|
|
173
|
+
}
|
|
174
|
+
</style>
|
|
175
|
+
</head>
|
|
176
|
+
<body>
|
|
177
|
+
|
|
178
|
+
<!-- ════════════════════════════════════════════════════════════
|
|
179
|
+
HEADER
|
|
180
|
+
════════════════════════════════════════════════════════════ -->
|
|
181
|
+
<header class="container" style="padding-top: 1rem; padding-bottom: 1rem;">
|
|
182
|
+
<nav class="flex-row" style="align-items: center; justify-content: space-between;">
|
|
183
|
+
<!-- Logo / Brand -->
|
|
184
|
+
<div><!-- DESIGN: logo --></div>
|
|
185
|
+
<!-- Navigation links -->
|
|
186
|
+
<div><!-- DESIGN: nav-links --></div>
|
|
187
|
+
</nav>
|
|
188
|
+
</header>
|
|
189
|
+
|
|
190
|
+
<!-- ════════════════════════════════════════════════════════════
|
|
191
|
+
MAIN CONTENT
|
|
192
|
+
════════════════════════════════════════════════════════════ -->
|
|
193
|
+
<main>
|
|
194
|
+
<!-- ── Hero Section ── -->
|
|
195
|
+
<section id="hero" class="container" style="padding-top: 4rem; padding-bottom: 4rem;">
|
|
196
|
+
<!-- DESIGN: hero-content -->
|
|
197
|
+
</section>
|
|
198
|
+
|
|
199
|
+
<!-- ── Features / Grid Section ── -->
|
|
200
|
+
<section id="features" class="container" style="padding-top: 4rem; padding-bottom: 4rem;">
|
|
201
|
+
<div class="grid" style="grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));">
|
|
202
|
+
<!-- DESIGN: feature-card-1 -->
|
|
203
|
+
<!-- DESIGN: feature-card-2 -->
|
|
204
|
+
<!-- DESIGN: feature-card-3 -->
|
|
205
|
+
</div>
|
|
206
|
+
</section>
|
|
207
|
+
|
|
208
|
+
<!-- ── Content Section ── -->
|
|
209
|
+
<section id="content" class="container" style="padding-top: 4rem; padding-bottom: 4rem;">
|
|
210
|
+
<!-- DESIGN: section-content -->
|
|
211
|
+
</section>
|
|
212
|
+
</main>
|
|
213
|
+
|
|
214
|
+
<!-- ════════════════════════════════════════════════════════════
|
|
215
|
+
FOOTER
|
|
216
|
+
════════════════════════════════════════════════════════════ -->
|
|
217
|
+
<footer class="container" style="padding-top: 2rem; padding-bottom: 2rem; border-top: 1px solid var(--color-border);">
|
|
218
|
+
<div class="flex-row" style="justify-content: space-between;">
|
|
219
|
+
<!-- DESIGN: footer-content -->
|
|
220
|
+
</div>
|
|
221
|
+
</footer>
|
|
222
|
+
|
|
223
|
+
</body>
|
|
224
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: ui-driven
|
|
2
|
+
version: 1
|
|
3
|
+
description: Spec-driven workflow for frontend/UI work with required design artifacts
|
|
4
|
+
extends: spec-driven
|
|
5
|
+
|
|
6
|
+
artifacts:
|
|
7
|
+
- id: design-html
|
|
8
|
+
generates: design.html
|
|
9
|
+
description: Visual design mockup as a standalone HTML file for human review
|
|
10
|
+
template: design-html.html
|
|
11
|
+
requires: [design-tech]
|
|
12
|
+
|
|
13
|
+
- id: design-wireframe
|
|
14
|
+
generates: design-wireframe.yaml
|
|
15
|
+
description: Page wireframes with layout regions, component placements, and user flows
|
|
16
|
+
template: design-wireframe.yaml
|
|
17
|
+
requires: [design-html]
|
|
18
|
+
|
|
19
|
+
- id: design-hifi
|
|
20
|
+
generates: design-hifi.yaml
|
|
21
|
+
description: High-fidelity design system with color palette, typography, and component library
|
|
22
|
+
template: design-hifi.yaml
|
|
23
|
+
requires: [design-wireframe]
|
|
24
|
+
|
|
25
|
+
- id: tasks
|
|
26
|
+
generates: tasks.yaml
|
|
27
|
+
description: Implementation task list with dependencies
|
|
28
|
+
template: tasks.yaml
|
|
29
|
+
requires: [specs, design-tech, design-hifi]
|
|
30
|
+
|
|
31
|
+
apply:
|
|
32
|
+
requires: [tasks]
|
|
33
|
+
tracks: tasks.yaml
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|