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,14 +1,26 @@
1
1
  import type { ChildProcess } from 'node:child_process';
2
- export type CmsChoice = 'sanity' | 'contentful' | 'strapi' | 'none';
3
- export type DbChoice = 'supabase' | 'convex' | 'none';
4
- export type PmChoice = 'linear' | 'jira' | 'none';
5
- export type NotifChoice = 'slack' | 'teams' | 'none';
2
+ export type IdeChoice = 'vscode' | 'cursor' | 'claude-code' | 'opencode';
3
+ export type TechTool = 'sanity' | 'contentful' | 'strapi' | 'supabase' | 'convex' | 'vercel' | 'nx' | 'chrome-devtools';
4
+ export type TeamTool = 'linear' | 'jira' | 'slack' | 'teams';
6
5
  export interface StackConfig {
7
- cms: CmsChoice;
8
- db: DbChoice;
9
- pm: PmChoice;
10
- notifications: NotifChoice;
11
- }
6
+ ides: IdeChoice[];
7
+ techTools: TechTool[];
8
+ teamTools: TeamTool[];
9
+ }
10
+ /** Check if a stack config uses the legacy v1 format (individual choices with 'none'). */
11
+ export declare function isLegacyStack(stack: unknown): stack is {
12
+ cms: string;
13
+ db: string;
14
+ pm?: string;
15
+ notifications?: string;
16
+ };
17
+ /** Migrate a legacy v1 stack config to the v2 array format. */
18
+ export declare function migrateStackConfig(legacy: {
19
+ cms: string;
20
+ db: string;
21
+ pm?: string;
22
+ notifications?: string;
23
+ }, ide?: string): StackConfig;
12
24
  /** Context passed from bin/cli.mjs to every command handler. */
13
25
  export interface CliContext {
14
26
  pkgRoot: string;
@@ -48,6 +60,7 @@ export interface RepoInfo {
48
60
  export interface Manifest {
49
61
  version: string;
50
62
  ide: string;
63
+ ides?: string[];
51
64
  installedAt: string;
52
65
  updatedAt: string;
53
66
  managedPaths?: ManagedPaths;
@@ -70,12 +83,16 @@ export interface SelectOption {
70
83
  label: string;
71
84
  hint?: string;
72
85
  value: string;
86
+ /** Whether this option starts selected (preselected). */
87
+ selected?: boolean;
73
88
  }
74
89
  /** Scaffold result from MCP config. */
75
90
  export interface ScaffoldResult {
76
91
  path: string;
77
92
  action: 'created' | 'skipped';
78
93
  }
94
+ /** IDE display labels. */
95
+ export declare const IDE_LABELS: Record<IdeChoice, string>;
79
96
  /** Validated task spec from YAML. */
80
97
  export interface TaskSpec {
81
98
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"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"}
package/dist/cli/types.js CHANGED
@@ -1,2 +1,27 @@
1
- export {};
1
+ /** Check if a stack config uses the legacy v1 format (individual choices with 'none'). */
2
+ export function isLegacyStack(stack) {
3
+ return typeof stack === 'object' && stack !== null && 'cms' in stack;
4
+ }
5
+ /** Migrate a legacy v1 stack config to the v2 array format. */
6
+ export function migrateStackConfig(legacy, ide) {
7
+ const techTools = [];
8
+ const teamTools = [];
9
+ if (legacy.cms && legacy.cms !== 'none')
10
+ techTools.push(legacy.cms);
11
+ if (legacy.db && legacy.db !== 'none')
12
+ techTools.push(legacy.db);
13
+ if (legacy.pm && legacy.pm !== 'none')
14
+ teamTools.push(legacy.pm);
15
+ if (legacy.notifications && legacy.notifications !== 'none')
16
+ teamTools.push(legacy.notifications);
17
+ const ides = ide ? [ide] : [];
18
+ return { ides, techTools, teamTools };
19
+ }
20
+ /** IDE display labels. */
21
+ export const IDE_LABELS = {
22
+ vscode: 'VS Code',
23
+ cursor: 'Cursor',
24
+ 'claude-code': 'Claude Code',
25
+ opencode: 'OpenCode',
26
+ };
2
27
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAcA,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC;AACvE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,kBAAkB,CAChC,MAAwE,EACxE,GAAY;IAEZ,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAe,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAc,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAc,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAyB,CAAC,CAAC;IAE9G,MAAM,IAAI,GAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC;AAoFD,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAA8B;IACnD,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,UAAU;CACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAA;AAWxD,wBAA8B,MAAM,CAAC,EACnC,OAAO,EACP,IAAI,GACL,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E5B"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAA;AAqBnE,wBAA8B,MAAM,CAAC,EACnC,OAAO,EACP,IAAI,GACL,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH5B"}
@@ -1,44 +1,62 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { readManifest, writeManifest } from './manifest.js';
4
- import { confirm, closePrompts } from './prompt.js';
4
+ import { confirm, closePrompts, c } from './prompt.js';
5
+ import { isLegacyStack, migrateStackConfig } from './types.js';
5
6
  const ADAPTERS = {
6
7
  vscode: () => import('./adapters/vscode.js'),
7
8
  cursor: () => import('./adapters/cursor.js'),
8
9
  'claude-code': () => import('./adapters/claude-code.js'),
10
+ opencode: () => import('./adapters/opencode.js'),
9
11
  };
10
12
  const VALID_IDES = Object.keys(ADAPTERS);
13
+ /** IDE display labels */
14
+ const IDE_DISPLAY = {
15
+ vscode: 'VS Code',
16
+ cursor: 'Cursor',
17
+ 'claude-code': 'Claude Code',
18
+ opencode: 'OpenCode',
19
+ };
11
20
  export default async function update({ pkgRoot, args, }) {
12
21
  const projectRoot = process.cwd();
13
22
  const manifest = await readManifest(projectRoot);
14
23
  if (!manifest) {
15
- console.error(' ✗ No OpenCastle installation found. Run "npx opencastle init" first.');
24
+ console.error(` ${c.red('✗')} No OpenCastle installation found. Run "npx opencastle init" first.`);
16
25
  process.exit(1);
17
26
  }
18
- if (!manifest.ide || !VALID_IDES.includes(manifest.ide)) {
19
- console.error(` ✗ Invalid IDE "${manifest.ide}" in .opencastle.json. Valid options: ${VALID_IDES.join(', ')}`);
27
+ // Determine list of IDEs to update (support legacy single-IDE manifests)
28
+ const ides = manifest.ides?.length ? manifest.ides : [manifest.ide];
29
+ const invalidIdes = ides.filter((id) => !VALID_IDES.includes(id));
30
+ if (invalidIdes.length > 0) {
31
+ console.error(` ${c.red('✗')} Invalid IDE(s) "${invalidIdes.join(', ')}" in .opencastle.json. Valid: ${VALID_IDES.join(', ')}`);
20
32
  process.exit(1);
21
33
  }
34
+ // Migrate legacy stack config if needed
35
+ if (manifest.stack && isLegacyStack(manifest.stack)) {
36
+ manifest.stack = migrateStackConfig(manifest.stack, manifest.ide);
37
+ manifest.stack.ides = ides;
38
+ }
22
39
  const pkg = JSON.parse(await readFile(resolve(pkgRoot, 'package.json'), 'utf8'));
23
40
  const dryRun = args.includes('--dry-run');
24
41
  if (manifest.version === pkg.version && !args.includes('--force') && !dryRun) {
25
42
  console.log(` Already up to date (v${pkg.version}).`);
26
43
  return;
27
44
  }
28
- console.log(`\n 🏰 OpenCastle ${dryRun ? 'dry-run' : 'update'}: v${manifest.version} → v${pkg.version}\n`);
29
- console.log(` IDE: ${manifest.ide}`);
30
- console.log(' Framework files will be overwritten.');
31
- console.log(' Customization files will be preserved.\n');
45
+ const ideNames = ides.map((id) => IDE_DISPLAY[id] ?? id).join(', ');
46
+ console.log(`\n 🏰 ${c.bold('OpenCastle')} ${dryRun ? 'dry-run' : 'update'}: ${c.dim(`v${manifest.version}`)} → ${c.green(`v${pkg.version}`)}\n`);
47
+ console.log(` IDEs: ${c.cyan(ideNames)}`);
48
+ console.log(` ${c.dim('Framework files will be overwritten.')}`);
49
+ console.log(` ${c.dim('Customization files will be preserved.')}\n`);
32
50
  if (dryRun) {
33
- console.log(' [dry-run] Framework files that would be updated:\n');
51
+ console.log(` ${c.dim('[dry-run]')} Framework files that would be updated:\n`);
34
52
  for (const p of manifest.managedPaths?.framework ?? []) {
35
- console.log(` ↻ ${p}`);
53
+ console.log(` ${c.yellow('')} ${p}`);
36
54
  }
37
- console.log('\n Customization files that would be preserved:\n');
55
+ console.log(`\n ${c.dim('[dry-run]')} Customization files that would be preserved:\n`);
38
56
  for (const p of manifest.managedPaths?.customizable ?? []) {
39
- console.log(` ✓ ${p}`);
57
+ console.log(` ${c.green('')} ${p}`);
40
58
  }
41
- console.log('\n No files were written.\n');
59
+ console.log(`\n ${c.dim('No files were written.')}\n`);
42
60
  return;
43
61
  }
44
62
  const proceed = await confirm('Proceed with update?');
@@ -46,22 +64,45 @@ export default async function update({ pkgRoot, args, }) {
46
64
  console.log(' Aborted.');
47
65
  return;
48
66
  }
49
- const adapter = await ADAPTERS[manifest.ide]();
50
- const results = await adapter.update(pkgRoot, projectRoot, manifest.stack);
67
+ // Update each IDE
68
+ let totalCopied = 0;
69
+ let totalCreated = 0;
70
+ const allManagedPaths = { framework: [], customizable: [] };
71
+ for (const ide of ides) {
72
+ const adapter = await ADAPTERS[ide]();
73
+ const results = await adapter.update(pkgRoot, projectRoot, manifest.stack);
74
+ totalCopied += results.copied.length;
75
+ totalCreated += results.created.length;
76
+ const managed = adapter.getManagedPaths();
77
+ allManagedPaths.framework.push(...managed.framework);
78
+ allManagedPaths.customizable.push(...managed.customizable);
79
+ }
51
80
  // Refresh repo research on update
52
81
  const { detectRepoInfo, mergeStackIntoRepoInfo } = await import('./detect.js');
53
82
  const repoInfo = await detectRepoInfo(projectRoot);
54
83
  // Update manifest
55
84
  manifest.version = pkg.version;
85
+ manifest.ides = ides;
56
86
  manifest.updatedAt = new Date().toISOString();
57
- manifest.managedPaths = adapter.getManagedPaths();
87
+ manifest.managedPaths = allManagedPaths;
58
88
  manifest.repoInfo = manifest.stack
59
89
  ? mergeStackIntoRepoInfo(repoInfo, manifest.stack)
60
90
  : repoInfo;
61
91
  await writeManifest(projectRoot, manifest);
62
- console.log(`\n ✓ Updated ${results.copied.length} framework files`);
63
- if (results.created.length > 0) {
64
- console.log(` + Created ${results.created.length} new files`);
92
+ console.log(`\n ${c.green('')} Updated ${c.bold(String(totalCopied))} framework files`);
93
+ if (totalCreated > 0) {
94
+ console.log(` ${c.green('+')} Created ${c.bold(String(totalCreated))} new files`);
95
+ }
96
+ // ── Reload window message ─────────────────────────────────────
97
+ const needsReload = ides.filter((id) => ['vscode', 'cursor'].includes(id));
98
+ if (needsReload.length > 0) {
99
+ console.log();
100
+ if (needsReload.includes('vscode')) {
101
+ console.log(` ${c.yellow('⟳')} Reload VS Code window (Cmd+Shift+P → "Developer: Reload Window") to pick up changes`);
102
+ }
103
+ if (needsReload.includes('cursor')) {
104
+ console.log(` ${c.yellow('⟳')} Reload Cursor window to pick up the updated rule files`);
105
+ }
65
106
  }
66
107
  console.log();
67
108
  closePrompts();
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PluginConfig } from '../types.js';
2
+ export declare const config: PluginConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/chrome-devtools/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA0BpB,CAAC"}
@@ -0,0 +1,28 @@
1
+ export const config = {
2
+ id: 'chrome-devtools',
3
+ name: 'Chrome DevTools',
4
+ category: 'tech',
5
+ subCategory: 'testing',
6
+ label: 'Chrome DevTools',
7
+ hint: 'Browser testing, screenshots, DOM inspection',
8
+ skillName: 'browser-testing',
9
+ mcpServerKey: 'chrome-devtools',
10
+ mcpConfig: {
11
+ type: 'stdio',
12
+ command: 'npx',
13
+ args: ['-y', 'chrome-devtools-mcp@latest'],
14
+ },
15
+ authType: 'none',
16
+ envVars: [],
17
+ agentToolMap: {
18
+ 'performance-expert': ['chrome-devtools/*'],
19
+ 'seo-specialist': ['chrome-devtools/*'],
20
+ 'testing-expert': ['chrome-devtools/*'],
21
+ 'ui-ux-expert': ['chrome-devtools/*'],
22
+ },
23
+ docsUrl: '/guides/plugins#chrome-devtools',
24
+ officialDocs: 'https://developer.chrome.com/docs/devtools',
25
+ mcpPackage: 'chrome-devtools-mcp',
26
+ preselected: true,
27
+ };
28
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/chrome-devtools/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,8CAA8C;IACpD,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,iBAAiB;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,4BAA4B,CAAC;KAC3C;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,oBAAoB,EAAE,CAAC,mBAAmB,CAAC;QAC3C,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;QACvC,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;QACvC,cAAc,EAAE,CAAC,mBAAmB,CAAC;KACtC;IACD,OAAO,EAAE,iCAAiC;IAC1C,YAAY,EAAE,4CAA4C;IAC1D,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,IAAI;CAClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PluginConfig } from '../types.js';
2
+ export declare const config: PluginConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/contentful/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA8CpB,CAAC"}
@@ -0,0 +1,48 @@
1
+ export const config = {
2
+ id: 'contentful',
3
+ name: 'Contentful',
4
+ category: 'tech',
5
+ subCategory: 'cms',
6
+ label: 'Contentful',
7
+ hint: 'GraphQL / REST API, structured content',
8
+ skillName: 'contentful-cms',
9
+ mcpServerKey: 'Contentful',
10
+ mcpConfig: {
11
+ type: 'stdio',
12
+ command: 'npx',
13
+ args: ['-y', '@contentful/mcp-server'],
14
+ },
15
+ authType: 'none',
16
+ envVars: [],
17
+ agentToolMap: {
18
+ 'content-engineer': [
19
+ 'contentful/get_initial_context', 'contentful/list_content_types', 'contentful/get_content_type',
20
+ 'contentful/create_content_type', 'contentful/update_content_type', 'contentful/publish_content_type',
21
+ 'contentful/unpublish_content_type', 'contentful/delete_content_type', 'contentful/search_entries',
22
+ 'contentful/get_entry', 'contentful/create_entry', 'contentful/update_entry',
23
+ 'contentful/publish_entry', 'contentful/unpublish_entry', 'contentful/delete_entry',
24
+ 'contentful/list_editor_interfaces', 'contentful/get_editor_interface', 'contentful/update_editor_interface',
25
+ 'contentful/upload_asset', 'contentful/list_assets', 'contentful/get_asset',
26
+ 'contentful/update_asset', 'contentful/publish_asset', 'contentful/unpublish_asset',
27
+ 'contentful/delete_asset', 'contentful/list_spaces', 'contentful/get_space',
28
+ 'contentful/list_environments', 'contentful/create_environment', 'contentful/delete_environment',
29
+ 'contentful/list_locales', 'contentful/get_locale', 'contentful/create_locale',
30
+ 'contentful/update_locale', 'contentful/delete_locale', 'contentful/list_tags',
31
+ 'contentful/create_tag', 'contentful/list_orgs', 'contentful/get_org',
32
+ ],
33
+ 'copywriter': [
34
+ 'contentful/get_initial_context', 'contentful/list_content_types', 'contentful/get_content_type',
35
+ 'contentful/search_entries', 'contentful/get_entry', 'contentful/update_entry',
36
+ 'contentful/publish_entry', 'contentful/list_spaces', 'contentful/get_space',
37
+ ],
38
+ 'data-expert': [
39
+ 'contentful/get_initial_context', 'contentful/list_content_types', 'contentful/get_content_type',
40
+ 'contentful/search_entries', 'contentful/get_entry', 'contentful/create_entry',
41
+ 'contentful/update_entry', 'contentful/list_spaces', 'contentful/get_space',
42
+ ],
43
+ },
44
+ docsUrl: null,
45
+ officialDocs: 'https://www.contentful.com/developers/docs/',
46
+ mcpPackage: '@contentful/mcp-server',
47
+ };
48
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/contentful/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,wCAAwC;IAC9C,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC;KACvC;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,kBAAkB,EAAE;YAClB,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B;YAChG,gCAAgC,EAAE,gCAAgC,EAAE,iCAAiC;YACrG,mCAAmC,EAAE,gCAAgC,EAAE,2BAA2B;YAClG,sBAAsB,EAAE,yBAAyB,EAAE,yBAAyB;YAC5E,0BAA0B,EAAE,4BAA4B,EAAE,yBAAyB;YACnF,mCAAmC,EAAE,iCAAiC,EAAE,oCAAoC;YAC5G,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB;YAC3E,yBAAyB,EAAE,0BAA0B,EAAE,4BAA4B;YACnF,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB;YAC3E,8BAA8B,EAAE,+BAA+B,EAAE,+BAA+B;YAChG,yBAAyB,EAAE,uBAAuB,EAAE,0BAA0B;YAC9E,0BAA0B,EAAE,0BAA0B,EAAE,sBAAsB;YAC9E,uBAAuB,EAAE,sBAAsB,EAAE,oBAAoB;SACtE;QACD,YAAY,EAAE;YACZ,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B;YAChG,2BAA2B,EAAE,sBAAsB,EAAE,yBAAyB;YAC9E,0BAA0B,EAAE,wBAAwB,EAAE,sBAAsB;SAC7E;QACD,aAAa,EAAE;YACb,gCAAgC,EAAE,+BAA+B,EAAE,6BAA6B;YAChG,2BAA2B,EAAE,sBAAsB,EAAE,yBAAyB;YAC9E,yBAAyB,EAAE,wBAAwB,EAAE,sBAAsB;SAC5E;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,6CAA6C;IAC3D,UAAU,EAAE,wBAAwB;CACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PluginConfig } from '../types.js';
2
+ export declare const config: PluginConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/convex/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA8BpB,CAAC"}
@@ -0,0 +1,32 @@
1
+ export const config = {
2
+ id: 'convex',
3
+ name: 'Convex',
4
+ category: 'tech',
5
+ subCategory: 'database',
6
+ label: 'Convex',
7
+ hint: 'Reactive backend with real-time sync',
8
+ skillName: 'convex-database',
9
+ mcpServerKey: 'Convex',
10
+ mcpConfig: {
11
+ type: 'stdio',
12
+ command: 'npx',
13
+ args: ['-y', 'convex@latest', 'mcp', 'start'],
14
+ },
15
+ authType: 'none',
16
+ envVars: [],
17
+ agentToolMap: {
18
+ 'database-engineer': [
19
+ 'convex/status', 'convex/data', 'convex/tables', 'convex/functionSpec',
20
+ 'convex/run', 'convex/envList', 'convex/envGet', 'convex/envSet',
21
+ 'convex/envRemove', 'convex/runOneoffQuery', 'convex/logs', 'convex/insights',
22
+ ],
23
+ 'security-expert': [
24
+ 'convex/status', 'convex/tables', 'convex/functionSpec',
25
+ 'convex/envList', 'convex/envGet', 'convex/logs', 'convex/insights',
26
+ ],
27
+ },
28
+ docsUrl: null,
29
+ officialDocs: 'https://docs.convex.dev/',
30
+ mcpPackage: 'convex',
31
+ };
32
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/convex/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,UAAU;IACvB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,sCAAsC;IAC5C,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC;KAC9C;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,mBAAmB,EAAE;YACnB,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB;YACtE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe;YAChE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,iBAAiB;SAC9E;QACD,iBAAiB,EAAE;YACjB,eAAe,EAAE,eAAe,EAAE,qBAAqB;YACvD,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB;SACpE;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,0BAA0B;IACxC,UAAU,EAAE,QAAQ;CACrB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { PluginConfig } from './types.js';
2
+ export type { PluginConfig, McpServerConfig, McpInput, EnvVarRequirement } from './types.js';
3
+ /** All registered plugins, keyed by ID. */
4
+ export declare const PLUGINS: Record<string, PluginConfig>;
5
+ /** Tech tool plugins only. */
6
+ export declare const TECH_PLUGINS: PluginConfig[];
7
+ /** Team tool plugins only. */
8
+ export declare const TEAM_PLUGINS: PluginConfig[];
9
+ /** CMS plugins (subset of tech). */
10
+ export declare const CMS_PLUGINS: PluginConfig[];
11
+ /** Database plugins (subset of tech). */
12
+ export declare const DB_PLUGINS: PluginConfig[];
13
+ /** Get a plugin by ID. */
14
+ export declare function getPlugin(id: string): PluginConfig | undefined;
15
+ /** Get all plugins in a category. */
16
+ export declare function getPluginsByCategory(category: 'tech' | 'team'): PluginConfig[];
17
+ /** Get all plugins in a sub-category. */
18
+ export declare function getPluginsBySubCategory(subCategory: PluginConfig['subCategory']): PluginConfig[];
19
+ /**
20
+ * Get all skill names from selected plugins.
21
+ * Returns only non-null skill names for the given tool IDs.
22
+ */
23
+ export declare function getSelectedSkillNames(toolIds: string[]): string[];
24
+ /**
25
+ * All possible tool-specific skill names (used to compute exclusions).
26
+ */
27
+ export declare const ALL_PLUGIN_SKILL_NAMES: string[];
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc/C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7F,2CAA2C;AAC3C,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAahD,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,YAAY,gBAExB,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,YAAY,gBAExB,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,WAAW,gBAEvB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,UAAU,gBAEtB,CAAC;AAEF,0BAA0B;AAC1B,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9D;AAED,qCAAqC;AACrC,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,EAAE,CAE9E;AAED,yCAAyC;AACzC,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,GACvC,YAAY,EAAE,CAEhB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIjE;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAEF,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { config as sanity } from './sanity/config.js';
2
+ import { config as contentful } from './contentful/config.js';
3
+ import { config as strapi } from './strapi/config.js';
4
+ import { config as supabase } from './supabase/config.js';
5
+ import { config as convex } from './convex/config.js';
6
+ import { config as vercel } from './vercel/config.js';
7
+ import { config as nx } from './nx/config.js';
8
+ import { config as linear } from './linear/config.js';
9
+ import { config as jira } from './jira/config.js';
10
+ import { config as slack } from './slack/config.js';
11
+ import { config as teams } from './teams/config.js';
12
+ import { config as chromeDevtools } from './chrome-devtools/config.js';
13
+ /** All registered plugins, keyed by ID. */
14
+ export const PLUGINS = {
15
+ sanity,
16
+ contentful,
17
+ strapi,
18
+ supabase,
19
+ convex,
20
+ vercel,
21
+ nx,
22
+ 'chrome-devtools': chromeDevtools,
23
+ linear,
24
+ jira,
25
+ slack,
26
+ teams,
27
+ };
28
+ /** Tech tool plugins only. */
29
+ export const TECH_PLUGINS = Object.values(PLUGINS).filter((p) => p.category === 'tech');
30
+ /** Team tool plugins only. */
31
+ export const TEAM_PLUGINS = Object.values(PLUGINS).filter((p) => p.category === 'team');
32
+ /** CMS plugins (subset of tech). */
33
+ export const CMS_PLUGINS = TECH_PLUGINS.filter((p) => p.subCategory === 'cms');
34
+ /** Database plugins (subset of tech). */
35
+ export const DB_PLUGINS = TECH_PLUGINS.filter((p) => p.subCategory === 'database');
36
+ /** Get a plugin by ID. */
37
+ export function getPlugin(id) {
38
+ return PLUGINS[id];
39
+ }
40
+ /** Get all plugins in a category. */
41
+ export function getPluginsByCategory(category) {
42
+ return Object.values(PLUGINS).filter((p) => p.category === category);
43
+ }
44
+ /** Get all plugins in a sub-category. */
45
+ export function getPluginsBySubCategory(subCategory) {
46
+ return Object.values(PLUGINS).filter((p) => p.subCategory === subCategory);
47
+ }
48
+ /**
49
+ * Get all skill names from selected plugins.
50
+ * Returns only non-null skill names for the given tool IDs.
51
+ */
52
+ export function getSelectedSkillNames(toolIds) {
53
+ return toolIds
54
+ .map((id) => PLUGINS[id]?.skillName)
55
+ .filter((s) => s !== null);
56
+ }
57
+ /**
58
+ * All possible tool-specific skill names (used to compute exclusions).
59
+ */
60
+ export const ALL_PLUGIN_SKILL_NAMES = Object.values(PLUGINS)
61
+ .map((p) => p.skillName)
62
+ .filter((s) => s !== null);
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PluginConfig } from '../types.js';
2
+ export declare const config: PluginConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/jira/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA2BpB,CAAC"}
@@ -0,0 +1,29 @@
1
+ export const config = {
2
+ id: 'jira',
3
+ name: 'Jira',
4
+ category: 'team',
5
+ subCategory: 'tracker',
6
+ label: 'Jira',
7
+ hint: 'Atlassian issue tracking via Rovo MCP',
8
+ skillName: 'jira-management',
9
+ mcpServerKey: 'Jira',
10
+ mcpConfig: {
11
+ type: 'http',
12
+ url: 'https://mcp.atlassian.com/v1/mcp',
13
+ },
14
+ authType: 'oauth',
15
+ envVars: [],
16
+ agentToolMap: {
17
+ 'team-lead': [
18
+ 'Jira/searchJiraIssuesUsingJql', 'Jira/getJiraIssue', 'Jira/createJiraIssue',
19
+ 'Jira/addCommentToJiraIssue', 'Jira/getJiraProjectIssueTypesMetadata',
20
+ 'Jira/getJiraIssueTypeMetaWithFields', 'Jira/search',
21
+ 'Jira/getConfluencePage', 'Jira/searchConfluenceUsingCql',
22
+ 'Jira/getAccessibleAtlassianResources',
23
+ ],
24
+ },
25
+ docsUrl: null,
26
+ officialDocs: 'https://developer.atlassian.com/cloud/jira/platform/',
27
+ mcpPackage: null,
28
+ };
29
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/jira/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,uCAAuC;IAC7C,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,MAAM;IACpB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kCAAkC;KACxC;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,+BAA+B,EAAE,mBAAmB,EAAE,sBAAsB;YAC5E,4BAA4B,EAAE,uCAAuC;YACrE,qCAAqC,EAAE,aAAa;YACpD,wBAAwB,EAAE,+BAA+B;YACzD,sCAAsC;SACvC;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,sDAAsD;IACpE,UAAU,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PluginConfig } from '../types.js';
2
+ export declare const config: PluginConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/linear/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA+BpB,CAAC"}