opencastle 0.8.0 → 0.8.2

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 (87) hide show
  1. package/README.md +27 -0
  2. package/bin/cli.mjs +2 -0
  3. package/dist/cli/adapters/claude-code.d.ts +2 -5
  4. package/dist/cli/adapters/claude-code.d.ts.map +1 -1
  5. package/dist/cli/adapters/claude-code.js +12 -251
  6. package/dist/cli/adapters/claude-code.js.map +1 -1
  7. package/dist/cli/adapters/cursor.d.ts.map +1 -1
  8. package/dist/cli/adapters/cursor.js +3 -17
  9. package/dist/cli/adapters/cursor.js.map +1 -1
  10. package/dist/cli/adapters/frontmatter.d.ts +26 -0
  11. package/dist/cli/adapters/frontmatter.d.ts.map +1 -0
  12. package/dist/cli/adapters/frontmatter.js +40 -0
  13. package/dist/cli/adapters/frontmatter.js.map +1 -0
  14. package/dist/cli/adapters/index.d.ts +5 -0
  15. package/dist/cli/adapters/index.d.ts.map +1 -0
  16. package/dist/cli/adapters/index.js +9 -0
  17. package/dist/cli/adapters/index.js.map +1 -0
  18. package/dist/cli/adapters/opencode.d.ts +2 -5
  19. package/dist/cli/adapters/opencode.d.ts.map +1 -1
  20. package/dist/cli/adapters/opencode.js +12 -250
  21. package/dist/cli/adapters/opencode.js.map +1 -1
  22. package/dist/cli/adapters/single-file-base.d.ts +40 -0
  23. package/dist/cli/adapters/single-file-base.d.ts.map +1 -0
  24. package/dist/cli/adapters/single-file-base.js +246 -0
  25. package/dist/cli/adapters/single-file-base.js.map +1 -0
  26. package/dist/cli/dashboard.d.ts.map +1 -1
  27. package/dist/cli/dashboard.js +3 -2
  28. package/dist/cli/dashboard.js.map +1 -1
  29. package/dist/cli/detect.d.ts.map +1 -1
  30. package/dist/cli/detect.js +13 -11
  31. package/dist/cli/detect.js.map +1 -1
  32. package/dist/cli/doctor.d.ts +3 -0
  33. package/dist/cli/doctor.d.ts.map +1 -0
  34. package/dist/cli/doctor.js +205 -0
  35. package/dist/cli/doctor.js.map +1 -0
  36. package/dist/cli/init.d.ts.map +1 -1
  37. package/dist/cli/init.js +31 -19
  38. package/dist/cli/init.js.map +1 -1
  39. package/dist/cli/run/schema.d.ts +1 -5
  40. package/dist/cli/run/schema.d.ts.map +1 -1
  41. package/dist/cli/run/schema.js +6 -330
  42. package/dist/cli/run/schema.js.map +1 -1
  43. package/dist/cli/run.d.ts.map +1 -1
  44. package/dist/cli/run.js +14 -1
  45. package/dist/cli/run.js.map +1 -1
  46. package/dist/cli/types.d.ts +0 -5
  47. package/dist/cli/types.d.ts.map +1 -1
  48. package/dist/cli/update.d.ts.map +1 -1
  49. package/dist/cli/update.js +4 -17
  50. package/dist/cli/update.js.map +1 -1
  51. package/package.json +8 -2
  52. package/src/cli/adapters/claude-code.ts +13 -304
  53. package/src/cli/adapters/cursor.ts +3 -23
  54. package/src/cli/adapters/frontmatter.ts +47 -0
  55. package/src/cli/adapters/index.ts +13 -0
  56. package/src/cli/adapters/opencode.ts +12 -301
  57. package/src/cli/adapters/single-file-base.ts +320 -0
  58. package/src/cli/dashboard.ts +3 -2
  59. package/src/cli/detect.ts +19 -15
  60. package/src/cli/doctor.ts +235 -0
  61. package/src/cli/init.ts +31 -24
  62. package/src/cli/run/schema.ts +7 -365
  63. package/src/cli/run.ts +17 -1
  64. package/src/cli/types.ts +0 -6
  65. package/src/cli/update.ts +5 -23
  66. package/src/dashboard/dist/_astro/{index.CWVzbF4T.css → index.Bnq19_1M.css} +1 -1
  67. package/src/dashboard/dist/index.html +170 -11
  68. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  69. package/src/dashboard/seed-data/reviews.ndjson +6 -0
  70. package/src/dashboard/src/pages/index.astro +213 -10
  71. package/src/dashboard/src/styles/dashboard.css +196 -0
  72. package/src/orchestrator/agent-workflows/bug-fix.md +2 -2
  73. package/src/orchestrator/agent-workflows/data-pipeline.md +8 -8
  74. package/src/orchestrator/agent-workflows/database-migration.md +2 -2
  75. package/src/orchestrator/agent-workflows/feature-implementation.md +2 -2
  76. package/src/orchestrator/agent-workflows/performance-optimization.md +2 -2
  77. package/src/orchestrator/agent-workflows/refactoring.md +2 -2
  78. package/src/orchestrator/agent-workflows/schema-changes.md +2 -2
  79. package/src/orchestrator/agent-workflows/security-audit.md +2 -2
  80. package/src/orchestrator/agents/data-expert.agent.md +2 -2
  81. package/src/orchestrator/agents/researcher.agent.md +0 -16
  82. package/src/orchestrator/agents/team-lead.agent.md +17 -6
  83. package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +1 -3
  84. package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +1 -1
  85. package/src/orchestrator/skills/agent-hooks/SKILL.md +4 -2
  86. package/src/orchestrator/skills/self-improvement/SKILL.md +1 -1
  87. package/src/orchestrator/prompts/metrics-report.prompt.md +0 -144
package/README.md CHANGED
@@ -71,6 +71,7 @@ MCP servers are auto-configured for your stack (Sanity, Supabase, Vercel, NX, Li
71
71
  | `opencastle eject` | Remove the dependency, keep all files |
72
72
  | `opencastle run` | Run a [task queue](#task-queue) autonomously |
73
73
  | `opencastle dashboard` | Open the observability dashboard |
74
+ | `opencastle doctor` | Validate your setup and surface issues |
74
75
 
75
76
  Add `--dry-run` to any command to preview what it would change without writing files.
76
77
 
@@ -115,6 +116,32 @@ Reads from the same NDJSON logs your agents already write. No setup needed.
115
116
 
116
117
  <br>
117
118
 
119
+ ## Doctor
120
+
121
+ ```bash
122
+ npx opencastle doctor
123
+ ```
124
+
125
+ Runs 11 health checks to validate your setup:
126
+
127
+ | Check | What it verifies |
128
+ |-------|------------------|
129
+ | Manifest | `.opencastle.json` exists and contains valid version/IDE info |
130
+ | Customizations | `.github/customizations/` directory exists |
131
+ | Instruction files | `.github/instructions/` has `.md` files |
132
+ | Agent definitions | `.agent.md` files present in customizations |
133
+ | Skills directory | `.github/skills/` exists and is populated |
134
+ | Skill matrix | All capability slots are resolved |
135
+ | Observability logs | `sessions.ndjson`, `delegations.ndjson`, etc. exist |
136
+ | IDE configs | Expected config files exist for each selected IDE |
137
+ | MCP config | MCP JSON files present for each IDE |
138
+ | MCP env vars | Required environment variables are set |
139
+ | `.env` file | `.env` exists if MCP secrets are needed |
140
+
141
+ Exits with code `1` if any check fails. Useful in CI or after upgrading.
142
+
143
+ <br>
144
+
118
145
  ## Task Queue
119
146
 
120
147
  Queue tasks in YAML. Let agents run overnight. Dependencies resolve automatically.
package/bin/cli.mjs CHANGED
@@ -23,6 +23,7 @@ const HELP = `
23
23
  eject Remove dependency, keep all files standalone
24
24
  run Process a task queue from a spec file autonomously
25
25
  dashboard View agent observability dashboard in your browser
26
+ doctor Validate your OpenCastle setup
26
27
 
27
28
  Options:
28
29
  --dry-run Preview what a command would change without writing files
@@ -49,6 +50,7 @@ const commands = {
49
50
  eject: () => import('../dist/cli/eject.js'),
50
51
  run: () => import('../dist/cli/run.js'),
51
52
  dashboard: () => import('../dist/cli/dashboard.js'),
53
+ doctor: () => import('../dist/cli/doctor.js'),
52
54
  }
53
55
 
54
56
  if (!commands[command]) {
@@ -1,4 +1,3 @@
1
- import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.js';
2
1
  /**
3
2
  * Claude Code adapter.
4
3
  *
@@ -15,8 +14,6 @@ import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.
15
14
  * when asked.
16
15
  */
17
16
  export declare const IDE_ID = "claude-code";
18
- export declare const IDE_LABEL = "Claude Code";
19
- export declare function install(pkgRoot: string, projectRoot: string, stack?: StackConfig, repoInfo?: RepoInfo): Promise<CopyResults>;
20
- export declare function update(pkgRoot: string, projectRoot: string, stack?: StackConfig): Promise<CopyResults>;
21
- export declare function getManagedPaths(): ManagedPaths;
17
+ declare const install: (_pkgRoot: string, _projectRoot: string, _stack?: import("../types.js").StackConfig, _repoInfo?: import("../types.js").RepoInfo) => Promise<import("../types.js").CopyResults>, update: (_pkgRoot: string, _projectRoot: string, _stack?: import("../types.js").StackConfig) => Promise<import("../types.js").CopyResults>, getManagedPaths: () => import("../types.js").ManagedPaths;
18
+ export { install, update, getManagedPaths };
22
19
  //# sourceMappingURL=claude-code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/claude-code.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEnF;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,MAAM,gBAAgB,CAAA;AACnC,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAsBtC,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CA8NtB;AAID,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CA0BtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAU9C"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/claude-code.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,MAAM,gBAAgB,CAAA;AAEnC,QAAA,MAAQ,OAAO,kLAAE,MAAM,sIAAE,eAAe,0CAStC,CAAA;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA"}
@@ -1,9 +1,4 @@
1
- import { resolve, basename } from 'node:path';
2
- import { mkdir, writeFile, readdir, readFile, unlink, rm } from 'node:fs/promises';
3
- import { existsSync } from 'node:fs';
4
- import { copyDir, getOrchestratorRoot, getPluginsRoot, getPluginSkillEntries } from '../copy.js';
5
- import { scaffoldMcpConfig } from '../mcp.js';
6
- import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIncludedPluginIds } from '../stack-config.js';
1
+ import { createSingleFileAdapter } from './single-file-base.js';
7
2
  /**
8
3
  * Claude Code adapter.
9
4
  *
@@ -20,249 +15,15 @@ import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIn
20
15
  * when asked.
21
16
  */
22
17
  export const IDE_ID = 'claude-code';
23
- export const IDE_LABEL = 'Claude Code';
24
- // ─── Helpers ──────────────────────────────────────────────────────
25
- function stripFrontmatter(content) {
26
- const m = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
27
- return m ? m[2].trim() : content.trim();
28
- }
29
- function parseFrontmatterMeta(content) {
30
- const m = content.match(/^---\n([\s\S]*?)\n---/);
31
- if (!m)
32
- return {};
33
- const meta = {};
34
- for (const line of m[1].split('\n')) {
35
- const kv = line.match(/^(\w[\w-]*):\s*['"]?(.+?)['"]?\s*$/);
36
- if (kv)
37
- meta[kv[1]] = kv[2];
38
- }
39
- return meta;
40
- }
41
- // ─── Install ──────────────────────────────────────────────────────
42
- export async function install(pkgRoot, projectRoot, stack, repoInfo) {
43
- const srcRoot = getOrchestratorRoot(pkgRoot);
44
- const results = { copied: [], skipped: [], created: [] };
45
- const excludedSkills = stack ? getExcludedSkills(stack) : new Set();
46
- const excludedAgents = stack ? getExcludedAgents(stack) : new Set();
47
- // 1. Build CLAUDE.md ← copilot-instructions + instructions/* + agent index + skill index
48
- const claudeMd = resolve(projectRoot, 'CLAUDE.md');
49
- if (!existsSync(claudeMd)) {
50
- const sections = [];
51
- // Claude-specific header (not copilot-instructions.md verbatim)
52
- sections.push('# Project Instructions\n\n' +
53
- 'All conventions, architecture, and project context are embedded below. ' +
54
- 'Skills are in `.claude/skills/` — read them when a task matches. ' +
55
- 'Agent definitions are in `.claude/agents/` — read the relevant file when adopting a persona.');
56
- // Always-loaded instruction files
57
- const instDir = resolve(srcRoot, 'instructions');
58
- if (existsSync(instDir)) {
59
- for (const file of (await readdir(instDir)).sort()) {
60
- if (!file.endsWith('.md'))
61
- continue;
62
- const content = await readFile(resolve(instDir, file), 'utf8');
63
- sections.push(`\n---\n\n<!-- Source: instructions/${file} -->\n\n${stripFrontmatter(content)}`);
64
- }
65
- }
66
- // Agent reference (so Claude can adopt personas)
67
- const agentsDir = resolve(srcRoot, 'agents');
68
- if (existsSync(agentsDir)) {
69
- const agentLines = ['\n---\n\n## Agent Definitions\n'];
70
- agentLines.push('The following agent personas are available. Adopt the appropriate persona when asked.\n');
71
- for (const file of (await readdir(agentsDir)).sort()) {
72
- if (!file.endsWith('.md'))
73
- continue;
74
- if (excludedAgents.has(file))
75
- continue;
76
- const meta = parseFrontmatterMeta(await readFile(resolve(agentsDir, file), 'utf8'));
77
- const name = meta['name'] ?? basename(file, '.agent.md');
78
- const desc = meta['description'] ?? '';
79
- agentLines.push(`- **${name}**: ${desc}`);
80
- }
81
- agentLines.push('\nFull agent definitions are in `.claude/agents/`. Read the relevant file when adopting a persona.');
82
- sections.push(agentLines.join('\n'));
83
- }
84
- // Skill index
85
- const skillsDir = resolve(srcRoot, 'skills');
86
- if (existsSync(skillsDir)) {
87
- const skillLines = ['\n---\n\n## Available Skills\n'];
88
- skillLines.push('Skills are on-demand knowledge files. Read the file when the task matches.\n');
89
- const subdirs = (await readdir(skillsDir, { withFileTypes: true })).filter((e) => e.isDirectory());
90
- for (const entry of subdirs.sort((a, b) => a.name.localeCompare(b.name))) {
91
- if (excludedSkills.has(entry.name))
92
- continue;
93
- const skillFile = resolve(skillsDir, entry.name, 'SKILL.md');
94
- if (!existsSync(skillFile))
95
- continue;
96
- const meta = parseFrontmatterMeta(await readFile(skillFile, 'utf8'));
97
- const desc = meta['description'] ?? '';
98
- skillLines.push(`- **${entry.name}** (\`.claude/skills/${entry.name}.md\`): ${desc}`);
99
- }
100
- // Plugin skills
101
- const pluginsRoot = getPluginsRoot(pkgRoot);
102
- const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined;
103
- const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins);
104
- for (const { id, skillPath } of pluginEntries.sort((a, b) => a.id.localeCompare(b.id))) {
105
- const pluginMeta = parseFrontmatterMeta(await readFile(skillPath, 'utf8'));
106
- const pluginDesc = pluginMeta['description'] ?? '';
107
- skillLines.push(`- **${id}** (\`.claude/skills/${id}.md\`): ${pluginDesc}`);
108
- }
109
- sections.push(skillLines.join('\n'));
110
- }
111
- await writeFile(claudeMd, sections.join('\n') + '\n');
112
- results.created.push(claudeMd);
113
- }
114
- else {
115
- results.skipped.push(claudeMd);
116
- }
117
- const claudeDir = resolve(projectRoot, '.claude');
118
- // 2. Agent definitions → .claude/agents/
119
- const agentsDir = resolve(srcRoot, 'agents');
120
- if (existsSync(agentsDir)) {
121
- const destAgents = resolve(claudeDir, 'agents');
122
- await mkdir(destAgents, { recursive: true });
123
- for (const file of await readdir(agentsDir)) {
124
- if (!file.endsWith('.md'))
125
- continue;
126
- if (excludedAgents.has(file))
127
- continue;
128
- const destPath = resolve(destAgents, file);
129
- if (existsSync(destPath)) {
130
- results.skipped.push(destPath);
131
- continue;
132
- }
133
- const content = await readFile(resolve(agentsDir, file), 'utf8');
134
- await writeFile(destPath, stripFrontmatter(content) + '\n');
135
- results.created.push(destPath);
136
- }
137
- }
138
- // 3. Skills → .claude/skills/<name>.md
139
- const skillsDir = resolve(srcRoot, 'skills');
140
- if (existsSync(skillsDir)) {
141
- const destSkills = resolve(claudeDir, 'skills');
142
- await mkdir(destSkills, { recursive: true });
143
- const subdirs = (await readdir(skillsDir, { withFileTypes: true })).filter((e) => e.isDirectory());
144
- for (const entry of subdirs) {
145
- if (excludedSkills.has(entry.name))
146
- continue;
147
- const skillFile = resolve(skillsDir, entry.name, 'SKILL.md');
148
- if (!existsSync(skillFile))
149
- continue;
150
- const destPath = resolve(destSkills, `${entry.name}.md`);
151
- if (existsSync(destPath)) {
152
- results.skipped.push(destPath);
153
- continue;
154
- }
155
- const content = await readFile(skillFile, 'utf8');
156
- await writeFile(destPath, stripFrontmatter(content) + '\n');
157
- results.created.push(destPath);
158
- }
159
- }
160
- // 3b. Plugin skills → .claude/skills/<plugin-id>.md
161
- {
162
- const pluginsRoot = getPluginsRoot(pkgRoot);
163
- const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined;
164
- const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins);
165
- const destSkills = resolve(claudeDir, 'skills');
166
- await mkdir(destSkills, { recursive: true });
167
- for (const { id, skillPath } of pluginEntries) {
168
- const destPath = resolve(destSkills, `${id}.md`);
169
- if (existsSync(destPath)) {
170
- results.skipped.push(destPath);
171
- continue;
172
- }
173
- const content = await readFile(skillPath, 'utf8');
174
- await writeFile(destPath, stripFrontmatter(content) + '\n');
175
- results.created.push(destPath);
176
- }
177
- }
178
- // 4. Prompts → .claude/commands/<name>.md
179
- const promptDir = resolve(srcRoot, 'prompts');
180
- if (existsSync(promptDir)) {
181
- const destCmds = resolve(claudeDir, 'commands');
182
- await mkdir(destCmds, { recursive: true });
183
- for (const file of await readdir(promptDir)) {
184
- if (!file.endsWith('.md'))
185
- continue;
186
- const name = basename(file, '.prompt.md') || basename(file, '.md');
187
- const destPath = resolve(destCmds, `${name}.md`);
188
- if (existsSync(destPath)) {
189
- results.skipped.push(destPath);
190
- continue;
191
- }
192
- const content = await readFile(resolve(promptDir, file), 'utf8');
193
- await writeFile(destPath, stripFrontmatter(content) + '\n');
194
- results.created.push(destPath);
195
- }
196
- }
197
- // 5. Agent Workflows → .claude/commands/workflow-<name>.md
198
- const wfDir = resolve(srcRoot, 'agent-workflows');
199
- if (existsSync(wfDir)) {
200
- const destCmds = resolve(claudeDir, 'commands');
201
- await mkdir(destCmds, { recursive: true });
202
- for (const file of await readdir(wfDir)) {
203
- if (!file.endsWith('.md'))
204
- continue;
205
- if (file === 'README.md')
206
- continue; // Skip README — not a workflow
207
- const name = basename(file, '.md');
208
- const destPath = resolve(destCmds, `workflow-${name}.md`);
209
- if (existsSync(destPath)) {
210
- results.skipped.push(destPath);
211
- continue;
212
- }
213
- const content = await readFile(resolve(wfDir, file), 'utf8');
214
- await writeFile(destPath, stripFrontmatter(content) + '\n');
215
- results.created.push(destPath);
216
- }
217
- }
218
- // 6. Customizations (scaffold once, pre-populated with stack choices)
219
- const custDir = resolve(srcRoot, 'customizations');
220
- if (existsSync(custDir)) {
221
- const destCust = resolve(claudeDir, 'customizations');
222
- const custTransform = stack ? getCustomizationsTransform(stack) : undefined;
223
- const sub = await copyDir(custDir, destCust, { transform: custTransform });
224
- results.created.push(...sub.created);
225
- results.skipped.push(...sub.skipped);
226
- }
227
- // 7. MCP server config → .claude/mcp.json (scaffold once)
228
- const mcpResult = await scaffoldMcpConfig(projectRoot, '.claude/mcp.json', stack, repoInfo, 'claude-code');
229
- results[mcpResult.action].push(mcpResult.path);
230
- return results;
231
- }
232
- // ─── Update ───────────────────────────────────────────────────────
233
- export async function update(pkgRoot, projectRoot, stack) {
234
- const results = { copied: [], skipped: [], created: [] };
235
- const claudeDir = resolve(projectRoot, '.claude');
236
- // 1. Regenerate CLAUDE.md (overwrite)
237
- const claudeMd = resolve(projectRoot, 'CLAUDE.md');
238
- if (existsSync(claudeMd)) {
239
- await unlink(claudeMd);
240
- }
241
- // 2. Remove existing framework files so install() recreates them
242
- const frameworkDirs = ['agents', 'skills', 'commands'];
243
- for (const dir of frameworkDirs) {
244
- const dirPath = resolve(claudeDir, dir);
245
- if (existsSync(dirPath)) {
246
- await rm(dirPath, { recursive: true });
247
- }
248
- }
249
- // 3. Re-run full install (CLAUDE.md + agents + skills + commands)
250
- const installResult = await install(pkgRoot, projectRoot, stack);
251
- // Everything install created is an "update" copy
252
- results.copied.push(...installResult.created);
253
- results.skipped.push(...installResult.skipped);
254
- return results;
255
- }
256
- // ─── Managed paths ────────────────────────────────────────────────
257
- export function getManagedPaths() {
258
- return {
259
- framework: [
260
- 'CLAUDE.md',
261
- '.claude/agents/',
262
- '.claude/skills/',
263
- '.claude/commands/',
264
- ],
265
- customizable: ['.claude/customizations/', '.claude/mcp.json'],
266
- };
267
- }
18
+ const { install, update, getManagedPaths } = createSingleFileAdapter({
19
+ rootFile: 'CLAUDE.md',
20
+ dotDir: '.claude',
21
+ mcpConfigPath: '.claude/mcp.json',
22
+ mcpFormat: 'claude-code',
23
+ promptsDir: 'commands',
24
+ workflowsDir: 'commands',
25
+ workflowPrefix: 'workflow-',
26
+ frameworkDirs: ['agents', 'skills', 'commands'],
27
+ });
28
+ export { install, update, getManagedPaths };
268
29
  //# sourceMappingURL=claude-code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/cli/adapters/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/cli/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE/D;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAA;AAEnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,uBAAuB,CAAC;IACnE,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,aAAa;IACxB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,UAAU;IACxB,cAAc,EAAE,WAAW;IAC3B,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;CAChD,CAAC,CAAA;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/cursor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEnF;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,SAAS,WAAW,CAAA;AAkGjC,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CA8FtB;AAID,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAyFtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAgB9C"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/cursor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGnF;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,SAAS,WAAW,CAAA;AA6EjC,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CA8FtB;AAID,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAyFtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAgB9C"}
@@ -4,6 +4,7 @@ import { existsSync } from 'node:fs';
4
4
  import { copyDir, getOrchestratorRoot, removeDirIfExists, getPluginsRoot, getPluginSkillEntries } from '../copy.js';
5
5
  import { scaffoldMcpConfig } from '../mcp.js';
6
6
  import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIncludedPluginIds } from '../stack-config.js';
7
+ import { splitFrontmatter, parseFrontmatterString } from './frontmatter.js';
7
8
  /**
8
9
  * Cursor adapter.
9
10
  *
@@ -19,21 +20,6 @@ import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIn
19
20
  */
20
21
  export const IDE_ID = 'cursor';
21
22
  export const IDE_LABEL = 'Cursor';
22
- function stripFrontmatter(content) {
23
- const m = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
24
- return m
25
- ? { frontmatter: m[1], body: m[2] }
26
- : { frontmatter: '', body: content };
27
- }
28
- function parseFrontmatter(fm) {
29
- const result = {};
30
- for (const line of fm.split('\n')) {
31
- const m = line.match(/^(\w[\w-]*):\s*['"]?(.+?)['"]?\s*$/);
32
- if (m)
33
- result[m[1]] = m[2];
34
- }
35
- return result;
36
- }
37
23
  function toMdc({ description, globs, alwaysApply, body }) {
38
24
  const lines = ['---'];
39
25
  if (description)
@@ -56,8 +42,8 @@ function mdcName(name) {
56
42
  /** Read a source .md and produce an .mdc string. */
57
43
  async function convertFile(srcPath, { alwaysApply = false, descriptionFallback = '' } = {}) {
58
44
  const content = await readFile(srcPath, 'utf8');
59
- const { frontmatter, body } = stripFrontmatter(content);
60
- const meta = parseFrontmatter(frontmatter);
45
+ const { frontmatter, body } = splitFrontmatter(content);
46
+ const meta = parseFrontmatterString(frontmatter);
61
47
  // Description: frontmatter > fallback > first heading
62
48
  let description = meta['description'] ?? descriptionFallback;
63
49
  if (!description) {
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/cli/adapters/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG3H;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAA;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAA;AASjC,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAC5D,OAAO,CAAC;QACN,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACxC,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAC1D,IAAI,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AASD,SAAS,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAc;IAClE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IACrB,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,GAAG,CAAC,CAAA;IAC5D,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,4EAA4E;AAC5E,SAAS,OAAO,CAAC,IAAY;IAC3B,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAA;IAC3E,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAA;IACtC,yBAAyB;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAOD,oDAAoD;AACpD,KAAK,UAAU,WAAW,CACxB,OAAe,EACf,EAAE,WAAW,GAAG,KAAK,EAAE,mBAAmB,GAAG,EAAE,KAAyB,EAAE;IAE1E,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAE1C,sDAAsD;IACtD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAA;IAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACxC,IAAI,OAAO;YAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3D,OAAO,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,QAAgB,EAChB,IAAwB,EACxB,OAAoB,EACpB,SAAS,GAAG,KAAK;IAEjB,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACxD,CAAC;AAED,qEAAqE;AAErE,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAe,EACf,WAAmB,EACnB,KAAmB,EACnB,QAAmB;IAEnB,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAErE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAA;IAC3E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAA;IAE3E,kFAAkF;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG;YAClB,wBAAwB;YACxB,EAAE;YACF,sHAAsH;YACtH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAC1D,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3C,6DAA6D;IAC7D,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE;QAC5D,WAAW,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,yCAAyC;IACzC,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE;QACzE,iBAAiB,EAAE,SAAS;QAC5B,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,cAAc;KAC7B,CAAC,CAAA;IAEF,yCAAyC;IACzC,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAE1F,2DAA2D;IAC3D,CAAC;QACC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,aAAa,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,cAAc,CAClB,SAAS,EACT,QAAQ,EACR,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,EACvC,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,UAAU,CACd,OAAO,EACP,iBAAiB,EACjB,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACrC,OAAO,EACP,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAC1E,CAAA;IAED,2CAA2C;IAC3C,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE;QAC3E,iBAAiB,EAAE,UAAU;QAC7B,SAAS,EAAE,YAAY;KACxB,CAAC,CAAA;IAEF,sEAAsE;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IAClD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QACrD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;QAC1E,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,0DAA0D;IAC1D,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,QAAQ,CACT,CAAA;IACD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9C,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,qEAAqE;AAErE,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAAe,EACf,WAAmB,EACnB,KAAmB;IAEnB,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAErE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAA;IAC3E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAA;IAE3E,oDAAoD;IACpD,MAAM,WAAW,GAAG;QAClB,wBAAwB;QACxB,EAAE;QACF,sHAAsH;QACtH,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,CAAA;IAClE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAE1D,kEAAkE;IAClE,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC9E,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,qFAAqF;IACrF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE;QAC5D,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,MAAM,UAAU,CACd,OAAO,EACP,QAAQ,EACR,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC5B,OAAO,EACP,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,CACxG,CAAA;IACD,MAAM,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;IAEzF,mEAAmE;IACnE,CAAC;QACC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,KAAK,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,aAAa,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,cAAc,CAClB,SAAS,EACT,QAAQ,EACR,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,EACvC,OAAO,EACP,IAAI,CACL,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,CACd,OAAO,EACP,iBAAiB,EACjB,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACrC,OAAO,EACP,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAC3F,CAAA;IACD,MAAM,UAAU,CACd,OAAO,EACP,SAAS,EACT,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAC7B,OAAO,EACP,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAC5E,CAAA;IAED,wCAAwC;IAExC,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;IAEpB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,qEAAqE;AAErE,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,SAAS,EAAE;YACT,cAAc;YACd,uBAAuB;YACvB,uBAAuB;YACvB,gCAAgC;YAChC,wBAAwB;YACxB,2BAA2B;YAC3B,mCAAmC;SACpC;QACD,YAAY,EAAE;YACZ,+BAA+B;YAC/B,kBAAkB;SACnB;KACF,CAAA;AACH,CAAC;AAYD,KAAK,UAAU,UAAU,CACvB,OAAe,EACf,OAAe,EACf,OAAe,EACf,OAAoB,EACpB,EACE,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,MACS,EAAE;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAM;IAE/B,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzC,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QACnC,IAAI,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QACrC,MAAM,QAAQ,GAAG,iBAAiB;YAChC,CAAC,CAAC,GAAG,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,MAAM,cAAc,CAClB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EACrB,QAAQ,EACR,EAAE,WAAW,EAAE,WAAW,IAAI,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EACpE,OAAO,EACP,SAAS,CACV,CAAA;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,OAAe,EACf,OAAoB,EACpB,SAAS,GAAG,KAAK,EACjB,cAA4B;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAM;IAElC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACjE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAQ;QAClC,IAAI,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAQ;QAEpC,iCAAiC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,CAAA;QACtD,MAAM,cAAc,CAClB,SAAS,EACT,QAAQ,EACR,EAAE,mBAAmB,EAAE,UAAU,KAAK,CAAC,IAAI,EAAE,EAAE,EAC/C,OAAO,EACP,SAAS,CACV,CAAA;QAED,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACzC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBACjD,MAAM,cAAc,CAClB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACpC,SAAS,EACT,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,EAClE,OAAO,EACP,SAAS,CACV,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/cli/adapters/cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared frontmatter utilities for IDE adapters.
3
+ */
4
+ export interface FrontmatterResult {
5
+ frontmatter: string;
6
+ body: string;
7
+ }
8
+ /**
9
+ * Split content into frontmatter and body.
10
+ * Frontmatter is the YAML block between `---` delimiters.
11
+ */
12
+ export declare function splitFrontmatter(content: string): FrontmatterResult;
13
+ /**
14
+ * Strip frontmatter and return only the body, trimmed.
15
+ */
16
+ export declare function stripFrontmatter(content: string): string;
17
+ /**
18
+ * Parse frontmatter YAML into a key-value record.
19
+ * Handles simple `key: value` and `key: 'value'` / `key: "value"` patterns.
20
+ */
21
+ export declare function parseFrontmatterMeta(content: string): Record<string, string>;
22
+ /**
23
+ * Parse a raw frontmatter string (without delimiters) into key-value pairs.
24
+ */
25
+ export declare function parseFrontmatterString(fm: string): Record<string, string>;
26
+ //# sourceMappingURL=frontmatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAKnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOzE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Shared frontmatter utilities for IDE adapters.
3
+ */
4
+ /**
5
+ * Split content into frontmatter and body.
6
+ * Frontmatter is the YAML block between `---` delimiters.
7
+ */
8
+ export function splitFrontmatter(content) {
9
+ const m = content.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);
10
+ return m
11
+ ? { frontmatter: m[1], body: m[2] }
12
+ : { frontmatter: '', body: content };
13
+ }
14
+ /**
15
+ * Strip frontmatter and return only the body, trimmed.
16
+ */
17
+ export function stripFrontmatter(content) {
18
+ return splitFrontmatter(content).body.trim();
19
+ }
20
+ /**
21
+ * Parse frontmatter YAML into a key-value record.
22
+ * Handles simple `key: value` and `key: 'value'` / `key: "value"` patterns.
23
+ */
24
+ export function parseFrontmatterMeta(content) {
25
+ const { frontmatter } = splitFrontmatter(content);
26
+ return parseFrontmatterString(frontmatter);
27
+ }
28
+ /**
29
+ * Parse a raw frontmatter string (without delimiters) into key-value pairs.
30
+ */
31
+ export function parseFrontmatterString(fm) {
32
+ const result = {};
33
+ for (const line of fm.split('\n')) {
34
+ const m = line.match(/^(\w[\w-]*):\s*['"]?(.+?)['"]?\s*$/);
35
+ if (m)
36
+ result[m[1]] = m[2];
37
+ }
38
+ return result;
39
+ }
40
+ //# sourceMappingURL=frontmatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../src/cli/adapters/frontmatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAC5D,OAAO,CAAC;QACN,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACnC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAC/C,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAC1D,IAAI,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IdeAdapter } from '../types.js';
2
+ /** Lazy-loaded IDE adapters for init/update commands. */
3
+ export declare const IDE_ADAPTERS: Record<string, () => Promise<IdeAdapter>>;
4
+ export declare const VALID_IDES: string[];
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,yDAAyD;AACzD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAOlE,CAAA;AAED,eAAO,MAAM,UAAU,UAA4B,CAAA"}
@@ -0,0 +1,9 @@
1
+ /** Lazy-loaded IDE adapters for init/update commands. */
2
+ export const IDE_ADAPTERS = {
3
+ vscode: () => import('./vscode.js'),
4
+ cursor: () => import('./cursor.js'),
5
+ 'claude-code': () => import('./claude-code.js'),
6
+ opencode: () => import('./opencode.js'),
7
+ };
8
+ export const VALID_IDES = Object.keys(IDE_ADAPTERS);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/adapters/index.ts"],"names":[],"mappings":"AAEA,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAA8C;IACrE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAwB;IAC1D,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAwB;IAC1D,aAAa,EAAE,GAAG,EAAE,CAClB,MAAM,CAAC,kBAAkB,CAAwB;IACnD,QAAQ,EAAE,GAAG,EAAE,CACb,MAAM,CAAC,eAAe,CAAwB;CACjD,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.js';
2
1
  /**
3
2
  * OpenCode adapter.
4
3
  *
@@ -13,8 +12,6 @@ import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.
13
12
  * mcp.json → opencode.json (OpenCode format: type local/remote)
14
13
  */
15
14
  export declare const IDE_ID = "opencode";
16
- export declare const IDE_LABEL = "OpenCode";
17
- export declare function install(pkgRoot: string, projectRoot: string, stack?: StackConfig, repoInfo?: RepoInfo): Promise<CopyResults>;
18
- export declare function update(pkgRoot: string, projectRoot: string, stack?: StackConfig): Promise<CopyResults>;
19
- export declare function getManagedPaths(): ManagedPaths;
15
+ declare const install: (_pkgRoot: string, _projectRoot: string, _stack?: import("../types.js").StackConfig, _repoInfo?: import("../types.js").RepoInfo) => Promise<import("../types.js").CopyResults>, update: (_pkgRoot: string, _projectRoot: string, _stack?: import("../types.js").StackConfig) => Promise<import("../types.js").CopyResults>, getManagedPaths: () => import("../types.js").ManagedPaths;
16
+ export { install, update, getManagedPaths };
20
17
  //# sourceMappingURL=opencode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/opencode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEnF;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,MAAM,aAAa,CAAA;AAChC,eAAO,MAAM,SAAS,aAAa,CAAA;AAsBnC,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CA6NtB;AAID,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAID,wBAAgB,eAAe,IAAI,YAAY,CAW9C"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/cli/adapters/opencode.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,QAAA,MAAQ,OAAO,kLAAE,MAAM,sIAAE,eAAe,0CAStC,CAAA;AAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA"}