@prodara/templates 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +94 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +8 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/phases/clarify.d.ts +4 -0
  7. package/dist/phases/clarify.d.ts.map +1 -0
  8. package/dist/phases/clarify.js +38 -0
  9. package/dist/phases/clarify.js.map +1 -0
  10. package/dist/phases/design.d.ts +4 -0
  11. package/dist/phases/design.d.ts.map +1 -0
  12. package/dist/phases/design.js +72 -0
  13. package/dist/phases/design.js.map +1 -0
  14. package/dist/phases/explore.d.ts +4 -0
  15. package/dist/phases/explore.d.ts.map +1 -0
  16. package/dist/phases/explore.js +52 -0
  17. package/dist/phases/explore.js.map +1 -0
  18. package/dist/phases/fix.d.ts +4 -0
  19. package/dist/phases/fix.d.ts.map +1 -0
  20. package/dist/phases/fix.js +42 -0
  21. package/dist/phases/fix.js.map +1 -0
  22. package/dist/phases/help.d.ts +4 -0
  23. package/dist/phases/help.d.ts.map +1 -0
  24. package/dist/phases/help.js +40 -0
  25. package/dist/phases/help.js.map +1 -0
  26. package/dist/phases/helpers.d.ts +4 -0
  27. package/dist/phases/helpers.d.ts.map +1 -0
  28. package/dist/phases/helpers.js +15 -0
  29. package/dist/phases/helpers.js.map +1 -0
  30. package/dist/phases/implement.d.ts +4 -0
  31. package/dist/phases/implement.d.ts.map +1 -0
  32. package/dist/phases/implement.js +62 -0
  33. package/dist/phases/implement.js.map +1 -0
  34. package/dist/phases/index.d.ts +13 -0
  35. package/dist/phases/index.d.ts.map +1 -0
  36. package/dist/phases/index.js +16 -0
  37. package/dist/phases/index.js.map +1 -0
  38. package/dist/phases/onboard.d.ts +4 -0
  39. package/dist/phases/onboard.d.ts.map +1 -0
  40. package/dist/phases/onboard.js +76 -0
  41. package/dist/phases/onboard.js.map +1 -0
  42. package/dist/phases/party.d.ts +4 -0
  43. package/dist/phases/party.d.ts.map +1 -0
  44. package/dist/phases/party.js +37 -0
  45. package/dist/phases/party.js.map +1 -0
  46. package/dist/phases/plan.d.ts +4 -0
  47. package/dist/phases/plan.d.ts.map +1 -0
  48. package/dist/phases/plan.js +43 -0
  49. package/dist/phases/plan.js.map +1 -0
  50. package/dist/phases/review.d.ts +4 -0
  51. package/dist/phases/review.d.ts.map +1 -0
  52. package/dist/phases/review.js +45 -0
  53. package/dist/phases/review.js.map +1 -0
  54. package/dist/phases/specify.d.ts +4 -0
  55. package/dist/phases/specify.d.ts.map +1 -0
  56. package/dist/phases/specify.js +39 -0
  57. package/dist/phases/specify.js.map +1 -0
  58. package/dist/platforms/claude.d.ts +8 -0
  59. package/dist/platforms/claude.d.ts.map +1 -0
  60. package/dist/platforms/claude.js +16 -0
  61. package/dist/platforms/claude.js.map +1 -0
  62. package/dist/platforms/codex.d.ts +8 -0
  63. package/dist/platforms/codex.d.ts.map +1 -0
  64. package/dist/platforms/codex.js +16 -0
  65. package/dist/platforms/codex.js.map +1 -0
  66. package/dist/platforms/copilot.d.ts +8 -0
  67. package/dist/platforms/copilot.d.ts.map +1 -0
  68. package/dist/platforms/copilot.js +24 -0
  69. package/dist/platforms/copilot.js.map +1 -0
  70. package/dist/platforms/cursor.d.ts +8 -0
  71. package/dist/platforms/cursor.d.ts.map +1 -0
  72. package/dist/platforms/cursor.js +24 -0
  73. package/dist/platforms/cursor.js.map +1 -0
  74. package/dist/platforms/index.d.ts +8 -0
  75. package/dist/platforms/index.d.ts.map +1 -0
  76. package/dist/platforms/index.js +10 -0
  77. package/dist/platforms/index.js.map +1 -0
  78. package/dist/platforms/opencode.d.ts +8 -0
  79. package/dist/platforms/opencode.d.ts.map +1 -0
  80. package/dist/platforms/opencode.js +16 -0
  81. package/dist/platforms/opencode.js.map +1 -0
  82. package/dist/platforms/registry.d.ts +71 -0
  83. package/dist/platforms/registry.d.ts.map +1 -0
  84. package/dist/platforms/registry.js +80 -0
  85. package/dist/platforms/registry.js.map +1 -0
  86. package/dist/renderer.d.ts +8 -0
  87. package/dist/renderer.d.ts.map +1 -0
  88. package/dist/renderer.js +123 -0
  89. package/dist/renderer.js.map +1 -0
  90. package/dist/reviewers/adversarial.d.ts +6 -0
  91. package/dist/reviewers/adversarial.d.ts.map +1 -0
  92. package/dist/reviewers/adversarial.js +30 -0
  93. package/dist/reviewers/adversarial.js.map +1 -0
  94. package/dist/reviewers/architecture.d.ts +6 -0
  95. package/dist/reviewers/architecture.d.ts.map +1 -0
  96. package/dist/reviewers/architecture.js +25 -0
  97. package/dist/reviewers/architecture.js.map +1 -0
  98. package/dist/reviewers/code-quality.d.ts +6 -0
  99. package/dist/reviewers/code-quality.d.ts.map +1 -0
  100. package/dist/reviewers/code-quality.js +25 -0
  101. package/dist/reviewers/code-quality.js.map +1 -0
  102. package/dist/reviewers/custom.d.ts +4 -0
  103. package/dist/reviewers/custom.d.ts.map +1 -0
  104. package/dist/reviewers/custom.js +25 -0
  105. package/dist/reviewers/custom.js.map +1 -0
  106. package/dist/reviewers/edge-case.d.ts +6 -0
  107. package/dist/reviewers/edge-case.d.ts.map +1 -0
  108. package/dist/reviewers/edge-case.js +28 -0
  109. package/dist/reviewers/edge-case.js.map +1 -0
  110. package/dist/reviewers/helpers.d.ts +6 -0
  111. package/dist/reviewers/helpers.d.ts.map +1 -0
  112. package/dist/reviewers/helpers.js +42 -0
  113. package/dist/reviewers/helpers.js.map +1 -0
  114. package/dist/reviewers/index.d.ts +10 -0
  115. package/dist/reviewers/index.d.ts.map +1 -0
  116. package/dist/reviewers/index.js +13 -0
  117. package/dist/reviewers/index.js.map +1 -0
  118. package/dist/reviewers/security.d.ts +6 -0
  119. package/dist/reviewers/security.d.ts.map +1 -0
  120. package/dist/reviewers/security.js +25 -0
  121. package/dist/reviewers/security.js.map +1 -0
  122. package/dist/reviewers/test-quality.d.ts +6 -0
  123. package/dist/reviewers/test-quality.d.ts.map +1 -0
  124. package/dist/reviewers/test-quality.js +25 -0
  125. package/dist/reviewers/test-quality.js.map +1 -0
  126. package/dist/reviewers/ux-quality.d.ts +6 -0
  127. package/dist/reviewers/ux-quality.d.ts.map +1 -0
  128. package/dist/reviewers/ux-quality.js +25 -0
  129. package/dist/reviewers/ux-quality.js.map +1 -0
  130. package/dist/types.d.ts +129 -0
  131. package/dist/types.d.ts.map +1 -0
  132. package/dist/types.js +5 -0
  133. package/dist/types.js.map +1 -0
  134. package/package.json +51 -0
package/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # @prodara/templates
2
+
3
+ Prompt templates for AI-agent orchestration of the Prodara workflow. Provides render functions for 6 workflow phases and 7 reviewer agents (plus custom reviewers), with platform adapters for 5 AI coding tools.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @prodara/templates
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { render, listTemplates, wrapForPlatform } from '@prodara/templates';
15
+
16
+ // Render a phase template
17
+ const markdown = render('phase:specify', {
18
+ moduleName: 'billing',
19
+ specText: '...',
20
+ });
21
+
22
+ // Render with platform wrapping
23
+ const output = render('phase:implement', context, { platform: 'copilot' });
24
+
25
+ // Render with template override
26
+ const custom = render('phase:implement', context, {
27
+ templateOverride: '# My custom template\n...',
28
+ });
29
+
30
+ // List all available templates
31
+ const ids = listTemplates();
32
+ // ['phase:specify', 'phase:clarify', ..., 'reviewer:architecture', ...]
33
+ ```
34
+
35
+ ## Templates
36
+
37
+ ### Phase Templates
38
+ - `phase:specify` — Specification analysis
39
+ - `phase:clarify` — Clarification questions
40
+ - `phase:plan` — Execution plan
41
+ - `phase:implement` — Implementation task
42
+ - `phase:review` — Code review
43
+ - `phase:fix` — Fix request
44
+
45
+ All phase templates support **artifact rules** via `PhaseContext.artifactRules`.
46
+
47
+ ### Reviewer Templates
48
+ - `reviewer:architecture` — Module boundaries, dependency direction
49
+ - `reviewer:security` — Authorization, credential exposure, injection
50
+ - `reviewer:code-quality` — Code standards, patterns, maintainability
51
+ - `reviewer:test-quality` — Test coverage, assertions, edge cases
52
+ - `reviewer:ux-quality` — Usability, accessibility, consistency
53
+ - `reviewer:quality` — General spec quality
54
+ - `reviewer:specification` — Spec completeness and correctness
55
+
56
+ All built-in reviewers support **custom instructions** via `ReviewContext.customPrompt`.
57
+
58
+ ### Custom Reviewers
59
+
60
+ The `renderCustomReview()` function handles any user-defined reviewer:
61
+
62
+ ```typescript
63
+ import { renderCustomReview } from '@prodara/templates';
64
+
65
+ const output = renderCustomReview({
66
+ ...reviewContext,
67
+ reviewerName: 'performance',
68
+ customPrompt: 'Focus on database query optimization...',
69
+ });
70
+ ```
71
+
72
+ Dynamic dispatch: `render('reviewer:my-custom', ctx)` automatically routes to `renderCustomReview()` for non-built-in IDs.
73
+
74
+ ### Template Overrides
75
+
76
+ Pass `templateOverride` in `RenderOptions` to replace any built-in template:
77
+
78
+ ```typescript
79
+ const output = render('phase:specify', ctx, {
80
+ templateOverride: customMarkdown,
81
+ platform: 'copilot',
82
+ });
83
+ ```
84
+
85
+ ### Platform Adapters
86
+ - **Copilot** — YAML frontmatter with `mode` and `tools`
87
+ - **Claude** — Pass-through markdown
88
+ - **Cursor** — MDC frontmatter with `description` and `globs`
89
+ - **OpenCode** — Pass-through markdown
90
+ - **Codex** — Pass-through markdown
91
+
92
+ ## License
93
+
94
+ MIT
@@ -0,0 +1,5 @@
1
+ export { render, listTemplates, wrapForPlatform } from './renderer.js';
2
+ export { renderSpecify, renderClarify, renderPlan, renderImplement, renderReview, renderFix, renderExplore, renderHelp, renderParty, renderDesign, renderOnboard, } from './phases/index.js';
3
+ export { renderArchitectureReview, renderSecurityReview, renderCodeQualityReview, renderTestQualityReview, renderUxQualityReview, renderCustomReview, renderAdversarialReview, renderEdgeCaseReview, ARCHITECTURE_PERSPECTIVE, SECURITY_PERSPECTIVE, CODE_QUALITY_PERSPECTIVE, TEST_QUALITY_PERSPECTIVE, UX_QUALITY_PERSPECTIVE, ADVERSARIAL_PERSPECTIVE, EDGE_CASE_PERSPECTIVE, } from './reviewers/index.js';
4
+ export { wrapCopilot, wrapClaude, wrapCursor, wrapOpencode, wrapCodex, wrapGemini, wrapWindsurf, wrapKiro, wrapJules, wrapAmp, wrapRoo, wrapAider, wrapCline, wrapContinue, wrapZed, wrapBolt, wrapAide, wrapTrae, wrapAugment, wrapSourcegraph, wrapTabnine, wrapSupermaven, wrapVoid, wrapPear, wrapDouble, wrapGeneric, makeAdapter, COPILOT_DIR, COPILOT_EXT, CLAUDE_DIR, CLAUDE_EXT, CURSOR_DIR, CURSOR_EXT, OPENCODE_DIR, OPENCODE_EXT, CODEX_DIR, CODEX_EXT, GEMINI_DIR, GEMINI_EXT, WINDSURF_DIR, WINDSURF_EXT, KIRO_DIR, KIRO_EXT, JULES_DIR, JULES_EXT, AMP_DIR, AMP_EXT, ROO_DIR, ROO_EXT, AIDER_DIR, AIDER_EXT, CLINE_DIR, CLINE_EXT, CONTINUE_DIR, CONTINUE_EXT, ZED_DIR, ZED_EXT, BOLT_DIR, BOLT_EXT, AIDE_DIR, AIDE_EXT, TRAE_DIR, TRAE_EXT, AUGMENT_DIR, AUGMENT_EXT, SOURCEGRAPH_DIR, SOURCEGRAPH_EXT, TABNINE_DIR, TABNINE_EXT, SUPERMAVEN_DIR, SUPERMAVEN_EXT, VOID_DIR, VOID_EXT, PEAR_DIR, PEAR_EXT, DOUBLE_DIR, DOUBLE_EXT, GENERIC_DIR, GENERIC_EXT, } from './platforms/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Barrel Export
3
+ // ---------------------------------------------------------------------------
4
+ export { render, listTemplates, wrapForPlatform } from './renderer.js';
5
+ export { renderSpecify, renderClarify, renderPlan, renderImplement, renderReview, renderFix, renderExplore, renderHelp, renderParty, renderDesign, renderOnboard, } from './phases/index.js';
6
+ export { renderArchitectureReview, renderSecurityReview, renderCodeQualityReview, renderTestQualityReview, renderUxQualityReview, renderCustomReview, renderAdversarialReview, renderEdgeCaseReview, ARCHITECTURE_PERSPECTIVE, SECURITY_PERSPECTIVE, CODE_QUALITY_PERSPECTIVE, TEST_QUALITY_PERSPECTIVE, UX_QUALITY_PERSPECTIVE, ADVERSARIAL_PERSPECTIVE, EDGE_CASE_PERSPECTIVE, } from './reviewers/index.js';
7
+ export { wrapCopilot, wrapClaude, wrapCursor, wrapOpencode, wrapCodex, wrapGemini, wrapWindsurf, wrapKiro, wrapJules, wrapAmp, wrapRoo, wrapAider, wrapCline, wrapContinue, wrapZed, wrapBolt, wrapAide, wrapTrae, wrapAugment, wrapSourcegraph, wrapTabnine, wrapSupermaven, wrapVoid, wrapPear, wrapDouble, wrapGeneric, makeAdapter, COPILOT_DIR, COPILOT_EXT, CLAUDE_DIR, CLAUDE_EXT, CURSOR_DIR, CURSOR_EXT, OPENCODE_DIR, OPENCODE_EXT, CODEX_DIR, CODEX_EXT, GEMINI_DIR, GEMINI_EXT, WINDSURF_DIR, WINDSURF_EXT, KIRO_DIR, KIRO_EXT, JULES_DIR, JULES_EXT, AMP_DIR, AMP_EXT, ROO_DIR, ROO_EXT, AIDER_DIR, AIDER_EXT, CLINE_DIR, CLINE_EXT, CONTINUE_DIR, CONTINUE_EXT, ZED_DIR, ZED_EXT, BOLT_DIR, BOLT_EXT, AIDE_DIR, AIDE_EXT, TRAE_DIR, TRAE_EXT, AUGMENT_DIR, AUGMENT_EXT, SOURCEGRAPH_DIR, SOURCEGRAPH_EXT, TABNINE_DIR, TABNINE_EXT, SUPERMAVEN_DIR, SUPERMAVEN_EXT, VOID_DIR, VOID_EXT, PEAR_DIR, PEAR_EXT, DOUBLE_DIR, DOUBLE_EXT, GENERIC_DIR, GENERIC_EXT, } from './platforms/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ClarifyContext } from '../types.js';
2
+ /** Render the Clarify phase prompt with open questions. */
3
+ export declare function renderClarify(ctx: ClarifyContext): string;
4
+ //# sourceMappingURL=clarify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clarify.d.ts","sourceRoot":"","sources":["../../src/phases/clarify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAqCzD"}
@@ -0,0 +1,38 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Clarify Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Clarify phase prompt with open questions. */
6
+ export function renderClarify(ctx) {
7
+ const lines = [];
8
+ lines.push('# Clarification Required');
9
+ lines.push('');
10
+ lines.push(`Ambiguity threshold: **${ctx.threshold}**`);
11
+ lines.push('');
12
+ lines.push(`The following ${ctx.questions.length} question(s) need resolution:`);
13
+ lines.push('');
14
+ for (const q of ctx.questions) {
15
+ lines.push(`## ${q.id}: ${q.text}`);
16
+ lines.push(`Confidence: ${q.confidence}`);
17
+ if (q.options.length > 0) {
18
+ lines.push('Options:');
19
+ for (const opt of q.options) {
20
+ lines.push(`- ${opt}`);
21
+ }
22
+ }
23
+ lines.push('');
24
+ }
25
+ if (ctx.constitution) {
26
+ lines.push('## Constitution');
27
+ lines.push('');
28
+ lines.push(ctx.constitution);
29
+ }
30
+ if (ctx.graphSlice) {
31
+ lines.push('## Graph Context');
32
+ lines.push('');
33
+ lines.push(ctx.graphSlice);
34
+ }
35
+ appendArtifactRules(lines, ctx);
36
+ return lines.join('\n');
37
+ }
38
+ //# sourceMappingURL=clarify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clarify.js","sourceRoot":"","sources":["../../src/phases/clarify.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAG9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,CAAC,MAAM,+BAA+B,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DesignContext } from '../types.js';
2
+ /** Render the Design phase prompt — per-change design document generation. */
3
+ export declare function renderDesign(ctx: DesignContext): string;
4
+ //# sourceMappingURL=design.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/phases/design.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CA6EvD"}
@@ -0,0 +1,72 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Design Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Design phase prompt — per-change design document generation. */
6
+ export function renderDesign(ctx) {
7
+ const lines = [];
8
+ lines.push('# Design Document');
9
+ lines.push('');
10
+ lines.push(`## Change: ${ctx.changeName}`);
11
+ lines.push('');
12
+ if (ctx.proposalSummary) {
13
+ lines.push('## Proposal Summary');
14
+ lines.push('');
15
+ lines.push(ctx.proposalSummary);
16
+ lines.push('');
17
+ }
18
+ lines.push('## Technical Approach');
19
+ lines.push('');
20
+ lines.push('Describe the technical strategy for implementing this change.');
21
+ lines.push('');
22
+ if (ctx.affectedModules.length > 0) {
23
+ lines.push('## Affected Modules');
24
+ lines.push('');
25
+ for (const mod of ctx.affectedModules) {
26
+ lines.push(`- ${mod}`);
27
+ }
28
+ lines.push('');
29
+ }
30
+ if (ctx.predictedFileChanges.length > 0) {
31
+ lines.push('## Predicted File Changes');
32
+ lines.push('');
33
+ for (const file of ctx.predictedFileChanges) {
34
+ lines.push(`- ${file}`);
35
+ }
36
+ lines.push('');
37
+ }
38
+ if (ctx.risks.length > 0) {
39
+ lines.push('## Risk Assessment');
40
+ lines.push('');
41
+ for (const risk of ctx.risks) {
42
+ lines.push(`- ${risk}`);
43
+ }
44
+ lines.push('');
45
+ }
46
+ if (ctx.dependencies.length > 0) {
47
+ lines.push('## Dependencies');
48
+ lines.push('');
49
+ for (const dep of ctx.dependencies) {
50
+ lines.push(`- ${dep}`);
51
+ }
52
+ lines.push('');
53
+ }
54
+ lines.push('## Architecture Decisions');
55
+ lines.push('');
56
+ lines.push('Document key architecture decisions and their rationale.');
57
+ if (ctx.constitution) {
58
+ lines.push('');
59
+ lines.push('## Constitution');
60
+ lines.push('');
61
+ lines.push(ctx.constitution);
62
+ }
63
+ if (ctx.graphSlice) {
64
+ lines.push('');
65
+ lines.push('## Graph Context');
66
+ lines.push('');
67
+ lines.push(ctx.graphSlice);
68
+ }
69
+ appendArtifactRules(lines, ctx);
70
+ return lines.join('\n');
71
+ }
72
+ //# sourceMappingURL=design.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.js","sourceRoot":"","sources":["../../src/phases/design.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ExploreContext } from '../types.js';
2
+ /** Render the Explore phase prompt — read-only investigation of a topic. */
3
+ export declare function renderExplore(ctx: ExploreContext): string;
4
+ //# sourceMappingURL=explore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/phases/explore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAqDzD"}
@@ -0,0 +1,52 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Explore Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Explore phase prompt — read-only investigation of a topic. */
6
+ export function renderExplore(ctx) {
7
+ const lines = [];
8
+ lines.push('# Exploration');
9
+ lines.push('');
10
+ lines.push(`## Topic: ${ctx.topic}`);
11
+ lines.push('');
12
+ lines.push('Analyze the current product graph and specification to explore this topic.');
13
+ lines.push('This is a **read-only investigation** — no files should be modified.');
14
+ lines.push('');
15
+ if (ctx.modules.length > 0) {
16
+ lines.push('## Relevant Modules');
17
+ lines.push('');
18
+ for (const mod of ctx.modules) {
19
+ lines.push(`- ${mod}`);
20
+ }
21
+ lines.push('');
22
+ }
23
+ if (ctx.relatedEntities.length > 0) {
24
+ lines.push('## Related Entities');
25
+ lines.push('');
26
+ for (const entity of ctx.relatedEntities) {
27
+ lines.push(`- ${entity}`);
28
+ }
29
+ lines.push('');
30
+ }
31
+ lines.push('## Guidelines');
32
+ lines.push('');
33
+ lines.push('1. Understand existing entities, workflows, and relationships');
34
+ lines.push('2. Suggest possible approaches or enhancements');
35
+ lines.push('3. Highlight trade-offs and considerations');
36
+ lines.push('4. Identify affected modules and dependencies');
37
+ if (ctx.constitution) {
38
+ lines.push('');
39
+ lines.push('## Constitution');
40
+ lines.push('');
41
+ lines.push(ctx.constitution);
42
+ }
43
+ if (ctx.graphSlice) {
44
+ lines.push('');
45
+ lines.push('## Graph Context');
46
+ lines.push('');
47
+ lines.push(ctx.graphSlice);
48
+ }
49
+ appendArtifactRules(lines, ctx);
50
+ return lines.join('\n');
51
+ }
52
+ //# sourceMappingURL=explore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore.js","sourceRoot":"","sources":["../../src/phases/explore.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAG9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAE5D,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FixContext } from '../types.js';
2
+ /** Render the Fix phase prompt listing actionable findings filtered by severity. */
3
+ export declare function renderFix(ctx: FixContext): string;
4
+ //# sourceMappingURL=fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/phases/fix.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA6CjD"}
@@ -0,0 +1,42 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Fix Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Fix phase prompt listing actionable findings filtered by severity. */
6
+ export function renderFix(ctx) {
7
+ const actionable = ctx.findings.filter((f) => ctx.fixSeverity.includes(f.severity));
8
+ const lines = [];
9
+ lines.push('# Fix Request');
10
+ lines.push('');
11
+ if (actionable.length === 0) {
12
+ lines.push('No actionable findings to fix.');
13
+ return lines.join('\n');
14
+ }
15
+ lines.push(`The following ${actionable.length} finding(s) require fixes:`);
16
+ lines.push('');
17
+ for (const f of actionable) {
18
+ const node = f.nodeId ? `\nNode: ${f.nodeId}` : '';
19
+ lines.push(`## [${f.severity.toUpperCase()}] ${f.category}${node}`);
20
+ lines.push(f.message);
21
+ if (f.suggestion) {
22
+ lines.push(`Suggestion: ${f.suggestion}`);
23
+ }
24
+ lines.push('');
25
+ }
26
+ lines.push('Apply fixes that resolve these findings without introducing regressions.');
27
+ if (ctx.constitution) {
28
+ lines.push('');
29
+ lines.push('## Constitution');
30
+ lines.push('');
31
+ lines.push(ctx.constitution);
32
+ }
33
+ if (ctx.graphSlice) {
34
+ lines.push('');
35
+ lines.push('## Graph Context');
36
+ lines.push('');
37
+ lines.push(ctx.graphSlice);
38
+ }
39
+ appendArtifactRules(lines, ctx);
40
+ return lines.join('\n');
41
+ }
42
+ //# sourceMappingURL=fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/phases/fix.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAG9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,GAAe;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IAEvF,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HelpContext } from '../types.js';
2
+ /** Render the Help phase prompt — contextual guidance based on project state. */
3
+ export declare function renderHelp(ctx: HelpContext): string;
4
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/phases/help.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAyCnD"}
@@ -0,0 +1,40 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Help Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Help phase prompt — contextual guidance based on project state. */
6
+ export function renderHelp(ctx) {
7
+ const lines = [];
8
+ lines.push('# Prodara Help');
9
+ lines.push('');
10
+ lines.push('## Project State');
11
+ lines.push('');
12
+ lines.push(`- .prd files: **${ctx.prdFileCount}**`);
13
+ lines.push(`- Build artifacts: **${ctx.hasBuild ? 'present' : 'none'}**`);
14
+ if (ctx.modules.length > 0) {
15
+ lines.push(`- Modules: ${ctx.modules.join(', ')}`);
16
+ }
17
+ lines.push('');
18
+ if (ctx.recommendations.length > 0) {
19
+ lines.push('## Recommendations');
20
+ lines.push('');
21
+ for (const rec of ctx.recommendations) {
22
+ lines.push(`- ${rec}`);
23
+ }
24
+ lines.push('');
25
+ }
26
+ if (ctx.constitution) {
27
+ lines.push('## Constitution');
28
+ lines.push('');
29
+ lines.push(ctx.constitution);
30
+ }
31
+ if (ctx.graphSlice) {
32
+ lines.push('');
33
+ lines.push('## Graph Context');
34
+ lines.push('');
35
+ lines.push(ctx.graphSlice);
36
+ }
37
+ appendArtifactRules(lines, ctx);
38
+ return lines.join('\n');
39
+ }
40
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/phases/help.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAG9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAE1E,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PhaseContext } from '../types.js';
2
+ /** Append artifact rules section to output lines if present. */
3
+ export declare function appendArtifactRules(lines: string[], ctx: PhaseContext): void;
4
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/phases/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAS5E"}
@@ -0,0 +1,15 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Shared Phase Helpers
3
+ // ---------------------------------------------------------------------------
4
+ /** Append artifact rules section to output lines if present. */
5
+ export function appendArtifactRules(lines, ctx) {
6
+ if (ctx.artifactRules && ctx.artifactRules.length > 0) {
7
+ lines.push('');
8
+ lines.push('## Artifact Rules');
9
+ lines.push('');
10
+ for (const rule of ctx.artifactRules) {
11
+ lines.push(`- ${rule}`);
12
+ }
13
+ }
14
+ }
15
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/phases/helpers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAI9E,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,KAAe,EAAE,GAAiB;IACpE,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ImplementContext } from '../types.js';
2
+ /** Render the Implement phase prompt for a specific task. */
3
+ export declare function renderImplement(ctx: ImplementContext): string;
4
+ //# sourceMappingURL=implement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implement.d.ts","sourceRoot":"","sources":["../../src/phases/implement.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAkE7D"}
@@ -0,0 +1,62 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Implement Phase
3
+ // ---------------------------------------------------------------------------
4
+ import { appendArtifactRules } from './helpers.js';
5
+ /** Render the Implement phase prompt for a specific task. */
6
+ export function renderImplement(ctx) {
7
+ const lines = [];
8
+ lines.push(`# Implementation Task: ${ctx.taskId}`);
9
+ lines.push(`Action: ${ctx.action} | Node: ${ctx.nodeId} (${ctx.nodeKind}) | Module: ${ctx.module}`);
10
+ lines.push('');
11
+ lines.push('## Context');
12
+ lines.push(ctx.reason);
13
+ lines.push('');
14
+ if (ctx.fieldDefinitions.length > 0) {
15
+ lines.push('## Field Definitions');
16
+ for (const f of ctx.fieldDefinitions) {
17
+ lines.push(`- ${f}`);
18
+ }
19
+ lines.push('');
20
+ }
21
+ if (ctx.relatedEdges.length > 0) {
22
+ lines.push('## Related Edges');
23
+ for (const e of ctx.relatedEdges) {
24
+ lines.push(`- ${e}`);
25
+ }
26
+ lines.push('');
27
+ }
28
+ if (ctx.governanceRules.length > 0) {
29
+ lines.push('## Governance Rules');
30
+ for (const r of ctx.governanceRules) {
31
+ lines.push(`- [${r.category}] ${r.rule}`);
32
+ }
33
+ lines.push('');
34
+ }
35
+ if (ctx.preserveSeams) {
36
+ lines.push('## Seam Preservation');
37
+ lines.push('Preserve any user code between `// PRODARA SEAM START <id>` and `// PRODARA SEAM END <id>` markers.');
38
+ lines.push('Do not modify or remove seam-protected sections.');
39
+ lines.push('');
40
+ }
41
+ if (ctx.constitution) {
42
+ lines.push('## Constitution');
43
+ lines.push('');
44
+ lines.push(ctx.constitution);
45
+ lines.push('');
46
+ }
47
+ if (ctx.graphSlice) {
48
+ lines.push('## Graph Context');
49
+ lines.push('');
50
+ lines.push(ctx.graphSlice);
51
+ lines.push('');
52
+ }
53
+ if (ctx.governance) {
54
+ lines.push('## Governance');
55
+ lines.push('');
56
+ lines.push(ctx.governance);
57
+ lines.push('');
58
+ }
59
+ appendArtifactRules(lines, ctx);
60
+ return lines.join('\n');
61
+ }
62
+ //# sourceMappingURL=implement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implement.js","sourceRoot":"","sources":["../../src/phases/implement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export { appendArtifactRules } from './helpers.js';
2
+ export { renderSpecify } from './specify.js';
3
+ export { renderClarify } from './clarify.js';
4
+ export { renderPlan } from './plan.js';
5
+ export { renderImplement } from './implement.js';
6
+ export { renderReview } from './review.js';
7
+ export { renderFix } from './fix.js';
8
+ export { renderExplore } from './explore.js';
9
+ export { renderHelp } from './help.js';
10
+ export { renderParty } from './party.js';
11
+ export { renderDesign } from './design.js';
12
+ export { renderOnboard } from './onboard.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,16 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Prodara Templates — Phase Templates Barrel
3
+ // ---------------------------------------------------------------------------
4
+ export { appendArtifactRules } from './helpers.js';
5
+ export { renderSpecify } from './specify.js';
6
+ export { renderClarify } from './clarify.js';
7
+ export { renderPlan } from './plan.js';
8
+ export { renderImplement } from './implement.js';
9
+ export { renderReview } from './review.js';
10
+ export { renderFix } from './fix.js';
11
+ export { renderExplore } from './explore.js';
12
+ export { renderHelp } from './help.js';
13
+ export { renderParty } from './party.js';
14
+ export { renderDesign } from './design.js';
15
+ export { renderOnboard } from './onboard.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { OnboardContext } from '../types.js';
2
+ /** Render the Onboard phase prompt — interactive onboarding guide. */
3
+ export declare function renderOnboard(ctx: OnboardContext): string;
4
+ //# sourceMappingURL=onboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../src/phases/onboard.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA2EzD"}