opencastle 0.9.2 → 0.10.1

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 (182) hide show
  1. package/README.md +12 -69
  2. package/dist/cli/doctor.d.ts.map +1 -1
  3. package/dist/cli/doctor.js +13 -7
  4. package/dist/cli/doctor.js.map +1 -1
  5. package/dist/cli/init.d.ts.map +1 -1
  6. package/dist/cli/init.js +2 -1
  7. package/dist/cli/init.js.map +1 -1
  8. package/dist/cli/init.test.d.ts +17 -0
  9. package/dist/cli/init.test.d.ts.map +1 -0
  10. package/dist/cli/init.test.js +881 -0
  11. package/dist/cli/init.test.js.map +1 -0
  12. package/dist/cli/mcp.d.ts +9 -0
  13. package/dist/cli/mcp.d.ts.map +1 -1
  14. package/dist/cli/mcp.js +56 -0
  15. package/dist/cli/mcp.js.map +1 -1
  16. package/dist/cli/run/adapters/copilot.d.ts +10 -2
  17. package/dist/cli/run/adapters/copilot.d.ts.map +1 -1
  18. package/dist/cli/run/adapters/copilot.js +83 -56
  19. package/dist/cli/run/adapters/copilot.js.map +1 -1
  20. package/dist/cli/run.js +2 -2
  21. package/dist/cli/run.js.map +1 -1
  22. package/dist/cli/stack-config-update.test.d.ts +2 -0
  23. package/dist/cli/stack-config-update.test.d.ts.map +1 -0
  24. package/dist/cli/stack-config-update.test.js +185 -0
  25. package/dist/cli/stack-config-update.test.js.map +1 -0
  26. package/dist/cli/stack-config.d.ts +27 -0
  27. package/dist/cli/stack-config.d.ts.map +1 -1
  28. package/dist/cli/stack-config.js +80 -27
  29. package/dist/cli/stack-config.js.map +1 -1
  30. package/dist/cli/types.d.ts +1 -1
  31. package/dist/cli/types.d.ts.map +1 -1
  32. package/dist/cli/update.d.ts.map +1 -1
  33. package/dist/cli/update.js +184 -17
  34. package/dist/cli/update.js.map +1 -1
  35. package/dist/orchestrator/plugins/astro/config.d.ts +3 -0
  36. package/dist/orchestrator/plugins/astro/config.d.ts.map +1 -0
  37. package/dist/orchestrator/plugins/astro/config.js +27 -0
  38. package/dist/orchestrator/plugins/astro/config.js.map +1 -0
  39. package/dist/orchestrator/plugins/chrome-devtools/config.js +2 -2
  40. package/dist/orchestrator/plugins/chrome-devtools/config.js.map +1 -1
  41. package/dist/orchestrator/plugins/contentful/config.js +1 -1
  42. package/dist/orchestrator/plugins/contentful/config.js.map +1 -1
  43. package/dist/orchestrator/plugins/convex/config.js +1 -1
  44. package/dist/orchestrator/plugins/convex/config.js.map +1 -1
  45. package/dist/orchestrator/plugins/cypress/config.d.ts +3 -0
  46. package/dist/orchestrator/plugins/cypress/config.d.ts.map +1 -0
  47. package/dist/orchestrator/plugins/cypress/config.js +15 -0
  48. package/dist/orchestrator/plugins/cypress/config.js.map +1 -0
  49. package/dist/orchestrator/plugins/figma/config.d.ts +3 -0
  50. package/dist/orchestrator/plugins/figma/config.d.ts.map +1 -0
  51. package/dist/orchestrator/plugins/figma/config.js +33 -0
  52. package/dist/orchestrator/plugins/figma/config.js.map +1 -0
  53. package/dist/orchestrator/plugins/index.d.ts.map +1 -1
  54. package/dist/orchestrator/plugins/index.js +20 -0
  55. package/dist/orchestrator/plugins/index.js.map +1 -1
  56. package/dist/orchestrator/plugins/jira/config.d.ts.map +1 -1
  57. package/dist/orchestrator/plugins/jira/config.js +2 -3
  58. package/dist/orchestrator/plugins/jira/config.js.map +1 -1
  59. package/dist/orchestrator/plugins/linear/config.js +2 -2
  60. package/dist/orchestrator/plugins/linear/config.js.map +1 -1
  61. package/dist/orchestrator/plugins/netlify/config.d.ts +3 -0
  62. package/dist/orchestrator/plugins/netlify/config.d.ts.map +1 -0
  63. package/dist/orchestrator/plugins/netlify/config.js +30 -0
  64. package/dist/orchestrator/plugins/netlify/config.js.map +1 -0
  65. package/dist/orchestrator/plugins/nextjs/config.d.ts +3 -0
  66. package/dist/orchestrator/plugins/nextjs/config.d.ts.map +1 -0
  67. package/dist/orchestrator/plugins/nextjs/config.js +35 -0
  68. package/dist/orchestrator/plugins/nextjs/config.js.map +1 -0
  69. package/dist/orchestrator/plugins/nx/config.d.ts.map +1 -1
  70. package/dist/orchestrator/plugins/nx/config.js +2 -3
  71. package/dist/orchestrator/plugins/nx/config.js.map +1 -1
  72. package/dist/orchestrator/plugins/playwright/config.d.ts +3 -0
  73. package/dist/orchestrator/plugins/playwright/config.d.ts.map +1 -0
  74. package/dist/orchestrator/plugins/playwright/config.js +25 -0
  75. package/dist/orchestrator/plugins/playwright/config.js.map +1 -0
  76. package/dist/orchestrator/plugins/prisma/config.d.ts +3 -0
  77. package/dist/orchestrator/plugins/prisma/config.d.ts.map +1 -0
  78. package/dist/orchestrator/plugins/prisma/config.js +25 -0
  79. package/dist/orchestrator/plugins/prisma/config.js.map +1 -0
  80. package/dist/orchestrator/plugins/resend/config.d.ts +3 -0
  81. package/dist/orchestrator/plugins/resend/config.d.ts.map +1 -0
  82. package/dist/orchestrator/plugins/resend/config.js +46 -0
  83. package/dist/orchestrator/plugins/resend/config.js.map +1 -0
  84. package/dist/orchestrator/plugins/sanity/config.d.ts.map +1 -1
  85. package/dist/orchestrator/plugins/sanity/config.js +1 -2
  86. package/dist/orchestrator/plugins/sanity/config.js.map +1 -1
  87. package/dist/orchestrator/plugins/slack/config.js +1 -1
  88. package/dist/orchestrator/plugins/slack/config.js.map +1 -1
  89. package/dist/orchestrator/plugins/strapi/config.js +1 -1
  90. package/dist/orchestrator/plugins/strapi/config.js.map +1 -1
  91. package/dist/orchestrator/plugins/supabase/config.d.ts.map +1 -1
  92. package/dist/orchestrator/plugins/supabase/config.js +1 -2
  93. package/dist/orchestrator/plugins/supabase/config.js.map +1 -1
  94. package/dist/orchestrator/plugins/teams/config.d.ts.map +1 -1
  95. package/dist/orchestrator/plugins/teams/config.js +1 -2
  96. package/dist/orchestrator/plugins/teams/config.js.map +1 -1
  97. package/dist/orchestrator/plugins/turborepo/config.d.ts +3 -0
  98. package/dist/orchestrator/plugins/turborepo/config.d.ts.map +1 -0
  99. package/dist/orchestrator/plugins/turborepo/config.js +15 -0
  100. package/dist/orchestrator/plugins/turborepo/config.js.map +1 -0
  101. package/dist/orchestrator/plugins/types.d.ts +7 -7
  102. package/dist/orchestrator/plugins/types.d.ts.map +1 -1
  103. package/dist/orchestrator/plugins/vercel/config.d.ts.map +1 -1
  104. package/dist/orchestrator/plugins/vercel/config.js +2 -3
  105. package/dist/orchestrator/plugins/vercel/config.js.map +1 -1
  106. package/dist/orchestrator/plugins/vitest/config.d.ts +3 -0
  107. package/dist/orchestrator/plugins/vitest/config.d.ts.map +1 -0
  108. package/dist/orchestrator/plugins/vitest/config.js +15 -0
  109. package/dist/orchestrator/plugins/vitest/config.js.map +1 -0
  110. package/package.json +2 -1
  111. package/src/cli/doctor.ts +14 -7
  112. package/src/cli/init.test.ts +1141 -0
  113. package/src/cli/init.ts +2 -1
  114. package/src/cli/mcp.ts +77 -1
  115. package/src/cli/run/adapters/copilot.ts +86 -58
  116. package/src/cli/run.ts +2 -2
  117. package/src/cli/stack-config-update.test.ts +210 -0
  118. package/src/cli/stack-config.ts +110 -37
  119. package/src/cli/types.ts +1 -1
  120. package/src/cli/update.ts +230 -23
  121. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  122. package/src/orchestrator/agents/api-designer.agent.md +1 -11
  123. package/src/orchestrator/agents/architect.agent.md +1 -9
  124. package/src/orchestrator/agents/content-engineer.agent.md +1 -5
  125. package/src/orchestrator/agents/copywriter.agent.md +1 -9
  126. package/src/orchestrator/agents/data-expert.agent.md +2 -6
  127. package/src/orchestrator/agents/database-engineer.agent.md +1 -6
  128. package/src/orchestrator/agents/developer.agent.md +2 -12
  129. package/src/orchestrator/agents/devops-expert.agent.md +1 -5
  130. package/src/orchestrator/agents/documentation-writer.agent.md +1 -4
  131. package/src/orchestrator/agents/performance-expert.agent.md +1 -5
  132. package/src/orchestrator/agents/release-manager.agent.md +1 -11
  133. package/src/orchestrator/agents/researcher.agent.md +1 -4
  134. package/src/orchestrator/agents/security-expert.agent.md +2 -7
  135. package/src/orchestrator/agents/seo-specialist.agent.md +1 -10
  136. package/src/orchestrator/agents/testing-expert.agent.md +2 -11
  137. package/src/orchestrator/agents/ui-ux-expert.agent.md +3 -10
  138. package/src/orchestrator/customizations/README.md +2 -1
  139. package/src/orchestrator/customizations/agents/skill-matrix.json +106 -0
  140. package/src/orchestrator/customizations/agents/skill-matrix.md +58 -121
  141. package/src/orchestrator/instructions/general.instructions.md +1 -1
  142. package/src/orchestrator/plugins/astro/SKILL.md +288 -0
  143. package/src/orchestrator/plugins/astro/config.ts +28 -0
  144. package/src/orchestrator/plugins/chrome-devtools/config.ts +2 -2
  145. package/src/orchestrator/plugins/contentful/config.ts +1 -1
  146. package/src/orchestrator/plugins/convex/config.ts +1 -1
  147. package/src/orchestrator/plugins/cypress/SKILL.md +145 -0
  148. package/src/orchestrator/plugins/cypress/config.ts +16 -0
  149. package/src/orchestrator/plugins/figma/SKILL.md +85 -0
  150. package/src/orchestrator/plugins/figma/config.ts +34 -0
  151. package/src/orchestrator/plugins/index.ts +20 -0
  152. package/src/orchestrator/plugins/jira/config.ts +2 -3
  153. package/src/orchestrator/plugins/linear/config.ts +2 -2
  154. package/src/orchestrator/plugins/netlify/SKILL.md +134 -0
  155. package/src/orchestrator/plugins/netlify/config.ts +31 -0
  156. package/src/orchestrator/plugins/nextjs/SKILL.md +376 -0
  157. package/src/orchestrator/plugins/nextjs/config.ts +36 -0
  158. package/src/orchestrator/plugins/nx/config.ts +2 -3
  159. package/src/orchestrator/plugins/playwright/SKILL.md +191 -0
  160. package/src/orchestrator/plugins/playwright/config.ts +26 -0
  161. package/src/orchestrator/plugins/prisma/SKILL.md +137 -0
  162. package/src/orchestrator/plugins/prisma/config.ts +26 -0
  163. package/src/orchestrator/plugins/resend/SKILL.md +187 -0
  164. package/src/orchestrator/plugins/resend/config.ts +47 -0
  165. package/src/orchestrator/plugins/sanity/config.ts +1 -2
  166. package/src/orchestrator/plugins/slack/config.ts +1 -1
  167. package/src/orchestrator/plugins/strapi/config.ts +1 -1
  168. package/src/orchestrator/plugins/supabase/config.ts +1 -2
  169. package/src/orchestrator/plugins/teams/config.ts +1 -2
  170. package/src/orchestrator/plugins/turborepo/SKILL.md +121 -0
  171. package/src/orchestrator/plugins/turborepo/config.ts +16 -0
  172. package/src/orchestrator/plugins/types.ts +7 -7
  173. package/src/orchestrator/plugins/vercel/SKILL.md +99 -0
  174. package/src/orchestrator/plugins/vercel/config.ts +2 -3
  175. package/src/orchestrator/plugins/vitest/SKILL.md +166 -0
  176. package/src/orchestrator/plugins/vitest/config.ts +16 -0
  177. package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +6 -4
  178. package/src/orchestrator/prompts/create-skill.prompt.md +6 -7
  179. package/src/orchestrator/prompts/generate-task-spec.prompt.md +1 -1
  180. package/src/orchestrator/skills/agent-hooks/SKILL.md +2 -2
  181. package/src/orchestrator/skills/memory-merger/SKILL.md +1 -1
  182. package/src/orchestrator/skills/nextjs-patterns/SKILL.md +0 -200
@@ -1,9 +1,13 @@
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, c } from './prompt.js';
4
+ import { multiselect, confirm, closePrompts, c } from './prompt.js';
5
5
  import { isLegacyStack, migrateStackConfig, IDE_LABELS } from './types.js';
6
+ import { TECH_PLUGINS, TEAM_PLUGINS } from '../orchestrator/plugins/index.js';
6
7
  import { IDE_ADAPTERS, VALID_IDES } from './adapters/index.js';
8
+ import { getRequiredMcpEnvVars, updateSkillMatrixFile } from './stack-config.js';
9
+ import { rebuildMcpConfig } from './mcp.js';
10
+ import { detectRepoInfo, mergeStackIntoRepoInfo } from './detect.js';
7
11
  export default async function update({ pkgRoot, args, }) {
8
12
  const projectRoot = process.cwd();
9
13
  const manifest = await readManifest(projectRoot);
@@ -25,15 +29,115 @@ export default async function update({ pkgRoot, args, }) {
25
29
  }
26
30
  const pkg = JSON.parse(await readFile(resolve(pkgRoot, 'package.json'), 'utf8'));
27
31
  const dryRun = args.includes('--dry-run');
28
- if (manifest.version === pkg.version && !args.includes('--force') && !dryRun) {
32
+ const forceFlag = args.includes('--force');
33
+ const reconfigureFlag = args.includes('--reconfigure');
34
+ const hasVersionUpdate = manifest.version !== pkg.version || forceFlag;
35
+ let wantsReconfigure = reconfigureFlag;
36
+ // If no version update and no --reconfigure, offer reconfigure option
37
+ if (!hasVersionUpdate && !wantsReconfigure && !dryRun) {
29
38
  console.log(` Already up to date (v${pkg.version}).`);
39
+ wantsReconfigure = await confirm('Would you like to change your stack selections?', false);
40
+ if (!wantsReconfigure) {
41
+ closePrompts();
42
+ return;
43
+ }
44
+ }
45
+ // ── Detect repo info ────────────────────────────────────────────
46
+ const repoInfo = await detectRepoInfo(projectRoot);
47
+ // ── Reconfigure stack if requested ──────────────────────────────
48
+ const oldStack = manifest.stack;
49
+ let newStack = manifest.stack;
50
+ let stackChanged = false;
51
+ let addedTools = [];
52
+ let removedTools = [];
53
+ if (wantsReconfigure) {
54
+ const detectedTools = new Set([
55
+ ...(repoInfo.cms ?? []),
56
+ ...(repoInfo.databases ?? []),
57
+ ...(repoInfo.deployment ?? []),
58
+ ...(repoInfo.monorepo ? [repoInfo.monorepo] : []),
59
+ ...((repoInfo.frameworks ?? []).map((f) => (f === 'next' ? 'nextjs' : f))),
60
+ ]);
61
+ const currentTech = new Set(oldStack?.techTools ?? []);
62
+ const currentTeam = new Set(oldStack?.teamTools ?? []);
63
+ console.log(`\n ${c.bold('── Tech Tools ────────────────────────────────')}`);
64
+ const techTools = await multiselect('Which tools does your project use?', TECH_PLUGINS.map((p) => ({
65
+ label: p.label,
66
+ hint: p.hint,
67
+ value: p.id,
68
+ selected: oldStack
69
+ ? currentTech.has(p.id)
70
+ : p.preselected || detectedTools.has(p.id),
71
+ })));
72
+ console.log(` ${c.bold('── Team Tools ────────────────────────────────')}`);
73
+ const teamTools = await multiselect('Which team tools do you use?', TEAM_PLUGINS.map((p) => ({
74
+ label: p.label,
75
+ hint: p.hint,
76
+ value: p.id,
77
+ selected: oldStack
78
+ ? currentTeam.has(p.id)
79
+ : !!p.preselected,
80
+ })));
81
+ newStack = {
82
+ ides: ides,
83
+ techTools: techTools,
84
+ teamTools: teamTools,
85
+ };
86
+ // Compute diff
87
+ const newTechSet = new Set(techTools);
88
+ const newTeamSet = new Set(teamTools);
89
+ const techChanged = !sameSet(currentTech, newTechSet);
90
+ const teamChanged = !sameSet(currentTeam, newTeamSet);
91
+ stackChanged = techChanged || teamChanged;
92
+ if (stackChanged) {
93
+ const oldAll = [
94
+ ...(oldStack?.techTools ?? []),
95
+ ...(oldStack?.teamTools ?? []),
96
+ ];
97
+ const newAll = [...techTools, ...teamTools];
98
+ addedTools = newAll.filter((t) => !oldAll.includes(t));
99
+ removedTools = oldAll.filter((t) => !newAll.includes(t));
100
+ }
101
+ }
102
+ // Nothing to do?
103
+ if (!hasVersionUpdate && !stackChanged) {
104
+ console.log(` No changes to apply.`);
105
+ closePrompts();
30
106
  return;
31
107
  }
32
- const ideNames = ides.map((id) => IDE_LABELS[id] ?? id).join(', ');
33
- console.log(`\n 🏰 ${c.bold('OpenCastle')} ${dryRun ? 'dry-run' : 'update'}: ${c.dim(`v${manifest.version}`)} → ${c.green(`v${pkg.version}`)}\n`);
108
+ // ── Summary ─────────────────────────────────────────────────────
109
+ const ideNames = ides
110
+ .map((id) => IDE_LABELS[id] ?? id)
111
+ .join(', ');
112
+ if (hasVersionUpdate) {
113
+ console.log(`\n 🏰 ${c.bold('OpenCastle')} ${dryRun ? 'dry-run' : 'update'}: ${c.dim(`v${manifest.version}`)} → ${c.green(`v${pkg.version}`)}\n`);
114
+ }
115
+ else {
116
+ console.log(`\n 🏰 ${c.bold('OpenCastle')} ${dryRun ? 'dry-run' : 'reconfigure'} ${c.dim(`v${pkg.version}`)}\n`);
117
+ }
34
118
  console.log(` IDEs: ${c.cyan(ideNames)}`);
35
- console.log(` ${c.dim('Framework files will be overwritten.')}`);
36
- console.log(` ${c.dim('Customization files will be preserved.')}\n`);
119
+ if (stackChanged) {
120
+ if (addedTools.length > 0) {
121
+ console.log(` ${c.green('+')} Adding: ${addedTools.join(', ')}`);
122
+ }
123
+ if (removedTools.length > 0) {
124
+ console.log(` ${c.red('−')} Removing: ${removedTools.join(', ')}`);
125
+ }
126
+ }
127
+ else if (newStack) {
128
+ if (newStack.techTools.length > 0) {
129
+ console.log(` Tech: ${c.green(newStack.techTools.join(', '))}`);
130
+ }
131
+ if (newStack.teamTools.length > 0) {
132
+ console.log(` Team: ${c.green(newStack.teamTools.join(', '))}`);
133
+ }
134
+ }
135
+ if (hasVersionUpdate) {
136
+ console.log(` ${c.dim('Framework files will be overwritten.')}`);
137
+ console.log(` ${c.dim('Customization files will be preserved.')}`);
138
+ }
139
+ console.log();
140
+ // ── Dry run ─────────────────────────────────────────────────────
37
141
  if (dryRun) {
38
142
  console.log(` ${c.dim('[dry-run]')} Framework files that would be updated:\n`);
39
143
  for (const p of manifest.managedPaths?.framework ?? []) {
@@ -43,43 +147,97 @@ export default async function update({ pkgRoot, args, }) {
43
147
  for (const p of manifest.managedPaths?.customizable ?? []) {
44
148
  console.log(` ${c.green('✓')} ${p}`);
45
149
  }
150
+ if (stackChanged) {
151
+ console.log();
152
+ if (addedTools.length > 0) {
153
+ console.log(` ${c.dim('[dry-run]')} Skills to add: ${addedTools.join(', ')}`);
154
+ }
155
+ if (removedTools.length > 0) {
156
+ console.log(` ${c.dim('[dry-run]')} Skills to remove: ${removedTools.join(', ')}`);
157
+ }
158
+ console.log(` ${c.dim('[dry-run]')} Skill matrix would be updated`);
159
+ console.log(` ${c.dim('[dry-run]')} MCP config would be rebuilt`);
160
+ }
46
161
  console.log(`\n ${c.dim('No files were written.')}\n`);
162
+ closePrompts();
47
163
  return;
48
164
  }
49
- const proceed = await confirm('Proceed with update?');
165
+ const proceed = await confirm('Proceed?');
50
166
  if (!proceed) {
51
167
  console.log(' Aborted.');
168
+ closePrompts();
52
169
  return;
53
170
  }
54
- // Update each IDE
171
+ // ── Update each IDE ─────────────────────────────────────────────
55
172
  let totalCopied = 0;
56
173
  let totalCreated = 0;
57
- const allManagedPaths = { framework: [], customizable: [] };
174
+ const allManagedPaths = {
175
+ framework: [],
176
+ customizable: [],
177
+ };
58
178
  for (const ide of ides) {
59
179
  const adapter = await IDE_ADAPTERS[ide]();
60
- const results = await adapter.update(pkgRoot, projectRoot, manifest.stack);
180
+ const results = await adapter.update(pkgRoot, projectRoot, newStack);
61
181
  totalCopied += results.copied.length;
62
182
  totalCreated += results.created.length;
63
183
  const managed = adapter.getManagedPaths();
64
184
  allManagedPaths.framework.push(...managed.framework);
65
185
  allManagedPaths.customizable.push(...managed.customizable);
66
186
  }
67
- // Refresh repo research on update
68
- const { detectRepoInfo, mergeStackIntoRepoInfo } = await import('./detect.js');
69
- const repoInfo = await detectRepoInfo(projectRoot);
70
- // Update manifest
71
- manifest.version = pkg.version;
187
+ // ── Handle stack changes ────────────────────────────────────────
188
+ if (stackChanged && newStack) {
189
+ // Update skill matrix for each IDE
190
+ for (const ide of ides) {
191
+ await updateSkillMatrixFile(projectRoot, ide, newStack);
192
+ }
193
+ // Rebuild MCP configs for each IDE
194
+ for (const ide of ides) {
195
+ await rebuildMcpConfig(projectRoot, ide, newStack, repoInfo);
196
+ }
197
+ }
198
+ // ── Update manifest ─────────────────────────────────────────────
199
+ if (hasVersionUpdate)
200
+ manifest.version = pkg.version;
72
201
  manifest.ides = ides;
73
202
  manifest.updatedAt = new Date().toISOString();
74
203
  manifest.managedPaths = allManagedPaths;
75
- manifest.repoInfo = manifest.stack
76
- ? mergeStackIntoRepoInfo(repoInfo, manifest.stack)
204
+ if (newStack)
205
+ manifest.stack = newStack;
206
+ manifest.repoInfo = newStack
207
+ ? mergeStackIntoRepoInfo(repoInfo, newStack)
77
208
  : repoInfo;
78
209
  await writeManifest(projectRoot, manifest);
210
+ // ── Results ─────────────────────────────────────────────────────
79
211
  console.log(`\n ${c.green('✓')} Updated ${c.bold(String(totalCopied))} framework files`);
80
212
  if (totalCreated > 0) {
81
213
  console.log(` ${c.green('+')} Created ${c.bold(String(totalCreated))} new files`);
82
214
  }
215
+ if (stackChanged) {
216
+ console.log(` ${c.green('✓')} Updated skill matrix`);
217
+ console.log(` ${c.green('✓')} Rebuilt MCP config`);
218
+ }
219
+ // ── Env var notice for new tools ────────────────────────────────
220
+ if (stackChanged && newStack) {
221
+ const envVars = getRequiredMcpEnvVars(newStack, repoInfo);
222
+ if (envVars.length > 0) {
223
+ const oldEnvVars = oldStack
224
+ ? new Set(getRequiredMcpEnvVars(oldStack, repoInfo).map((e) => e.envVar))
225
+ : new Set();
226
+ const newEnvVars = envVars.filter((e) => !oldEnvVars.has(e.envVar));
227
+ if (newEnvVars.length > 0) {
228
+ console.log(`\n ${c.yellow('⚠')} New environment variables needed:\n`);
229
+ for (const { envVar, hint } of newEnvVars) {
230
+ console.log(` ${c.bold(envVar)}`);
231
+ console.log(` ${c.dim('└')} ${c.dim(hint)}\n`);
232
+ }
233
+ }
234
+ }
235
+ // Setup guides for newly added tools
236
+ if (addedTools.includes('slack')) {
237
+ console.log(` ${c.cyan('📖')} Slack MCP requires a Slack App with a bot token.`);
238
+ console.log(` Setup guide: ${c.cyan('https://www.opencastle.dev/docs/plugins#slack')}\n`);
239
+ }
240
+ }
83
241
  // ── Reload window message ─────────────────────────────────────
84
242
  const needsReload = ides.filter((id) => ['vscode', 'cursor'].includes(id));
85
243
  if (needsReload.length > 0) {
@@ -94,4 +252,13 @@ export default async function update({ pkgRoot, args, }) {
94
252
  console.log();
95
253
  closePrompts();
96
254
  }
255
+ function sameSet(a, b) {
256
+ if (a.size !== b.size)
257
+ return false;
258
+ for (const item of a) {
259
+ if (!b.has(item))
260
+ return false;
261
+ }
262
+ return true;
263
+ }
97
264
  //# sourceMappingURL=update.js.map
@@ -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/astro/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAyBpB,CAAC"}
@@ -0,0 +1,27 @@
1
+ export const config = {
2
+ id: 'astro',
3
+ name: 'Astro',
4
+ category: 'tech',
5
+ subCategory: 'framework',
6
+ label: 'Astro',
7
+ hint: 'Content-driven web framework with islands architecture and Docs MCP',
8
+ skillName: 'astro-framework',
9
+ mcpServerKey: 'Astro docs',
10
+ mcpConfig: {
11
+ type: 'http',
12
+ url: 'https://mcp.docs.astro.build/mcp',
13
+ },
14
+ authType: 'none',
15
+ envVars: [],
16
+ agentToolMap: {
17
+ 'developer': [
18
+ 'astro-docs/search_astro_docs',
19
+ ],
20
+ 'documentation-writer': [
21
+ 'astro-docs/search_astro_docs',
22
+ ],
23
+ },
24
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#astro',
25
+ officialDocs: 'https://docs.astro.build',
26
+ };
27
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/astro/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,qEAAqE;IAC3E,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kCAAkC;KACxC;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,8BAA8B;SAC/B;QACD,sBAAsB,EAAE;YACtB,8BAA8B;SAC/B;KACF;IACD,OAAO,EAAE,+CAA+C;IACxD,YAAY,EAAE,0BAA0B;CACzC,CAAC"}
@@ -2,7 +2,7 @@ export const config = {
2
2
  id: 'chrome-devtools',
3
3
  name: 'Chrome DevTools',
4
4
  category: 'tech',
5
- subCategory: 'testing',
5
+ subCategory: 'e2e-testing',
6
6
  label: 'Chrome DevTools',
7
7
  hint: 'Browser testing, screenshots, DOM inspection',
8
8
  skillName: 'browser-testing',
@@ -20,7 +20,7 @@ export const config = {
20
20
  'testing-expert': ['chrome-devtools/*'],
21
21
  'ui-ux-expert': ['chrome-devtools/*'],
22
22
  },
23
- docsUrl: '/guides/plugins#chrome-devtools',
23
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#chrome-devtools',
24
24
  officialDocs: 'https://developer.chrome.com/docs/devtools',
25
25
  mcpPackage: 'chrome-devtools-mcp',
26
26
  preselected: true,
@@ -1 +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"}
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,aAAa;IAC1B,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,yDAAyD;IAClE,YAAY,EAAE,4CAA4C;IAC1D,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,IAAI;CAClB,CAAC"}
@@ -41,7 +41,7 @@ export const config = {
41
41
  'contentful/update_entry', 'contentful/list_spaces', 'contentful/get_space',
42
42
  ],
43
43
  },
44
- docsUrl: null,
44
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#contentful',
45
45
  officialDocs: 'https://www.contentful.com/developers/docs/',
46
46
  mcpPackage: '@contentful/mcp-server',
47
47
  };
@@ -1 +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"}
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,oDAAoD;IAC7D,YAAY,EAAE,6CAA6C;IAC3D,UAAU,EAAE,wBAAwB;CACrC,CAAC"}
@@ -25,7 +25,7 @@ export const config = {
25
25
  'convex/envList', 'convex/envGet', 'convex/logs', 'convex/insights',
26
26
  ],
27
27
  },
28
- docsUrl: null,
28
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#convex',
29
29
  officialDocs: 'https://docs.convex.dev/',
30
30
  mcpPackage: 'convex',
31
31
  };
@@ -1 +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"}
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,gDAAgD;IACzD,YAAY,EAAE,0BAA0B;IACxC,UAAU,EAAE,QAAQ;CACrB,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/cypress/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAapB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const config = {
2
+ id: 'cypress',
3
+ name: 'Cypress',
4
+ category: 'tech',
5
+ subCategory: 'e2e-testing',
6
+ label: 'Cypress',
7
+ hint: 'E2E and component testing in the browser',
8
+ skillName: 'cypress-testing',
9
+ authType: 'none',
10
+ envVars: [],
11
+ agentToolMap: {},
12
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#cypress',
13
+ officialDocs: 'https://docs.cypress.io',
14
+ };
15
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/cypress/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,0CAA0C;IAChD,SAAS,EAAE,iBAAiB;IAC5B,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,iDAAiD;IAC1D,YAAY,EAAE,yBAAyB;CACxC,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/figma/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA+BpB,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const config = {
2
+ id: 'figma',
3
+ name: 'Figma',
4
+ category: 'tech',
5
+ subCategory: 'design',
6
+ label: 'Figma',
7
+ hint: 'Design tokens, component specs, asset export',
8
+ skillName: 'figma-design',
9
+ mcpServerKey: 'Figma',
10
+ mcpConfig: {
11
+ type: 'stdio',
12
+ command: 'npx',
13
+ args: ['-y', '@anthropic/figma-mcp@latest'],
14
+ env: {
15
+ FIGMA_ACCESS_TOKEN: '${FIGMA_ACCESS_TOKEN}',
16
+ },
17
+ },
18
+ authType: 'env-token',
19
+ envVars: [
20
+ {
21
+ name: 'FIGMA_ACCESS_TOKEN',
22
+ hint: 'Generate at figma.com → Settings → Personal access tokens',
23
+ },
24
+ ],
25
+ agentToolMap: {
26
+ 'ui-ux-expert': ['figma/*'],
27
+ 'developer': ['figma/*'],
28
+ },
29
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#figma',
30
+ officialDocs: 'https://www.figma.com/developers/api',
31
+ mcpPackage: '@anthropic/figma-mcp',
32
+ };
33
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/figma/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,8CAA8C;IACpD,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC3C,GAAG,EAAE;YACH,kBAAkB,EAAE,uBAAuB;SAC5C;KACF;IACD,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,2DAA2D;SAClE;KACF;IACD,YAAY,EAAE;QACZ,cAAc,EAAE,CAAC,SAAS,CAAC;QAC3B,WAAW,EAAE,CAAC,SAAS,CAAC;KACzB;IACD,OAAO,EAAE,+CAA+C;IACxD,YAAY,EAAE,sCAAsC;IACpD,UAAU,EAAE,sBAAsB;CACnC,CAAC"}
@@ -1 +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"}
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;AAwB/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,CAuBhD,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"}
@@ -10,6 +10,16 @@ import { config as jira } from './jira/config.js';
10
10
  import { config as slack } from './slack/config.js';
11
11
  import { config as teams } from './teams/config.js';
12
12
  import { config as chromeDevtools } from './chrome-devtools/config.js';
13
+ import { config as netlify } from './netlify/config.js';
14
+ import { config as turborepo } from './turborepo/config.js';
15
+ import { config as prisma } from './prisma/config.js';
16
+ import { config as cypress } from './cypress/config.js';
17
+ import { config as playwright } from './playwright/config.js';
18
+ import { config as vitest } from './vitest/config.js';
19
+ import { config as figma } from './figma/config.js';
20
+ import { config as resend } from './resend/config.js';
21
+ import { config as nextjs } from './nextjs/config.js';
22
+ import { config as astro } from './astro/config.js';
13
23
  /** All registered plugins, keyed by ID. */
14
24
  export const PLUGINS = {
15
25
  sanity,
@@ -20,6 +30,16 @@ export const PLUGINS = {
20
30
  vercel,
21
31
  nx,
22
32
  'chrome-devtools': chromeDevtools,
33
+ netlify,
34
+ turborepo,
35
+ prisma,
36
+ cypress,
37
+ playwright,
38
+ vitest,
39
+ figma,
40
+ resend,
41
+ nextjs,
42
+ astro,
23
43
  linear,
24
44
  jira,
25
45
  slack,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,YA0BpB,CAAC"}
@@ -2,7 +2,7 @@ export const config = {
2
2
  id: 'jira',
3
3
  name: 'Jira',
4
4
  category: 'team',
5
- subCategory: 'tracker',
5
+ subCategory: 'task-management',
6
6
  label: 'Jira',
7
7
  hint: 'Atlassian issue tracking via Rovo MCP',
8
8
  skillName: 'jira-management',
@@ -22,8 +22,7 @@ export const config = {
22
22
  'Jira/getAccessibleAtlassianResources',
23
23
  ],
24
24
  },
25
- docsUrl: null,
25
+ docsUrl: 'https://www.opencastle.dev/docs/plugins#jira',
26
26
  officialDocs: 'https://developer.atlassian.com/cloud/jira/platform/',
27
- mcpPackage: null,
28
27
  };
29
28
  //# sourceMappingURL=config.js.map
@@ -1 +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"}
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,iBAAiB;IAC9B,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,8CAA8C;IACvD,YAAY,EAAE,sDAAsD;CACrE,CAAC"}
@@ -2,7 +2,7 @@ export const config = {
2
2
  id: 'linear',
3
3
  name: 'Linear',
4
4
  category: 'team',
5
- subCategory: 'tracker',
5
+ subCategory: 'task-management',
6
6
  label: 'Linear',
7
7
  hint: 'Issue tracking with MCP integration',
8
8
  skillName: 'linear-task-management',
@@ -26,7 +26,7 @@ export const config = {
26
26
  'linear/list_teams', 'linear/list_projects', 'linear/get_issue', 'linear/search_issues',
27
27
  ],
28
28
  },
29
- docsUrl: '/guides/linear-setup',
29
+ docsUrl: 'https://www.opencastle.dev/guides/linear-setup',
30
30
  officialDocs: 'https://linear.app/docs',
31
31
  mcpPackage: '@mseep/linear-mcp',
32
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/linear/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,SAAS;IACtB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,qCAAqC;IAC3C,SAAS,EAAE,wBAAwB;IACnC,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACjC,OAAO,EAAE,yBAAyB;KACnC;IACD,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,2DAA2D;SAClE;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB;YAClE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB;SACxF;KACF;IACD,OAAO,EAAE,sBAAsB;IAC/B,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,mBAAmB;CAChC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/linear/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,iBAAiB;IAC9B,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,qCAAqC;IAC3C,SAAS,EAAE,wBAAwB;IACnC,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACjC,OAAO,EAAE,yBAAyB;KACnC;IACD,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,2DAA2D;SAClE;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB;YAClE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB;SACxF;KACF;IACD,OAAO,EAAE,gDAAgD;IACzD,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,mBAAmB;CAChC,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/netlify/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA4BpB,CAAC"}