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.
Files changed (33) hide show
  1. package/dist/init.js +32 -0
  2. package/dist/init.js.map +1 -1
  3. package/dist/plugin/engine/types.d.ts +1 -0
  4. package/dist/plugin/engine/types.d.ts.map +1 -1
  5. package/dist/plugin/tools/spec-artifact-instr.d.ts +10 -0
  6. package/dist/plugin/tools/spec-artifact-instr.d.ts.map +1 -1
  7. package/dist/plugin/tools/spec-artifact-instr.js +40 -1
  8. package/dist/plugin/tools/spec-artifact-instr.js.map +1 -1
  9. package/dist/plugin/tools/util.d.ts.map +1 -1
  10. package/dist/plugin/tools/util.js +2 -0
  11. package/dist/plugin/tools/util.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/schemas/ui-driven.yaml +1 -0
  14. package/src/templates/AGENTS.md +37 -0
  15. package/src/templates/hybrid/schema.yaml +32 -0
  16. package/src/templates/hybrid/tasks.yaml +103 -0
  17. package/src/templates/spec-driven/design-tech.yaml +42 -0
  18. package/src/templates/spec-driven/proposal.yaml +43 -0
  19. package/src/templates/spec-driven/schema.yaml +32 -0
  20. package/src/templates/spec-driven/spec.yaml +56 -0
  21. package/src/templates/tdd/design-tech.yaml +42 -0
  22. package/src/templates/tdd/proposal.yaml +43 -0
  23. package/src/templates/tdd/schema.yaml +32 -0
  24. package/src/templates/tdd/spec.yaml +56 -0
  25. package/src/templates/tdd/tasks.yaml +77 -0
  26. package/src/templates/ui-driven/design-html.html +224 -0
  27. package/src/templates/ui-driven/schema.yaml +33 -0
  28. /package/src/templates/{design-tech.yaml → hybrid/design-tech.yaml} +0 -0
  29. /package/src/templates/{proposal.yaml → hybrid/proposal.yaml} +0 -0
  30. /package/src/templates/{spec.yaml → hybrid/spec.yaml} +0 -0
  31. /package/src/templates/{tasks.yaml → spec-driven/tasks.yaml} +0 -0
  32. /package/src/templates/{design-hifi.yaml → ui-driven/design-hifi.yaml} +0 -0
  33. /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":"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"}
@@ -8,6 +8,7 @@ export interface Schema {
8
8
  version: number;
9
9
  description?: string;
10
10
  extends?: string;
11
+ inheritance_chain?: string[];
11
12
  artifacts: ArtifactDef[];
12
13
  apply: ApplyDef;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/engine/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAA;AAC5H,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAA;AAChD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAA;AAC3D,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAC5D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAA;AAE3E,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,UAAU,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,EAAE,YAAY,CAAA;IACnB,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,YAAY,EAAE;YACZ,GAAG,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;YAC1C,QAAQ,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,EAAE,CAAA;SAChD,CAAA;QACD,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC3C,CAAA;CACF;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,cAAc,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAA;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,YAAY,CAAA;IACnB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,SAAS,EAAE,MAAM,EAAE,CAAA;QACnB,SAAS,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;QACvE,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;CACF;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,IAAI,EAAE,CAAA;CACd;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IACrC,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,UAAU,CAAA;CACzC;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IACpC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE;SAAG,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,OAAO;KAAE,CAAA;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChE,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE;QACV,SAAS,EAAE;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QAC/C,UAAU,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QACvE,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QAC3E,SAAS,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;QACvD,UAAU,EAAE;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAC/C,CAAA;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;AAE1C,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;IACpC,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB"}
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":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAOxD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA6E1G"}
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 = `${assetRoot(ctx.pluginDir)}/templates/${artifactDef.template}`;
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":"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"}
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;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAA;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,YAAoB,EAAE,MAAc,EAAE,SAAiB;IAC/F,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAEjC,mDAAmD;IACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAA;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC7B,OAAO,YAAY,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvD,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;QAC5E,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YAC9B,OAAO,aAAa,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,2BAA2B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA2B,EAAE,GAAgB;IACnF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,WAAW,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAA;QACtE,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,SAAS,YAAY,EAAE,OAAO,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,CAAS,CAAA;QAC3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAE3D,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEhE,0DAA0D;QAC1D,MAAM,OAAO,GAAiB,IAAI,GAAG,EAAE,CAAA;QACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAE/E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;QAC3E,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,MAAM,EAAE,uBAAuB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;QACnF,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAEzD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAA;YACtD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG;YACnB,UAAU;YACV,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,QAAQ;YACR,UAAU,EAAE,WAAW,CAAC,SAAS;YACjC,YAAY;YACZ,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7F,CAAA;QAED,6DAA6D;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACvD,MAAM,mBAAmB,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YAEtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,mBAAmB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;gBAClD,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC1C,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpF,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;YAED,YAAY,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,QAAQ,EAAE,YAAY;SACvB,CAAA;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,UAAU,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;IACzE,CAAC;AACH,CAAC"}
@@ -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,CAyC3G"}
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;SACrB,CAAA;QAED,kEAAkE;QAClE,KAAK,MAAM,aAAa,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,CAAA;YAChF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/plugin/tools/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arggon-harness",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Spec-driven SDLC workflow for OpenCode — plugin, skills, commands, and init system",
5
5
  "type": "module",
6
6
  "main": "dist/plugin/index.js",
@@ -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