opencastle 0.6.0 → 0.8.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 (223) hide show
  1. package/README.md +8 -7
  2. package/dist/cli/adapters/claude-code.d.ts.map +1 -1
  3. package/dist/cli/adapters/claude-code.js +30 -3
  4. package/dist/cli/adapters/claude-code.js.map +1 -1
  5. package/dist/cli/adapters/cursor.d.ts.map +1 -1
  6. package/dist/cli/adapters/cursor.js +27 -3
  7. package/dist/cli/adapters/cursor.js.map +1 -1
  8. package/dist/cli/adapters/opencode.d.ts +20 -0
  9. package/dist/cli/adapters/opencode.d.ts.map +1 -0
  10. package/dist/cli/adapters/opencode.js +265 -0
  11. package/dist/cli/adapters/opencode.js.map +1 -0
  12. package/dist/cli/adapters/vscode.d.ts.map +1 -1
  13. package/dist/cli/adapters/vscode.js +37 -6
  14. package/dist/cli/adapters/vscode.js.map +1 -1
  15. package/dist/cli/copy.d.ts +12 -0
  16. package/dist/cli/copy.d.ts.map +1 -1
  17. package/dist/cli/copy.js +27 -0
  18. package/dist/cli/copy.js.map +1 -1
  19. package/dist/cli/detect.d.ts +1 -1
  20. package/dist/cli/detect.js +21 -15
  21. package/dist/cli/detect.js.map +1 -1
  22. package/dist/cli/init.d.ts.map +1 -1
  23. package/dist/cli/init.js +143 -94
  24. package/dist/cli/init.js.map +1 -1
  25. package/dist/cli/manifest.d.ts +1 -1
  26. package/dist/cli/manifest.d.ts.map +1 -1
  27. package/dist/cli/manifest.js +2 -1
  28. package/dist/cli/manifest.js.map +1 -1
  29. package/dist/cli/mcp.d.ts +6 -6
  30. package/dist/cli/mcp.d.ts.map +1 -1
  31. package/dist/cli/mcp.js +104 -33
  32. package/dist/cli/mcp.js.map +1 -1
  33. package/dist/cli/prompt.d.ts +19 -0
  34. package/dist/cli/prompt.d.ts.map +1 -1
  35. package/dist/cli/prompt.js +143 -0
  36. package/dist/cli/prompt.js.map +1 -1
  37. package/dist/cli/stack-config.d.ts +23 -0
  38. package/dist/cli/stack-config.d.ts.map +1 -1
  39. package/dist/cli/stack-config.js +128 -124
  40. package/dist/cli/stack-config.js.map +1 -1
  41. package/dist/cli/types.d.ts +26 -9
  42. package/dist/cli/types.d.ts.map +1 -1
  43. package/dist/cli/types.js +26 -1
  44. package/dist/cli/types.js.map +1 -1
  45. package/dist/cli/update.d.ts.map +1 -1
  46. package/dist/cli/update.js +60 -19
  47. package/dist/cli/update.js.map +1 -1
  48. package/dist/orchestrator/plugins/chrome-devtools/config.d.ts +3 -0
  49. package/dist/orchestrator/plugins/chrome-devtools/config.d.ts.map +1 -0
  50. package/dist/orchestrator/plugins/chrome-devtools/config.js +28 -0
  51. package/dist/orchestrator/plugins/chrome-devtools/config.js.map +1 -0
  52. package/dist/orchestrator/plugins/contentful/config.d.ts +3 -0
  53. package/dist/orchestrator/plugins/contentful/config.d.ts.map +1 -0
  54. package/dist/orchestrator/plugins/contentful/config.js +48 -0
  55. package/dist/orchestrator/plugins/contentful/config.js.map +1 -0
  56. package/dist/orchestrator/plugins/convex/config.d.ts +3 -0
  57. package/dist/orchestrator/plugins/convex/config.d.ts.map +1 -0
  58. package/dist/orchestrator/plugins/convex/config.js +32 -0
  59. package/dist/orchestrator/plugins/convex/config.js.map +1 -0
  60. package/dist/orchestrator/plugins/index.d.ts +28 -0
  61. package/dist/orchestrator/plugins/index.d.ts.map +1 -0
  62. package/dist/orchestrator/plugins/index.js +63 -0
  63. package/dist/orchestrator/plugins/index.js.map +1 -0
  64. package/dist/orchestrator/plugins/jira/config.d.ts +3 -0
  65. package/dist/orchestrator/plugins/jira/config.d.ts.map +1 -0
  66. package/dist/orchestrator/plugins/jira/config.js +29 -0
  67. package/dist/orchestrator/plugins/jira/config.js.map +1 -0
  68. package/dist/orchestrator/plugins/linear/config.d.ts +3 -0
  69. package/dist/orchestrator/plugins/linear/config.d.ts.map +1 -0
  70. package/dist/orchestrator/plugins/linear/config.js +33 -0
  71. package/dist/orchestrator/plugins/linear/config.js.map +1 -0
  72. package/dist/orchestrator/plugins/nx/config.d.ts +3 -0
  73. package/dist/orchestrator/plugins/nx/config.d.ts.map +1 -0
  74. package/dist/orchestrator/plugins/nx/config.js +28 -0
  75. package/dist/orchestrator/plugins/nx/config.js.map +1 -0
  76. package/dist/orchestrator/plugins/sanity/config.d.ts +3 -0
  77. package/dist/orchestrator/plugins/sanity/config.d.ts.map +1 -0
  78. package/dist/orchestrator/plugins/sanity/config.js +43 -0
  79. package/dist/orchestrator/plugins/sanity/config.js.map +1 -0
  80. package/dist/orchestrator/plugins/slack/config.d.ts +3 -0
  81. package/dist/orchestrator/plugins/slack/config.d.ts.map +1 -0
  82. package/dist/orchestrator/plugins/slack/config.js +34 -0
  83. package/dist/orchestrator/plugins/slack/config.js.map +1 -0
  84. package/dist/orchestrator/plugins/strapi/config.d.ts +3 -0
  85. package/dist/orchestrator/plugins/strapi/config.d.ts.map +1 -0
  86. package/dist/orchestrator/plugins/strapi/config.js +40 -0
  87. package/dist/orchestrator/plugins/strapi/config.js.map +1 -0
  88. package/dist/orchestrator/plugins/supabase/config.d.ts +3 -0
  89. package/dist/orchestrator/plugins/supabase/config.d.ts.map +1 -0
  90. package/dist/orchestrator/plugins/supabase/config.js +33 -0
  91. package/dist/orchestrator/plugins/supabase/config.js.map +1 -0
  92. package/dist/orchestrator/plugins/teams/config.d.ts +3 -0
  93. package/dist/orchestrator/plugins/teams/config.d.ts.map +1 -0
  94. package/dist/orchestrator/plugins/teams/config.js +43 -0
  95. package/dist/orchestrator/plugins/teams/config.js.map +1 -0
  96. package/dist/orchestrator/plugins/types.d.ts +61 -0
  97. package/dist/orchestrator/plugins/types.d.ts.map +1 -0
  98. package/dist/orchestrator/plugins/types.js +2 -0
  99. package/dist/orchestrator/plugins/types.js.map +1 -0
  100. package/dist/orchestrator/plugins/vercel/config.d.ts +3 -0
  101. package/dist/orchestrator/plugins/vercel/config.d.ts.map +1 -0
  102. package/dist/orchestrator/plugins/vercel/config.js +32 -0
  103. package/dist/orchestrator/plugins/vercel/config.js.map +1 -0
  104. package/package.json +1 -1
  105. package/src/cli/adapters/claude-code.ts +36 -4
  106. package/src/cli/adapters/cursor.ts +42 -4
  107. package/src/cli/adapters/opencode.ts +320 -0
  108. package/src/cli/adapters/vscode.ts +40 -8
  109. package/src/cli/copy.ts +32 -0
  110. package/src/cli/detect.ts +17 -17
  111. package/src/cli/init.ts +157 -99
  112. package/src/cli/manifest.ts +2 -1
  113. package/src/cli/mcp.ts +129 -50
  114. package/src/cli/prompt.ts +176 -0
  115. package/src/cli/stack-config.ts +174 -145
  116. package/src/cli/types.ts +39 -8
  117. package/src/cli/update.ts +71 -20
  118. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  119. package/src/orchestrator/agent-workflows/README.md +1 -1
  120. package/src/orchestrator/agent-workflows/bug-fix.md +12 -12
  121. package/src/orchestrator/agent-workflows/data-pipeline.md +21 -20
  122. package/src/orchestrator/agent-workflows/database-migration.md +11 -11
  123. package/src/orchestrator/agent-workflows/feature-implementation.md +19 -12
  124. package/src/orchestrator/agent-workflows/performance-optimization.md +6 -6
  125. package/src/orchestrator/agent-workflows/refactoring.md +10 -10
  126. package/src/orchestrator/agent-workflows/schema-changes.md +8 -8
  127. package/src/orchestrator/agent-workflows/security-audit.md +12 -12
  128. package/src/orchestrator/agent-workflows/shared-delivery-phase.md +5 -5
  129. package/src/orchestrator/agents/api-designer.agent.md +1 -1
  130. package/src/orchestrator/agents/architect.agent.md +2 -2
  131. package/src/orchestrator/agents/content-engineer.agent.md +3 -3
  132. package/src/orchestrator/agents/copywriter.agent.md +2 -2
  133. package/src/orchestrator/agents/data-expert.agent.md +6 -6
  134. package/src/orchestrator/agents/database-engineer.agent.md +3 -3
  135. package/src/orchestrator/agents/developer.agent.md +4 -4
  136. package/src/orchestrator/agents/devops-expert.agent.md +5 -5
  137. package/src/orchestrator/agents/documentation-writer.agent.md +1 -1
  138. package/src/orchestrator/agents/performance-expert.agent.md +2 -2
  139. package/src/orchestrator/agents/release-manager.agent.md +4 -4
  140. package/src/orchestrator/agents/researcher.agent.md +3 -3
  141. package/src/orchestrator/agents/reviewer.agent.md +1 -1
  142. package/src/orchestrator/agents/security-expert.agent.md +4 -4
  143. package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
  144. package/src/orchestrator/agents/team-lead.agent.md +56 -38
  145. package/src/orchestrator/agents/testing-expert.agent.md +5 -5
  146. package/src/orchestrator/agents/ui-ux-expert.agent.md +6 -6
  147. package/src/orchestrator/copilot-instructions.md +1 -1
  148. package/src/orchestrator/customizations/AGENT-FAILURES.md +1 -1
  149. package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +12 -12
  150. package/src/orchestrator/customizations/DISPUTES.md +5 -5
  151. package/src/orchestrator/customizations/KNOWN-ISSUES.md +30 -0
  152. package/src/orchestrator/customizations/LESSONS-LEARNED.md +7 -7
  153. package/src/orchestrator/customizations/README.md +5 -2
  154. package/src/orchestrator/customizations/agents/agent-registry.md +1 -1
  155. package/src/orchestrator/customizations/agents/skill-matrix.md +12 -7
  156. package/src/orchestrator/customizations/logs/README.md +1 -1
  157. package/src/orchestrator/customizations/project/decisions.md +31 -0
  158. package/src/orchestrator/customizations/project/docs-structure.md +16 -5
  159. package/src/orchestrator/customizations/project/roadmap.md +24 -0
  160. package/src/orchestrator/customizations/project/tracker-config.md +1 -1
  161. package/src/orchestrator/customizations/stack/cms-config.md +1 -1
  162. package/src/orchestrator/customizations/stack/notifications-config.md +1 -1
  163. package/src/orchestrator/instructions/ai-optimization.instructions.md +2 -2
  164. package/src/orchestrator/instructions/general.instructions.md +102 -40
  165. package/src/orchestrator/{skills/browser-testing → plugins/chrome-devtools}/SKILL.md +1 -1
  166. package/src/orchestrator/plugins/chrome-devtools/config.ts +29 -0
  167. package/src/orchestrator/{skills/contentful-cms → plugins/contentful}/SKILL.md +1 -1
  168. package/src/orchestrator/plugins/contentful/config.ts +49 -0
  169. package/src/orchestrator/{skills/convex-database → plugins/convex}/SKILL.md +1 -1
  170. package/src/orchestrator/plugins/convex/config.ts +33 -0
  171. package/src/orchestrator/plugins/index.ts +85 -0
  172. package/src/orchestrator/{skills/jira-management → plugins/jira}/SKILL.md +3 -3
  173. package/src/orchestrator/plugins/jira/config.ts +30 -0
  174. package/src/orchestrator/{skills/task-management → plugins/linear}/SKILL.md +3 -3
  175. package/src/orchestrator/plugins/linear/config.ts +34 -0
  176. package/src/orchestrator/{skills/nx-workspace → plugins/nx}/SKILL.md +1 -1
  177. package/src/orchestrator/plugins/nx/config.ts +29 -0
  178. package/src/orchestrator/{skills/sanity-cms → plugins/sanity}/SKILL.md +1 -1
  179. package/src/orchestrator/plugins/sanity/config.ts +44 -0
  180. package/src/orchestrator/{skills/slack-notifications → plugins/slack}/SKILL.md +2 -2
  181. package/src/orchestrator/plugins/slack/config.ts +35 -0
  182. package/src/orchestrator/{skills/strapi-cms → plugins/strapi}/SKILL.md +1 -1
  183. package/src/orchestrator/plugins/strapi/config.ts +41 -0
  184. package/src/orchestrator/{skills/supabase-database → plugins/supabase}/SKILL.md +1 -1
  185. package/src/orchestrator/plugins/supabase/config.ts +34 -0
  186. package/src/orchestrator/{skills/teams-notifications → plugins/teams}/SKILL.md +2 -2
  187. package/src/orchestrator/plugins/teams/config.ts +44 -0
  188. package/src/orchestrator/plugins/types.ts +79 -0
  189. package/src/orchestrator/plugins/vercel/config.ts +33 -0
  190. package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +8 -8
  191. package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
  192. package/src/orchestrator/prompts/bug-fix.prompt.md +27 -22
  193. package/src/orchestrator/prompts/create-skill.prompt.md +50 -32
  194. package/src/orchestrator/prompts/generate-task-spec.prompt.md +3 -3
  195. package/src/orchestrator/prompts/implement-feature.prompt.md +34 -29
  196. package/src/orchestrator/prompts/metrics-report.prompt.md +11 -11
  197. package/src/orchestrator/prompts/quick-refinement.prompt.md +23 -19
  198. package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +19 -5
  199. package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
  200. package/src/orchestrator/skills/agent-hooks/SKILL.md +27 -18
  201. package/src/orchestrator/skills/agent-memory/SKILL.md +7 -7
  202. package/src/orchestrator/skills/api-patterns/SKILL.md +6 -6
  203. package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
  204. package/src/orchestrator/skills/context-map/SKILL.md +4 -4
  205. package/src/orchestrator/skills/data-engineering/SKILL.md +7 -4
  206. package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
  207. package/src/orchestrator/skills/documentation-standards/SKILL.md +1 -1
  208. package/src/orchestrator/skills/fast-review/SKILL.md +18 -7
  209. package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
  210. package/src/orchestrator/skills/memory-merger/SKILL.md +8 -8
  211. package/src/orchestrator/skills/nextjs-patterns/SKILL.md +1 -1
  212. package/src/orchestrator/skills/panel-majority-vote/SKILL.md +2 -2
  213. package/src/orchestrator/skills/panel-majority-vote/panel-report.template.md +1 -1
  214. package/src/orchestrator/skills/performance-optimization/SKILL.md +1 -1
  215. package/src/orchestrator/skills/react-development/SKILL.md +3 -3
  216. package/src/orchestrator/skills/security-hardening/SKILL.md +27 -27
  217. package/src/orchestrator/skills/self-improvement/SKILL.md +14 -13
  218. package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
  219. package/src/orchestrator/skills/session-checkpoints/SKILL.md +19 -19
  220. package/src/orchestrator/skills/team-lead-reference/SKILL.md +9 -9
  221. package/src/orchestrator/skills/testing-workflow/SKILL.md +13 -13
  222. package/src/orchestrator/skills/validation-gates/SKILL.md +157 -27
  223. package/src/orchestrator/mcp.json +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/cli/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
1
  import type { SelectOption } from './types.js';
2
+ /** ANSI color helpers for CLI output. */
3
+ export declare const c: {
4
+ cyan: (s: string) => string;
5
+ green: (s: string) => string;
6
+ yellow: (s: string) => string;
7
+ red: (s: string) => string;
8
+ bold: (s: string) => string;
9
+ dim: (s: string) => string;
10
+ magenta: (s: string) => string;
11
+ };
2
12
  /** Close the shared readline interface. Call once at command end. */
3
13
  export declare function closePrompts(): void;
4
14
  /**
@@ -12,4 +22,13 @@ export declare function select(message: string, options: SelectOption[]): Promis
12
22
  * Yes/No confirmation prompt.
13
23
  */
14
24
  export declare function confirm(message: string, defaultYes?: boolean): Promise<boolean>;
25
+ /**
26
+ * Interactive multi-choice selection prompt.
27
+ *
28
+ * TTY mode: arrow-key navigation (↑/↓), Space to toggle, Enter to confirm.
29
+ * Piped mode: falls back to comma-separated number input.
30
+ *
31
+ * Returns an array of selected values (possibly empty).
32
+ */
33
+ export declare function multiselect(message: string, options: SelectOption[]): Promise<string[]>;
15
34
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsE/C,qEAAqE;AACrE,wBAAgB,YAAY,IAAI,IAAI,CAOnC;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAiID;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,UAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAMlB"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,yCAAyC;AACzC,eAAO,MAAM,CAAC;cACF,MAAM;eACL,MAAM;gBACL,MAAM;aACT,MAAM;cACL,MAAM;aACP,MAAM;iBACF,MAAM;CACpB,CAAC;AA0DF,qEAAqE;AACrE,wBAAgB,YAAY,IAAI,IAAI,CAOnC;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAiID;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,UAAO,GAChB,OAAO,CAAC,OAAO,CAAC,CAMlB;AAID;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnB"}
@@ -9,6 +9,17 @@ const ERASE_LINE = `${CSI}2K`;
9
9
  function moveUp(n) {
10
10
  return n > 0 ? `${CSI}${n}A` : '';
11
11
  }
12
+ // ── Color helpers ─────────────────────────────────────────────────
13
+ /** ANSI color helpers for CLI output. */
14
+ export const c = {
15
+ cyan: (s) => `\x1B[36m${s}\x1B[0m`,
16
+ green: (s) => `\x1B[32m${s}\x1B[0m`,
17
+ yellow: (s) => `\x1B[33m${s}\x1B[0m`,
18
+ red: (s) => `\x1B[31m${s}\x1B[0m`,
19
+ bold: (s) => `\x1B[1m${s}\x1B[0m`,
20
+ dim: (s) => `\x1B[2m${s}\x1B[0m`,
21
+ magenta: (s) => `\x1B[35m${s}\x1B[0m`,
22
+ };
12
23
  // ── Line-buffered readline ────────────────────────────────────────
13
24
  // readline.question() drops lines that arrived between calls because
14
25
  // it only listens for the NEXT 'line' event. When piped input
@@ -197,4 +208,136 @@ export async function confirm(message, defaultYes = true) {
197
208
  return defaultYes;
198
209
  return answer.trim().toLowerCase().startsWith('y');
199
210
  }
211
+ // ── Multiselect ───────────────────────────────────────────────────
212
+ /**
213
+ * Interactive multi-choice selection prompt.
214
+ *
215
+ * TTY mode: arrow-key navigation (↑/↓), Space to toggle, Enter to confirm.
216
+ * Piped mode: falls back to comma-separated number input.
217
+ *
218
+ * Returns an array of selected values (possibly empty).
219
+ */
220
+ export async function multiselect(message, options) {
221
+ if (stdin.isTTY) {
222
+ return multiselectInteractive(message, options);
223
+ }
224
+ return multiselectNumbered(message, options);
225
+ }
226
+ // ── Arrow-key multiselect (TTY) ───────────────────────────────────
227
+ function renderMultiselectOptions(options, cursor, selected, initial) {
228
+ if (!initial) {
229
+ stdout.write(moveUp(options.length));
230
+ }
231
+ for (let i = 0; i < options.length; i++) {
232
+ const active = i === cursor;
233
+ const checked = selected.has(i);
234
+ const checkbox = checked ? `\x1B[32m✔\x1B[0m` : ' ';
235
+ const marker = active ? '❯' : ' ';
236
+ const hint = options[i].hint ? ` ${c.dim('—')} ${c.dim(options[i].hint)}` : '';
237
+ const label = active
238
+ ? `\x1B[36m${options[i].label}\x1B[0m${hint}`
239
+ : `${options[i].label}${hint}`;
240
+ stdout.write(`${ERASE_LINE}\r ${marker} [${checkbox}] ${label}\n`);
241
+ }
242
+ }
243
+ function multiselectInteractive(message, options) {
244
+ return new Promise((resolve) => {
245
+ let cursor = 0;
246
+ const selected = new Set();
247
+ // Pre-select options marked as selected
248
+ for (let i = 0; i < options.length; i++) {
249
+ if (options[i].selected)
250
+ selected.add(i);
251
+ }
252
+ if (_rl)
253
+ _rl.pause();
254
+ stdout.write(`\n ${message} ${c.dim('(↑/↓ navigate, Space toggle, Enter confirm)')}\n\n`);
255
+ stdout.write(HIDE_CURSOR);
256
+ renderMultiselectOptions(options, cursor, selected, true);
257
+ stdin.setRawMode(true);
258
+ stdin.resume();
259
+ const onData = (data) => {
260
+ const key = data.toString();
261
+ // Arrow up or k
262
+ if (key === `${ESC}[A` || key === 'k') {
263
+ cursor = (cursor - 1 + options.length) % options.length;
264
+ renderMultiselectOptions(options, cursor, selected, false);
265
+ return;
266
+ }
267
+ // Arrow down or j
268
+ if (key === `${ESC}[B` || key === 'j') {
269
+ cursor = (cursor + 1) % options.length;
270
+ renderMultiselectOptions(options, cursor, selected, false);
271
+ return;
272
+ }
273
+ // Space — toggle selection
274
+ if (key === ' ') {
275
+ if (selected.has(cursor)) {
276
+ selected.delete(cursor);
277
+ }
278
+ else {
279
+ selected.add(cursor);
280
+ }
281
+ renderMultiselectOptions(options, cursor, selected, false);
282
+ return;
283
+ }
284
+ // Enter — confirm
285
+ if (key === '\r' || key === '\n') {
286
+ cleanup();
287
+ // Final render
288
+ stdout.write(moveUp(options.length));
289
+ for (let i = 0; i < options.length; i++) {
290
+ const checked = selected.has(i);
291
+ const hint = options[i].hint ? ` ${c.dim('—')} ${c.dim(options[i].hint)}` : '';
292
+ const checkbox = checked ? `\x1B[32m✔\x1B[0m` : ' ';
293
+ const label = checked
294
+ ? `\x1B[36m${options[i].label}\x1B[0m${hint}`
295
+ : `\x1B[2m${options[i].label}${hint}\x1B[0m`;
296
+ stdout.write(`${ERASE_LINE}\r [${checkbox}] ${label}\n`);
297
+ }
298
+ stdout.write('\n');
299
+ resolve(Array.from(selected).sort().map(i => options[i].value));
300
+ return;
301
+ }
302
+ // Ctrl+C
303
+ if (key === '\x03') {
304
+ cleanup();
305
+ stdout.write('\n');
306
+ process.exit(130);
307
+ }
308
+ };
309
+ function cleanup() {
310
+ stdin.removeListener('data', onData);
311
+ stdin.setRawMode(false);
312
+ stdout.write(SHOW_CURSOR);
313
+ if (_rl)
314
+ _rl.resume();
315
+ }
316
+ stdin.on('data', onData);
317
+ });
318
+ }
319
+ // ── Number-based multiselect (piped / non-TTY) ────────────────────
320
+ async function multiselectNumbered(message, options) {
321
+ console.log(`\n ${message}\n`);
322
+ options.forEach((opt, i) => {
323
+ const hint = opt.hint ? ` — ${opt.hint}` : '';
324
+ console.log(` ${i + 1}) ${opt.label}${hint}`);
325
+ });
326
+ const preselected = options
327
+ .map((opt, i) => (opt.selected ? i + 1 : null))
328
+ .filter((n) => n !== null);
329
+ const defaultHint = preselected.length > 0 ? preselected.join(',') : 'none';
330
+ const answer = await nextLine(`\n Select [comma-separated, e.g. 1,3] or Enter for ${defaultHint}: `);
331
+ if (!answer.trim()) {
332
+ return preselected.map(n => options[n - 1].value);
333
+ }
334
+ const nums = answer.split(',').map(s => parseInt(s.trim(), 10));
335
+ const result = [];
336
+ for (const num of nums) {
337
+ if (num >= 1 && num <= options.length) {
338
+ result.push(options[num - 1].value);
339
+ }
340
+ }
341
+ return result;
342
+ }
200
343
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/cli/prompt.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,21 @@ export interface McpEnvRequirement {
7
7
  /** Short description of where to get the key */
8
8
  hint: string;
9
9
  }
10
+ /**
11
+ * Skills to EXCLUDE — all tool-specific skills that are NOT selected.
12
+ */
10
13
  export declare function getExcludedSkills(stack: StackConfig): Set<string>;
14
+ /**
15
+ * Plugin IDs to INCLUDE — the user's selected tools.
16
+ */
17
+ export declare function getIncludedPluginIds(stack: StackConfig): Set<string>;
18
+ /**
19
+ * Agents to EXCLUDE — content-engineer if no CMS, database-engineer if no DB.
20
+ */
11
21
  export declare function getExcludedAgents(stack: StackConfig): Set<string>;
22
+ /**
23
+ * MCP servers to INCLUDE — core + selected tools + auto-detected from repo.
24
+ */
12
25
  export declare function getIncludedMcpServers(stack: StackConfig, repoInfo?: RepoInfo): Set<string>;
13
26
  /**
14
27
  * Returns env var requirements for the MCP servers included in the stack.
@@ -22,4 +35,14 @@ export declare function getRequiredMcpEnvVars(stack: StackConfig, repoInfo?: Rep
22
35
  * Used by all adapters when copying the `customizations/` directory.
23
36
  */
24
37
  export declare function getCustomizationsTransform(stack: StackConfig): NonNullable<CopyDirOptions['transform']>;
38
+ /**
39
+ * Compute tool injections per agent based on the user's selected stack.
40
+ * Returns a Map where key = agent name (e.g. 'content-engineer'), value = tools to inject.
41
+ */
42
+ export declare function getAgentToolInjections(stack: StackConfig): Map<string, string[]>;
43
+ /**
44
+ * Returns a transform callback that injects plugin-specific tools
45
+ * into agent file frontmatter based on the user's stack selection.
46
+ */
47
+ export declare function getAgentTransform(stack: StackConfig): NonNullable<CopyDirOptions['transform']>;
25
48
  //# sourceMappingURL=stack-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/cli/stack-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8C,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkHpH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAeD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAKjE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAGlG;AAID;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,GACjB,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAQ1C"}
1
+ {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/cli/stack-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0C5F,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAkBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAIjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAEpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CASjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAwB1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAGlG;AAID;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,WAAW,GACjB,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAO1C;AAsCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAgBhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,GACjB,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAoC1C"}
@@ -1,135 +1,80 @@
1
- // ── Skill / Technology labels ─────────────────────────────────
2
- /** Display name for each CMS choice */
3
- const CMS_LABELS = {
4
- sanity: { tech: 'Sanity', skill: 'sanity-cms' },
5
- contentful: { tech: 'Contentful', skill: 'contentful-cms' },
6
- strapi: { tech: 'Strapi', skill: 'strapi-cms' },
7
- };
8
- /** Display name for each DB choice */
9
- const DB_LABELS = {
10
- supabase: { tech: 'Supabase', skill: 'supabase-database' },
11
- convex: { tech: 'Convex', skill: 'convex-database' },
12
- };
13
- /** Display name for each PM choice */
14
- const PM_LABELS = {
15
- linear: { tech: 'Linear', skill: 'task-management' },
16
- jira: { tech: 'Jira', skill: 'jira-management' },
17
- };
18
- /** Display name for each notifications choice */
19
- const NOTIF_LABELS = {
20
- slack: { tech: 'Slack', skill: 'slack-notifications' },
21
- teams: { tech: 'Teams', skill: 'teams-notifications' },
22
- };
23
- // ── Exclusion / inclusion maps ────────────────────────────────
24
- /** Skills to EXCLUDE based on CMS choice */
25
- const CMS_SKILL_MAP = {
26
- sanity: ['contentful-cms', 'strapi-cms'],
27
- contentful: ['sanity-cms', 'strapi-cms'],
28
- strapi: ['sanity-cms', 'contentful-cms'],
29
- none: ['sanity-cms', 'contentful-cms', 'strapi-cms'],
30
- };
31
- /** Skills to EXCLUDE based on DB choice */
32
- const DB_SKILL_MAP = {
33
- supabase: ['convex-database'],
34
- convex: ['supabase-database'],
35
- none: ['supabase-database', 'convex-database'],
36
- };
37
- /** Skills to EXCLUDE based on PM choice */
38
- const PM_SKILL_MAP = {
39
- linear: ['jira-management'],
40
- jira: ['task-management'],
41
- none: ['task-management', 'jira-management'],
42
- };
43
- /** Agents to EXCLUDE based on CMS choice */
44
- const CMS_AGENT_EXCLUSIONS = {
45
- sanity: [],
46
- contentful: [],
47
- strapi: [],
48
- none: ['content-engineer.agent.md'],
49
- };
50
- /** Agents to EXCLUDE based on DB choice */
51
- const DB_AGENT_EXCLUSIONS = {
52
- supabase: [],
53
- convex: [],
54
- none: ['database-engineer.agent.md'],
55
- };
56
- /** MCP server keys to INCLUDE based on CMS choice */
57
- const CMS_MCP_MAP = {
58
- sanity: ['Sanity'],
59
- contentful: ['Contentful'],
60
- strapi: ['Strapi'],
61
- none: [],
62
- };
63
- /** MCP server keys to INCLUDE based on DB choice */
64
- const DB_MCP_MAP = {
65
- supabase: ['Supabase'],
66
- convex: ['Convex'],
67
- none: [],
68
- };
69
- /** MCP server keys to INCLUDE based on PM choice */
70
- const PM_MCP_MAP = {
71
- linear: ['Linear'],
72
- jira: ['Jira'],
73
- none: [],
74
- };
75
- /** Skills to EXCLUDE based on notifications choice */
76
- const NOTIF_SKILL_MAP = {
77
- slack: ['teams-notifications'],
78
- teams: ['slack-notifications'],
79
- none: ['slack-notifications', 'teams-notifications'],
80
- };
81
- /** MCP server keys to INCLUDE based on notifications choice */
82
- const NOTIF_MCP_MAP = {
83
- slack: ['Slack'],
84
- teams: ['Teams'],
85
- none: [],
86
- };
87
- /** Always-included MCP servers */
88
- const CORE_MCP_SERVERS = ['chrome-devtools'];
89
- /** MCP servers included only when detected in the repo */
1
+ import { PLUGINS, TECH_PLUGINS, TEAM_PLUGINS, CMS_PLUGINS, DB_PLUGINS, ALL_PLUGIN_SKILL_NAMES, getSelectedSkillNames, } from '../orchestrator/plugins/index.js';
2
+ /** All tech-tool metadata derived from plugin configs. */
3
+ const TECH_TOOL_INFO = Object.fromEntries(TECH_PLUGINS.map((p) => [p.id, { tech: p.name, skill: p.skillName, mcpServer: p.mcpServerKey }]));
4
+ /** All team-tool metadata derived from plugin configs. */
5
+ const TEAM_TOOL_INFO = Object.fromEntries(TEAM_PLUGINS.map((p) => [p.id, { tech: p.name, skill: p.skillName, mcpServer: p.mcpServerKey }]));
6
+ /** CMS-related tech tools. */
7
+ const CMS_TOOLS = CMS_PLUGINS.map((p) => p.id);
8
+ /** Database-related tech tools. */
9
+ const DB_TOOLS = DB_PLUGINS.map((p) => p.id);
10
+ /** MCP servers auto-included when detected in the repo. */
90
11
  const DETECTED_MCP_MAP = {
91
12
  vercel: 'Vercel',
92
13
  };
93
14
  /**
94
15
  * Registry of MCP servers that require API keys via environment variables.
95
- * Only servers with `env` fields in mcp.json need to be listed here.
96
- * HTTP-based servers (Sanity, Slack, Vercel, etc.) handle auth via OAuth.
16
+ * Derived from plugin configs only plugins with envVars are included.
17
+ */
18
+ const MCP_ENV_REQUIREMENTS = Object.values(PLUGINS)
19
+ .filter((p) => p.envVars.length > 0 && p.mcpServerKey)
20
+ .flatMap((p) => p.envVars.map((ev) => ({
21
+ server: p.mcpServerKey,
22
+ envVar: ev.name,
23
+ hint: ev.hint,
24
+ })));
25
+ // ── Exported helpers ──────────────────────────────────────────
26
+ /**
27
+ * Skills to EXCLUDE — all tool-specific skills that are NOT selected.
97
28
  */
98
- const MCP_ENV_REQUIREMENTS = [
99
- {
100
- server: 'Linear',
101
- envVar: 'LINEAR_API_KEY',
102
- hint: 'Create at linear.app → Settings → API → Personal API keys',
103
- },
104
- ];
105
29
  export function getExcludedSkills(stack) {
106
- return new Set([
107
- ...CMS_SKILL_MAP[stack.cms],
108
- ...DB_SKILL_MAP[stack.db],
109
- ...PM_SKILL_MAP[stack.pm ?? 'none'],
110
- ...NOTIF_SKILL_MAP[stack.notifications ?? 'none'],
111
- ]);
30
+ const selectedIds = [...stack.techTools, ...stack.teamTools];
31
+ const includedSkills = new Set(getSelectedSkillNames(selectedIds));
32
+ return new Set(ALL_PLUGIN_SKILL_NAMES.filter((s) => !includedSkills.has(s)));
112
33
  }
34
+ /**
35
+ * Plugin IDs to INCLUDE — the user's selected tools.
36
+ */
37
+ export function getIncludedPluginIds(stack) {
38
+ return new Set([...stack.techTools, ...stack.teamTools]);
39
+ }
40
+ /**
41
+ * Agents to EXCLUDE — content-engineer if no CMS, database-engineer if no DB.
42
+ */
113
43
  export function getExcludedAgents(stack) {
114
- return new Set([
115
- ...CMS_AGENT_EXCLUSIONS[stack.cms],
116
- ...DB_AGENT_EXCLUSIONS[stack.db],
117
- ]);
44
+ const excluded = new Set();
45
+ const hasCms = stack.techTools.some((t) => CMS_TOOLS.includes(t));
46
+ const hasDb = stack.techTools.some((t) => DB_TOOLS.includes(t));
47
+ if (!hasCms)
48
+ excluded.add('content-engineer.agent.md');
49
+ if (!hasDb)
50
+ excluded.add('database-engineer.agent.md');
51
+ return excluded;
118
52
  }
53
+ /**
54
+ * MCP servers to INCLUDE — core + selected tools + auto-detected from repo.
55
+ */
119
56
  export function getIncludedMcpServers(stack, repoInfo) {
120
- const servers = new Set([
121
- ...CORE_MCP_SERVERS,
122
- ...CMS_MCP_MAP[stack.cms],
123
- ...DB_MCP_MAP[stack.db],
124
- ...PM_MCP_MAP[stack.pm ?? 'none'],
125
- ...NOTIF_MCP_MAP[stack.notifications ?? 'none'],
126
- ]);
57
+ const servers = new Set();
58
+ for (const tool of stack.techTools) {
59
+ const server = TECH_TOOL_INFO[tool]?.mcpServer;
60
+ if (server)
61
+ servers.add(server);
62
+ }
63
+ for (const tool of stack.teamTools) {
64
+ const server = TEAM_TOOL_INFO[tool]?.mcpServer;
65
+ if (server)
66
+ servers.add(server);
67
+ }
127
68
  // Add servers for detected deployment targets
128
69
  for (const dep of repoInfo?.deployment ?? []) {
129
70
  const server = DETECTED_MCP_MAP[dep];
130
71
  if (server)
131
72
  servers.add(server);
132
73
  }
74
+ // Auto-detect NX from monorepo info
75
+ if (repoInfo?.monorepo === 'nx' && !stack.techTools.includes('nx')) {
76
+ servers.add('Nx');
77
+ }
133
78
  return servers;
134
79
  }
135
80
  /**
@@ -149,7 +94,6 @@ export function getRequiredMcpEnvVars(stack, repoInfo) {
149
94
  */
150
95
  export function getCustomizationsTransform(stack) {
151
96
  return (content, srcPath) => {
152
- // Pre-fill skill matrix with CMS and DB bindings
153
97
  if (srcPath.endsWith('skill-matrix.md')) {
154
98
  return transformSkillMatrix(content, stack);
155
99
  }
@@ -162,16 +106,76 @@ export function getCustomizationsTransform(stack) {
162
106
  */
163
107
  function transformSkillMatrix(content, stack) {
164
108
  let result = content;
165
- // Fill the database row
166
- if (stack.db !== 'none') {
167
- const { tech, skill } = DB_LABELS[stack.db];
168
- result = result.replace(/(\| `database`\s*\|)\s*\|(\s*\|)/, `$1 ${tech} | \`${skill}\` $2`);
109
+ // Find first selected DB tool
110
+ const db = stack.techTools.find((t) => DB_TOOLS.includes(t));
111
+ if (db) {
112
+ const info = TECH_TOOL_INFO[db];
113
+ if (info?.skill) {
114
+ result = result.replace(/(\| `database`\s*\|)\s*\|(\s*\|)/, `$1 ${info.tech} | \`${info.skill}\` $2`);
115
+ }
169
116
  }
170
- // Fill the CMS row
171
- if (stack.cms !== 'none') {
172
- const { tech, skill } = CMS_LABELS[stack.cms];
173
- result = result.replace(/(\| `cms`\s*\|)\s*\|(\s*\|)/, `$1 ${tech} | \`${skill}\` $2`);
117
+ // Find first selected CMS tool
118
+ const cms = stack.techTools.find((t) => CMS_TOOLS.includes(t));
119
+ if (cms) {
120
+ const info = TECH_TOOL_INFO[cms];
121
+ if (info?.skill) {
122
+ result = result.replace(/(\| `cms`\s*\|)\s*\|(\s*\|)/, `$1 ${info.tech} | \`${info.skill}\` $2`);
123
+ }
174
124
  }
175
125
  return result;
176
126
  }
127
+ // ── Agent tool injection ──────────────────────────────────────
128
+ /**
129
+ * Compute tool injections per agent based on the user's selected stack.
130
+ * Returns a Map where key = agent name (e.g. 'content-engineer'), value = tools to inject.
131
+ */
132
+ export function getAgentToolInjections(stack) {
133
+ const injections = new Map();
134
+ const selectedIds = [...stack.techTools, ...stack.teamTools];
135
+ for (const id of selectedIds) {
136
+ const plugin = PLUGINS[id];
137
+ if (!plugin?.agentToolMap)
138
+ continue;
139
+ for (const [agentName, tools] of Object.entries(plugin.agentToolMap)) {
140
+ const existing = injections.get(agentName) ?? [];
141
+ existing.push(...tools);
142
+ injections.set(agentName, existing);
143
+ }
144
+ }
145
+ return injections;
146
+ }
147
+ /**
148
+ * Returns a transform callback that injects plugin-specific tools
149
+ * into agent file frontmatter based on the user's stack selection.
150
+ */
151
+ export function getAgentTransform(stack) {
152
+ const injections = getAgentToolInjections(stack);
153
+ return (content, srcPath) => {
154
+ // Extract agent name from filename (e.g., 'content-engineer' from 'content-engineer.agent.md')
155
+ const match = srcPath.match(/([^/\\]+)\.agent\.md$/);
156
+ if (!match)
157
+ return content;
158
+ const agentName = match[1];
159
+ const toolsToInject = injections.get(agentName);
160
+ if (!toolsToInject || toolsToInject.length === 0)
161
+ return content;
162
+ // Parse the frontmatter to find the tools array
163
+ const fmMatch = content.match(/^(---\n)([\s\S]*?)\n(---\n)([\s\S]*)$/);
164
+ if (!fmMatch)
165
+ return content;
166
+ const frontmatter = fmMatch[2];
167
+ const body = fmMatch[4];
168
+ // Find and modify the tools line
169
+ const toolsMatch = frontmatter.match(/^(tools:\s*\[)(.*?)(\]\s*)$/m);
170
+ if (!toolsMatch)
171
+ return content;
172
+ const existingTools = toolsMatch[2];
173
+ const injectedToolsList = toolsToInject.map((t) => `'${t}'`).join(', ');
174
+ const newTools = existingTools
175
+ ? `${existingTools}, ${injectedToolsList}`
176
+ : injectedToolsList;
177
+ const newFrontmatter = frontmatter.replace(toolsMatch[0], `${toolsMatch[1]}${newTools}${toolsMatch[3]}`);
178
+ return `---\n${newFrontmatter}\n---\n${body}`;
179
+ };
180
+ }
177
181
  //# sourceMappingURL=stack-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stack-config.js","sourceRoot":"","sources":["../../src/cli/stack-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-config.js","sourceRoot":"","sources":["../../src/cli/stack-config.ts"],"names":[],"mappings":"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"}