opencastle 0.26.0 → 0.27.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 (40) hide show
  1. package/README.md +7 -1
  2. package/bin/cli.mjs +4 -0
  3. package/dist/cli/convoy/engine.d.ts.map +1 -1
  4. package/dist/cli/convoy/engine.js +63 -0
  5. package/dist/cli/convoy/engine.js.map +1 -1
  6. package/dist/cli/convoy/export.d.ts.map +1 -1
  7. package/dist/cli/convoy/export.js +4 -0
  8. package/dist/cli/convoy/export.js.map +1 -1
  9. package/dist/cli/destroy.d.ts +3 -0
  10. package/dist/cli/destroy.d.ts.map +1 -0
  11. package/dist/cli/destroy.js +69 -0
  12. package/dist/cli/destroy.js.map +1 -0
  13. package/dist/cli/destroy.test.d.ts +2 -0
  14. package/dist/cli/destroy.test.d.ts.map +1 -0
  15. package/dist/cli/destroy.test.js +116 -0
  16. package/dist/cli/destroy.test.js.map +1 -0
  17. package/dist/cli/gitignore.d.ts +9 -0
  18. package/dist/cli/gitignore.d.ts.map +1 -1
  19. package/dist/cli/gitignore.js +29 -0
  20. package/dist/cli/gitignore.js.map +1 -1
  21. package/dist/cli/plan.d.ts +3 -0
  22. package/dist/cli/plan.d.ts.map +1 -0
  23. package/dist/cli/plan.js +288 -0
  24. package/dist/cli/plan.js.map +1 -0
  25. package/dist/cli/run.d.ts.map +1 -1
  26. package/dist/cli/run.js +4 -0
  27. package/dist/cli/run.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/cli/convoy/engine.ts +63 -0
  30. package/src/cli/convoy/export.ts +8 -0
  31. package/src/cli/destroy.test.ts +141 -0
  32. package/src/cli/destroy.ts +88 -0
  33. package/src/cli/gitignore.ts +36 -0
  34. package/src/cli/plan.ts +316 -0
  35. package/src/cli/run.ts +4 -0
  36. package/src/dashboard/dist/_astro/{index.Cq68OHaZ.css → index.DtnyD8a5.css} +1 -1
  37. package/src/dashboard/dist/index.html +61 -4
  38. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  39. package/src/dashboard/src/pages/index.astro +60 -3
  40. package/src/dashboard/src/styles/dashboard.css +4 -0
package/README.md CHANGED
@@ -70,6 +70,8 @@ MCP servers are auto-configured for your stack in each IDE's native format.
70
70
  | `opencastle init` | Set up agents in your project |
71
71
  | `opencastle update` | Update framework files (keeps your customizations) |
72
72
  | `opencastle eject` | Remove the dependency, keep all files |
73
+ | `opencastle destroy` | Remove ALL OpenCastle files (reverse of init) |
74
+ | `opencastle plan` | Generate a convoy spec from a task description |
73
75
  | `opencastle run` | Run the Convoy Engine (deterministic, crash-recoverable orchestrator) |
74
76
  | `opencastle dashboard` | Open the observability dashboard |
75
77
  | `opencastle doctor` | Validate your setup and surface issues |
@@ -165,7 +167,11 @@ gates:
165
167
  - **Observable** — real-time dashboard auto-starts during execution.
166
168
  - **Multi-runtime** — mix Copilot, Claude Code, Cursor, and OpenCode in the same convoy.
167
169
 
168
- TIP: Use the **"Generate Convoy"** prompt to create a `convoy.yml` from a plain description. No YAML by hand.
170
+ Generate a convoy spec from a plain text description no YAML by hand:
171
+
172
+ ```bash
173
+ npx opencastle plan --file task.txt
174
+ ```
169
175
 
170
176
  📖 [Full Convoy Engine documentation →](https://www.opencastle.dev/docs/cli#run)
171
177
 
package/bin/cli.mjs CHANGED
@@ -21,7 +21,9 @@ const HELP = `
21
21
  init Set up OpenCastle in your project
22
22
  update Update framework files (preserves customizations)
23
23
  eject Remove dependency, keep all files standalone
24
+ destroy Remove ALL OpenCastle files (reverse of init)
24
25
  run Process a task queue from a spec file autonomously
26
+ plan Generate a convoy spec from a task description file
25
27
  dashboard View agent observability dashboard in your browser
26
28
  doctor Validate your OpenCastle setup
27
29
  log Append a structured event to the observability log
@@ -50,7 +52,9 @@ const commands = {
50
52
  init: () => import('../dist/cli/init.js'),
51
53
  update: () => import('../dist/cli/update.js'),
52
54
  eject: () => import('../dist/cli/eject.js'),
55
+ destroy: () => import('../dist/cli/destroy.js'),
53
56
  run: () => import('../dist/cli/run.js'),
57
+ plan: () => import('../dist/cli/plan.js'),
54
58
  dashboard: () => import('../dist/cli/dashboard.js'),
55
59
  doctor: () => import('../dist/cli/doctor.js'),
56
60
  log: () => import('../dist/cli/log.js'),
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,QAAQ,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAG9D,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AAU1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,eAAe,CAAA;IAClC,WAAW,CAAC,EAAE,UAAU,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3F,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5F,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CAChD;AA6bD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA0I7E"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,QAAQ,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAG9D,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AAU1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,eAAe,CAAA;IAClC,WAAW,CAAC,EAAE,UAAU,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3F,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5F,IAAI,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CAChD;AA4fD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA0I7E"}
@@ -205,6 +205,27 @@ async function runConvoy(convoyId, spec, adapter, store, events, wtManager, merg
205
205
  completedCount++;
206
206
  process.stdout.write(` ${c.red('⏱')} ${c.bold(`[${taskRecord.id}]`)} timed out ${c.dim(`[${completedCount}/${totalTasks}]`)}\n`);
207
207
  events.emit('task_failed', { reason: 'timeout', worker_id: workerId }, { convoy_id: convoyId, task_id: taskRecord.id, worker_id: workerId });
208
+ events.emit('session', {
209
+ agent: taskRecord.agent,
210
+ model: taskRecord.model ?? taskAdapter.name,
211
+ task: taskRecord.id,
212
+ outcome: 'failed',
213
+ duration_min: Math.round((Date.now() - taskStartTime) / 60_000),
214
+ files_changed: 0,
215
+ retries: freshRecord.retries,
216
+ convoy_id: convoyId,
217
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
218
+ events.emit('delegation', {
219
+ session_id: convoyId,
220
+ agent: taskRecord.agent,
221
+ model: taskRecord.model ?? taskAdapter.name,
222
+ tier: 'standard',
223
+ mechanism: 'convoy',
224
+ outcome: 'failed',
225
+ retries: freshRecord.retries,
226
+ phase: taskRecord.phase,
227
+ convoy_id: convoyId,
228
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
208
229
  cascadeFailure(taskRecord.id);
209
230
  }
210
231
  taskAdapterMap.delete(taskRecord.id);
@@ -244,6 +265,27 @@ async function runConvoy(convoyId, spec, adapter, store, events, wtManager, merg
244
265
  completedCount++;
245
266
  process.stdout.write(` ${c.green('✓')} ${c.bold(`[${taskRecord.id}]`)} ${elapsed} ${c.dim(`[${completedCount}/${totalTasks}]`)}\n`);
246
267
  events.emit('task_done', { exit_code: result.exitCode, worker_id: workerId }, { convoy_id: convoyId, task_id: taskRecord.id, worker_id: workerId });
268
+ events.emit('session', {
269
+ agent: taskRecord.agent,
270
+ model: taskRecord.model ?? taskAdapter.name,
271
+ task: taskRecord.id,
272
+ outcome: 'success',
273
+ duration_min: Math.round((Date.now() - taskStartTime) / 60_000),
274
+ files_changed: 0,
275
+ retries: taskRecord.retries,
276
+ convoy_id: convoyId,
277
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
278
+ events.emit('delegation', {
279
+ session_id: convoyId,
280
+ agent: taskRecord.agent,
281
+ model: taskRecord.model ?? taskAdapter.name,
282
+ tier: 'standard',
283
+ mechanism: 'convoy',
284
+ outcome: 'success',
285
+ retries: taskRecord.retries,
286
+ phase: taskRecord.phase,
287
+ convoy_id: convoyId,
288
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
247
289
  taskAdapterMap.delete(taskRecord.id);
248
290
  return;
249
291
  }
@@ -279,6 +321,27 @@ async function runConvoy(convoyId, spec, adapter, store, events, wtManager, merg
279
321
  process.stdout.write(`${outputPreview}\n`);
280
322
  }
281
323
  events.emit('task_failed', { reason: 'error', exit_code: result.exitCode, worker_id: workerId }, { convoy_id: convoyId, task_id: taskRecord.id, worker_id: workerId });
324
+ events.emit('session', {
325
+ agent: taskRecord.agent,
326
+ model: taskRecord.model ?? taskAdapter.name,
327
+ task: taskRecord.id,
328
+ outcome: 'failed',
329
+ duration_min: Math.round((Date.now() - taskStartTime) / 60_000),
330
+ files_changed: 0,
331
+ retries: freshRecord.retries,
332
+ convoy_id: convoyId,
333
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
334
+ events.emit('delegation', {
335
+ session_id: convoyId,
336
+ agent: taskRecord.agent,
337
+ model: taskRecord.model ?? taskAdapter.name,
338
+ tier: 'standard',
339
+ mechanism: 'convoy',
340
+ outcome: 'failed',
341
+ retries: freshRecord.retries,
342
+ phase: taskRecord.phase,
343
+ convoy_id: convoyId,
344
+ }, { convoy_id: convoyId, task_id: taskRecord.id });
282
345
  cascadeFailure(taskRecord.id);
283
346
  }
284
347
  taskAdapterMap.delete(taskRecord.id);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiDf"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -48,6 +48,9 @@ export async function exportConvoyToNdjson(store, convoyId, logsDir) {
48
48
  skipped: tasks.filter((t) => t.status === 'skipped').length,
49
49
  timedOut: tasks.filter((t) => t.status === 'timed-out').length,
50
50
  };
51
+ const durationSec = convoy.started_at && convoy.finished_at
52
+ ? Math.round((new Date(convoy.finished_at).getTime() - new Date(convoy.started_at).getTime()) / 1_000)
53
+ : undefined;
51
54
  const record = {
52
55
  id: convoy.id,
53
56
  name: convoy.name,
@@ -56,6 +59,7 @@ export async function exportConvoyToNdjson(store, convoyId, logsDir) {
56
59
  created_at: convoy.created_at,
57
60
  started_at: convoy.started_at,
58
61
  finished_at: convoy.finished_at,
62
+ duration_sec: durationSec,
59
63
  summary,
60
64
  tasks: tasks.map((t) => ({
61
65
  id: t.id,
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CliContext } from './types.js';
2
+ export default function destroy({ pkgRoot: _pkgRoot, args, }: CliContext): Promise<void>;
3
+ //# sourceMappingURL=destroy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../../src/cli/destroy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,wBAA8B,OAAO,CAAC,EACpC,OAAO,EAAE,QAAQ,EACjB,IAAI,GACL,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2E5B"}
@@ -0,0 +1,69 @@
1
+ import { resolve } from 'node:path';
2
+ import { unlink } from 'node:fs/promises';
3
+ import { existsSync } from 'node:fs';
4
+ import { readManifest } from './manifest.js';
5
+ import { removeDirIfExists } from './copy.js';
6
+ import { removeGitignoreBlock } from './gitignore.js';
7
+ import { confirm, closePrompts, c } from './prompt.js';
8
+ export default async function destroy({ pkgRoot: _pkgRoot, args, }) {
9
+ const projectRoot = process.cwd();
10
+ const dryRun = args.includes('--dry-run') || args.includes('--dryRun');
11
+ const manifest = await readManifest(projectRoot);
12
+ if (!manifest) {
13
+ console.error(' ✗ No OpenCastle installation found.');
14
+ process.exit(1);
15
+ }
16
+ const frameworkPaths = manifest.managedPaths?.framework ?? [];
17
+ const customizablePaths = manifest.managedPaths?.customizable ?? [];
18
+ const legacyManifestPath = resolve(projectRoot, '.opencastle.json');
19
+ const hasLegacy = existsSync(legacyManifestPath);
20
+ console.log(`\n 🏰 OpenCastle destroy\n`);
21
+ console.log(' This will permanently remove:\n');
22
+ for (const p of frameworkPaths) {
23
+ console.log(` ${c.dim(p)}`);
24
+ }
25
+ for (const p of customizablePaths) {
26
+ console.log(` ${c.dim(p)}`);
27
+ }
28
+ console.log(` ${c.dim('.opencastle/')}`);
29
+ if (hasLegacy) {
30
+ console.log(` ${c.dim('.opencastle.json')}`);
31
+ }
32
+ console.log(` ${c.dim('.gitignore block')}\n`);
33
+ if (dryRun) {
34
+ console.log(' [dry-run] No files were changed.\n');
35
+ return;
36
+ }
37
+ const proceed = await confirm('This will permanently delete all OpenCastle files. Continue?', false);
38
+ if (!proceed) {
39
+ console.log(' Aborted.');
40
+ closePrompts();
41
+ return;
42
+ }
43
+ let removed = 0;
44
+ for (const p of [...frameworkPaths, ...customizablePaths]) {
45
+ if (p.endsWith('/')) {
46
+ const dir = resolve(projectRoot, p);
47
+ await removeDirIfExists(dir);
48
+ removed++;
49
+ }
50
+ else {
51
+ const file = resolve(projectRoot, p);
52
+ if (existsSync(file)) {
53
+ await unlink(file);
54
+ removed++;
55
+ }
56
+ }
57
+ }
58
+ await removeDirIfExists(resolve(projectRoot, '.opencastle'));
59
+ removed++;
60
+ if (hasLegacy) {
61
+ await unlink(legacyManifestPath);
62
+ removed++;
63
+ }
64
+ const gitignoreResult = await removeGitignoreBlock(projectRoot);
65
+ console.log(`\n ${c.green('✓')} Removed ${removed} path(s)${gitignoreResult === 'removed' ? ' + .gitignore block' : ''}.`);
66
+ console.log(` You can uninstall: ${c.bold('npm uninstall opencastle')}\n`);
67
+ closePrompts();
68
+ }
69
+ //# sourceMappingURL=destroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../src/cli/destroy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=destroy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.test.d.ts","sourceRoot":"","sources":["../../src/cli/destroy.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
1
+ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
2
+ import { mkdtemp, mkdir, writeFile, rm } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { tmpdir } from 'node:os';
5
+ import { existsSync } from 'node:fs';
6
+ vi.mock('./prompt.js', () => ({
7
+ confirm: vi.fn().mockResolvedValue(true),
8
+ closePrompts: vi.fn(),
9
+ c: {
10
+ green: (s) => s,
11
+ dim: (s) => s,
12
+ bold: (s) => s,
13
+ red: (s) => s,
14
+ cyan: (s) => s,
15
+ yellow: (s) => s,
16
+ magenta: (s) => s,
17
+ },
18
+ }));
19
+ import destroy from './destroy.js';
20
+ import { confirm } from './prompt.js';
21
+ const START_MARKER = '# >>> OpenCastle managed (do not edit) >>>';
22
+ const END_MARKER = '# <<< OpenCastle managed <<<';
23
+ async function writeManifestFile(dir, manifest = {}) {
24
+ await mkdir(join(dir, '.opencastle'), { recursive: true });
25
+ const full = {
26
+ version: '1.0.0',
27
+ ide: 'vscode',
28
+ ides: ['vscode'],
29
+ installedAt: new Date().toISOString(),
30
+ updatedAt: new Date().toISOString(),
31
+ managedPaths: { framework: [], customizable: [] },
32
+ ...manifest,
33
+ };
34
+ await writeFile(join(dir, '.opencastle', 'manifest.json'), JSON.stringify(full, null, 2));
35
+ }
36
+ async function writeGitignoreWithBlock(dir, userEntries = 'node_modules\n') {
37
+ const block = [userEntries, '', START_MARKER, '.github/', '!.github/customizations/', END_MARKER, ''].join('\n');
38
+ await writeFile(join(dir, '.gitignore'), block);
39
+ }
40
+ // ── Tests ──────────────────────────────────────────────────────
41
+ describe('destroy', () => {
42
+ let tmpDir;
43
+ let cwdSpy;
44
+ let exitSpy;
45
+ beforeEach(async () => {
46
+ tmpDir = await mkdtemp(join(tmpdir(), 'oc-destroy-'));
47
+ cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(tmpDir);
48
+ exitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
49
+ throw new Error('process.exit called');
50
+ });
51
+ vi.mocked(confirm).mockResolvedValue(true);
52
+ });
53
+ afterEach(async () => {
54
+ cwdSpy.mockRestore();
55
+ exitSpy.mockRestore();
56
+ await rm(tmpDir, { recursive: true, force: true });
57
+ });
58
+ it('removes all managed framework files', async () => {
59
+ await writeManifestFile(tmpDir, {
60
+ managedPaths: {
61
+ framework: ['.github/instructions/general.instructions.md', '.github/copilot-instructions.md'],
62
+ customizable: [],
63
+ },
64
+ });
65
+ await mkdir(join(tmpDir, '.github', 'instructions'), { recursive: true });
66
+ await writeFile(join(tmpDir, '.github', 'instructions', 'general.instructions.md'), 'content');
67
+ await writeFile(join(tmpDir, '.github', 'copilot-instructions.md'), 'content');
68
+ await destroy({ pkgRoot: tmpDir, args: [] });
69
+ expect(existsSync(join(tmpDir, '.github', 'instructions', 'general.instructions.md'))).toBe(false);
70
+ expect(existsSync(join(tmpDir, '.github', 'copilot-instructions.md'))).toBe(false);
71
+ });
72
+ it('removes .opencastle/ directory', async () => {
73
+ await writeManifestFile(tmpDir);
74
+ expect(existsSync(join(tmpDir, '.opencastle'))).toBe(true);
75
+ await destroy({ pkgRoot: tmpDir, args: [] });
76
+ expect(existsSync(join(tmpDir, '.opencastle'))).toBe(false);
77
+ });
78
+ it('removes legacy .opencastle.json manifest', async () => {
79
+ await writeManifestFile(tmpDir);
80
+ const legacyPath = join(tmpDir, '.opencastle.json');
81
+ await writeFile(legacyPath, JSON.stringify({ version: '0.1.0', ide: 'vscode', installedAt: '', updatedAt: '' }));
82
+ await destroy({ pkgRoot: tmpDir, args: [] });
83
+ expect(existsSync(legacyPath)).toBe(false);
84
+ });
85
+ it('cleans the gitignore block but keeps user entries', async () => {
86
+ await writeManifestFile(tmpDir);
87
+ await writeGitignoreWithBlock(tmpDir, 'node_modules\ndist\n');
88
+ await destroy({ pkgRoot: tmpDir, args: [] });
89
+ const gitignorePath = join(tmpDir, '.gitignore');
90
+ expect(existsSync(gitignorePath)).toBe(true);
91
+ const { readFile } = await import('node:fs/promises');
92
+ const content = await readFile(gitignorePath, 'utf8');
93
+ expect(content).not.toContain(START_MARKER);
94
+ expect(content).not.toContain(END_MARKER);
95
+ expect(content).toContain('node_modules');
96
+ expect(content).toContain('dist');
97
+ });
98
+ it('dry-run makes no changes', async () => {
99
+ await writeManifestFile(tmpDir, {
100
+ managedPaths: { framework: ['some-file.md'], customizable: [] },
101
+ });
102
+ await writeFile(join(tmpDir, 'some-file.md'), 'content');
103
+ await writeGitignoreWithBlock(tmpDir);
104
+ await destroy({ pkgRoot: tmpDir, args: ['--dry-run'] });
105
+ expect(existsSync(join(tmpDir, 'some-file.md'))).toBe(true);
106
+ expect(existsSync(join(tmpDir, '.opencastle'))).toBe(true);
107
+ const { readFile } = await import('node:fs/promises');
108
+ const gitignore = await readFile(join(tmpDir, '.gitignore'), 'utf8');
109
+ expect(gitignore).toContain(START_MARKER);
110
+ });
111
+ it('exits with error when no manifest found', async () => {
112
+ await expect(destroy({ pkgRoot: tmpDir, args: [] })).rejects.toThrow('process.exit called');
113
+ expect(exitSpy).toHaveBeenCalledWith(1);
114
+ });
115
+ });
116
+ //# sourceMappingURL=destroy.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.test.js","sourceRoot":"","sources":["../../src/cli/destroy.test.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,13 @@ import type { ManagedPaths } from './types.js';
8
8
  * (handles re-init or IDE switch cleanly).
9
9
  */
10
10
  export declare function updateGitignore(projectRoot: string, managed: ManagedPaths): Promise<'created' | 'updated' | 'unchanged'>;
11
+ /**
12
+ * Remove the OpenCastle managed block from `.gitignore`.
13
+ *
14
+ * - No-op if no `.gitignore` exists or no block is present.
15
+ * - Cleans up resulting double blank lines.
16
+ * - Deletes `.gitignore` if the file becomes empty after removal.
17
+ * - Returns 'removed' or 'unchanged'.
18
+ */
19
+ export declare function removeGitignoreBlock(projectRoot: string): Promise<'removed' | 'unchanged'>;
11
20
  //# sourceMappingURL=gitignore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/cli/gitignore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA6B9C;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CA8B9C"}
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/cli/gitignore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AA6B9C;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,CA8B9C;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,CAwBlC"}
@@ -56,4 +56,33 @@ export async function updateGitignore(projectRoot, managed) {
56
56
  await writeFile(gitignorePath, existing + separator + block + '\n', 'utf8');
57
57
  return 'updated';
58
58
  }
59
+ /**
60
+ * Remove the OpenCastle managed block from `.gitignore`.
61
+ *
62
+ * - No-op if no `.gitignore` exists or no block is present.
63
+ * - Cleans up resulting double blank lines.
64
+ * - Deletes `.gitignore` if the file becomes empty after removal.
65
+ * - Returns 'removed' or 'unchanged'.
66
+ */
67
+ export async function removeGitignoreBlock(projectRoot) {
68
+ const gitignorePath = resolve(projectRoot, '.gitignore');
69
+ if (!existsSync(gitignorePath))
70
+ return 'unchanged';
71
+ const existing = await readFile(gitignorePath, 'utf8');
72
+ const startIdx = existing.indexOf(START_MARKER);
73
+ const endIdx = existing.indexOf(END_MARKER);
74
+ if (startIdx === -1 || endIdx === -1)
75
+ return 'unchanged';
76
+ const before = existing.slice(0, startIdx);
77
+ const after = existing.slice(endIdx + END_MARKER.length);
78
+ // Collapse consecutive blank lines left by removal
79
+ const updated = (before + after).replace(/\n{3,}/g, '\n\n').trimEnd();
80
+ if (!updated) {
81
+ const { unlink } = await import('node:fs/promises');
82
+ await unlink(gitignorePath);
83
+ return 'removed';
84
+ }
85
+ await writeFile(gitignorePath, updated + '\n', 'utf8');
86
+ return 'removed';
87
+ }
59
88
  //# sourceMappingURL=gitignore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/cli/gitignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGpC,MAAM,YAAY,GAAG,4CAA4C,CAAA;AACjE,MAAM,UAAU,GAAG,8BAA8B,CAAA;AAEjD;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,OAAqB;IACvC,MAAM,KAAK,GAAa,CAAC,YAAY,CAAC,CAAA;IAEtC,+DAA+D;IAC/D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IAED,oDAAoD;IACpD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,OAAqB;IAErB,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACxD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAEjC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QACpD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAEtD,yBAAyB;IACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;QAEtC,IAAI,OAAO,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAA;QAE5C,MAAM,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACzD,MAAM,SAAS,CAAC,aAAa,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3E,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/cli/gitignore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CliContext } from './types.js';
2
+ export default function plan({ args, pkgRoot }: CliContext): Promise<void>;
3
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAQ,MAAM,YAAY,CAAA;AAmKlD,wBAA8B,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiJ/E"}