@soleri/cli 9.11.0 → 9.12.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.
package/README.md CHANGED
@@ -14,21 +14,22 @@ The interactive wizard walks you through agent configuration: name, role, domain
14
14
 
15
15
  ## Commands
16
16
 
17
- | Command | Description |
18
- | ---------------------------------- | ------------------------------------------------------ |
19
- | `soleri create [name]` | Interactive wizard to scaffold a new agent |
20
- | `soleri list [dir]` | Show agents in a directory |
21
- | `soleri add-domain <domain>` | Add a knowledge domain to the agent in cwd |
22
- | `soleri install-knowledge <pack>` | Install knowledge packs from a local path |
23
- | `soleri dev` | Run agent in development mode (stdio MCP server) |
24
- | `soleri doctor` | Health check — Node, npm, tsx, agent, deps, build, MCP |
25
- | `soleri hooks add <editor>` | Generate editor hooks/config files |
26
- | `soleri hooks remove <editor>` | Remove editor hooks/config files |
27
- | `soleri hooks list` | Show installed editor hooks |
28
- | `soleri hooks add-pack <pack>` | Install a hook pack globally (~/.claude/) |
29
- | `soleri hooks remove-pack <pack>` | Remove a hook pack |
30
- | `soleri hooks list-packs` | Show available hook packs and their status |
31
- | `soleri hooks upgrade-pack <pack>` | Upgrade a hook pack to the latest version |
17
+ | Command | Description |
18
+ | ---------------------------------- | ------------------------------------------------------- |
19
+ | `soleri create [name]` | Interactive wizard to scaffold a new agent |
20
+ | `soleri list [dir]` | Show agents in a directory |
21
+ | `soleri add-domain <domain>` | Add a knowledge domain to the agent in cwd |
22
+ | `soleri install-knowledge <pack>` | Install knowledge packs from a local path |
23
+ | `soleri dev` | Run agent in development mode (stdio MCP server) |
24
+ | `soleri doctor` | Health check — Node, npm, tsx, agent, deps, build, MCP |
25
+ | `soleri hooks add <editor>` | Generate editor hooks/config files |
26
+ | `soleri hooks remove <editor>` | Remove editor hooks/config files |
27
+ | `soleri hooks list` | Show installed editor hooks |
28
+ | `soleri hooks add-pack <pack>` | Install a hook pack globally (~/.claude/) |
29
+ | `soleri hooks remove-pack <pack>` | Remove a hook pack |
30
+ | `soleri hooks list-packs` | Show available hook packs and their status |
31
+ | `soleri hooks upgrade-pack <pack>` | Upgrade a hook pack to the latest version |
32
+ | `soleri uninstall [dir]` | Remove agent MCP entries (or all artifacts with --full) |
32
33
 
33
34
  ### Create
34
35
 
@@ -108,6 +109,34 @@ soleri hooks add claude-code # Add editor hooks
108
109
  soleri add-domain security # Add a domain later
109
110
  ```
110
111
 
112
+ ### Uninstall
113
+
114
+ Remove an agent's MCP server registration:
115
+
116
+ ```bash
117
+ soleri uninstall [dir] # Remove MCP server entries only
118
+ soleri uninstall [dir] --target claude # Remove from Claude only
119
+ ```
120
+
121
+ Fully remove an agent and all its artifacts:
122
+
123
+ ```bash
124
+ soleri uninstall [dir] --full # Interactive confirmation
125
+ soleri uninstall [dir] --full --dry-run # Preview what would be removed
126
+ soleri uninstall [dir] --full --force # Skip confirmation (CI/scripting)
127
+ ```
128
+
129
+ #### Artifacts removed with --full
130
+
131
+ | Artifact | Location |
132
+ | ------------------ | ---------------------------------------------------------------------------- |
133
+ | MCP server entries | `~/.claude.json`, `~/.codex/config.toml`, `~/.config/opencode/opencode.json` |
134
+ | Project directory | `~/projects/<agent>/` or specified dir |
135
+ | Data directory | `~/.soleri/<agent>/` (current), `~/.<agent>/` (legacy) |
136
+ | CLAUDE.md blocks | `~/CLAUDE.md`, `~/.claude/CLAUDE.md` |
137
+ | Permission entries | `~/.claude/settings.local.json` |
138
+ | Launcher script | `/usr/local/bin/<agent>` |
139
+
111
140
  ## How It Works
112
141
 
113
142
  The CLI wraps [`@soleri/forge`](../forge) — the same scaffolding engine that powers AI-driven agent creation via MCP. The CLI provides a terminal-first interface for the same operations.
@@ -1,4 +1,4 @@
1
- import { accessSync, constants as fsConstants, readFileSync, existsSync } from 'node:fs';
1
+ import { accessSync, constants as fsConstants, mkdirSync, readFileSync, existsSync } from 'node:fs';
2
2
  import { resolve } from 'node:path';
3
3
  import * as p from '@clack/prompts';
4
4
  import { previewScaffold, scaffold, AgentConfigSchema, SETUP_TARGETS, scaffoldFileTree, } from '@soleri/forge/lib';
@@ -139,7 +139,16 @@ export function registerCreate(program) {
139
139
  })),
140
140
  };
141
141
  const outputDir = opts?.dir ? resolve(opts.dir) : (config.outputDir ?? process.cwd());
142
- // Preflight: check output directory is writable
142
+ // Preflight: ensure output directory exists and is writable
143
+ if (!existsSync(outputDir)) {
144
+ try {
145
+ mkdirSync(outputDir, { recursive: true });
146
+ }
147
+ catch {
148
+ p.log.error(`Cannot create ${outputDir} — check permissions`);
149
+ process.exit(1);
150
+ }
151
+ }
143
152
  try {
144
153
  accessSync(outputDir, fsConstants.W_OK);
145
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { spawn } from 'node:child_process';
2
- import { watch, writeFileSync } from 'node:fs';
2
+ import { existsSync, watch, writeFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import * as p from '@clack/prompts';
5
5
  import { detectAgent } from '../utils/agent-context.js';
@@ -23,16 +23,19 @@ export function registerDev(program) {
23
23
  }
24
24
  });
25
25
  }
26
- function runFileTreeDev(agentPath, agentId) {
26
+ async function runFileTreeDev(agentPath, agentId) {
27
27
  p.log.info(`Starting ${agentId} in file-tree dev mode...`);
28
28
  p.log.info('Starting Knowledge Engine + watching for file changes.');
29
29
  p.log.info('CLAUDE.md will be regenerated automatically on changes.');
30
30
  p.log.info('Press Ctrl+C to stop.\n');
31
- regenerateClaudeMd(agentPath);
31
+ await regenerateClaudeMd(agentPath);
32
32
  // Start the engine server
33
33
  let engineBin;
34
34
  try {
35
- engineBin = require.resolve('@soleri/core/dist/engine/bin/soleri-engine.js');
35
+ const candidate = join(agentPath, 'node_modules', '@soleri', 'core', 'dist', 'engine', 'bin', 'soleri-engine.js');
36
+ if (!existsSync(candidate))
37
+ throw new Error('Engine not found at ' + candidate);
38
+ engineBin = candidate;
36
39
  }
37
40
  catch {
38
41
  p.log.error('Engine not found. Run: npm install @soleri/core');
@@ -66,10 +69,10 @@ function runFileTreeDev(agentPath, agentId) {
66
69
  // Debounce — regenerate at most once per 200ms
67
70
  if (debounceTimer)
68
71
  clearTimeout(debounceTimer);
69
- debounceTimer = setTimeout(() => {
72
+ debounceTimer = setTimeout(async () => {
70
73
  const changedFile = filename ? ` (${filename})` : '';
71
74
  p.log.info(`Change detected${changedFile} — regenerating CLAUDE.md`);
72
- regenerateClaudeMd(agentPath);
75
+ await regenerateClaudeMd(agentPath);
73
76
  }, 200);
74
77
  });
75
78
  }
@@ -95,11 +98,10 @@ function runFileTreeDev(agentPath, agentId) {
95
98
  }
96
99
  });
97
100
  }
98
- function regenerateClaudeMd(agentPath) {
101
+ async function regenerateClaudeMd(agentPath) {
99
102
  try {
100
103
  // Dynamic import to avoid loading forge at CLI startup
101
- // eslint-disable-next-line @typescript-eslint/no-require-imports
102
- const { composeClaudeMd } = require('@soleri/forge/lib');
104
+ const { composeClaudeMd } = await import('@soleri/forge/lib');
103
105
  const { content } = composeClaudeMd(agentPath);
104
106
  writeFileSync(join(agentPath, 'CLAUDE.md'), content, 'utf-8');
105
107
  p.log.success('CLAUDE.md regenerated');
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Dream CLI — vault memory consolidation.
3
+ *
4
+ * `soleri dream` — run a dream pass immediately
5
+ * `soleri dream schedule [--time HH:MM]` — schedule daily cron
6
+ * `soleri dream unschedule` — remove cron entry
7
+ * `soleri dream status` — show dream status + cron info
8
+ */
9
+ import type { Command } from 'commander';
10
+ export declare function registerDream(program: Command): void;
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Dream CLI — vault memory consolidation.
3
+ *
4
+ * `soleri dream` — run a dream pass immediately
5
+ * `soleri dream schedule [--time HH:MM]` — schedule daily cron
6
+ * `soleri dream unschedule` — remove cron entry
7
+ * `soleri dream status` — show dream status + cron info
8
+ */
9
+ import { existsSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ import { detectAgent } from '../utils/agent-context.js';
12
+ import { pass, fail, info, heading, dim } from '../utils/logger.js';
13
+ import { SOLERI_HOME } from '@soleri/core';
14
+ function resolveVaultDbPath(agentId) {
15
+ const newDbPath = join(SOLERI_HOME, agentId, 'vault.db');
16
+ const legacyDbPath = join(SOLERI_HOME, '..', `.${agentId}`, 'vault.db');
17
+ if (existsSync(newDbPath))
18
+ return newDbPath;
19
+ if (existsSync(legacyDbPath))
20
+ return legacyDbPath;
21
+ return null;
22
+ }
23
+ export function registerDream(program) {
24
+ const dream = program.command('dream').description('Vault memory consolidation');
25
+ // ─── soleri dream (no subcommand) — run immediately ─────────
26
+ dream
27
+ .command('run', { isDefault: true })
28
+ .description('Run a dream pass immediately')
29
+ .action(async () => {
30
+ const agent = detectAgent();
31
+ if (!agent) {
32
+ fail('Not in a Soleri agent project', 'Run from an agent directory');
33
+ process.exit(1);
34
+ }
35
+ const dbPath = resolveVaultDbPath(agent.agentId);
36
+ if (!dbPath) {
37
+ fail('Vault DB not found', 'Run the agent once to initialize its vault database.');
38
+ process.exit(1);
39
+ }
40
+ const { Vault, Curator, DreamEngine, ensureDreamSchema } = await import('@soleri/core');
41
+ const vault = new Vault(dbPath);
42
+ try {
43
+ ensureDreamSchema(vault.getProvider());
44
+ const curator = new Curator(vault);
45
+ const engine = new DreamEngine(vault, curator);
46
+ heading('Dream — Memory Consolidation');
47
+ info('Running dream pass...');
48
+ console.log();
49
+ const report = engine.run();
50
+ pass('Dream pass complete');
51
+ console.log();
52
+ console.log(' Field Value');
53
+ console.log(' ───────────────────── ──────────────');
54
+ dim(` Duration ${report.durationMs}ms`);
55
+ dim(` Duplicates found ${report.duplicatesFound}`);
56
+ dim(` Stale archived ${report.staleArchived}`);
57
+ dim(` Contradictions found ${report.contradictionsFound}`);
58
+ dim(` Total dreams ${report.totalDreams}`);
59
+ dim(` Timestamp ${report.timestamp}`);
60
+ console.log();
61
+ }
62
+ finally {
63
+ vault.close();
64
+ }
65
+ });
66
+ // ─── soleri dream schedule ──────────────────────────────────
67
+ dream
68
+ .command('schedule')
69
+ .description('Schedule daily dream cron job')
70
+ .option('--time <HH:MM>', 'Time to run (24h format)', '22:00')
71
+ .action(async (opts) => {
72
+ const agent = detectAgent();
73
+ if (!agent) {
74
+ fail('Not in a Soleri agent project', 'Run from an agent directory');
75
+ process.exit(1);
76
+ }
77
+ const { scheduleDream } = await import('@soleri/core');
78
+ const result = scheduleDream(opts.time, agent.agentPath);
79
+ if (!result.isScheduled) {
80
+ fail('Failed to schedule dream cron', 'Check time format (HH:MM) and crontab access.');
81
+ process.exit(1);
82
+ }
83
+ heading('Dream — Scheduled');
84
+ pass(`Daily dream scheduled at ${result.time}`);
85
+ dim(` Log path: ${result.logPath}`);
86
+ dim(` Project: ${result.projectDir}`);
87
+ console.log();
88
+ });
89
+ // ─── soleri dream unschedule ────────────────────────────────
90
+ dream
91
+ .command('unschedule')
92
+ .description('Remove dream cron entry')
93
+ .action(async () => {
94
+ const { unscheduleDream } = await import('@soleri/core');
95
+ unscheduleDream();
96
+ heading('Dream — Unscheduled');
97
+ pass('Dream cron entry removed');
98
+ console.log();
99
+ });
100
+ // ─── soleri dream status ────────────────────────────────────
101
+ dream
102
+ .command('status')
103
+ .description('Show dream status and cron info')
104
+ .action(async () => {
105
+ const agent = detectAgent();
106
+ if (!agent) {
107
+ fail('Not in a Soleri agent project', 'Run from an agent directory');
108
+ process.exit(1);
109
+ }
110
+ const dbPath = resolveVaultDbPath(agent.agentId);
111
+ heading('Dream — Status');
112
+ // Dream engine status (only if vault exists)
113
+ if (dbPath) {
114
+ const { Vault, Curator, DreamEngine, ensureDreamSchema } = await import('@soleri/core');
115
+ const vault = new Vault(dbPath);
116
+ try {
117
+ ensureDreamSchema(vault.getProvider());
118
+ const curator = new Curator(vault);
119
+ const engine = new DreamEngine(vault, curator);
120
+ const status = engine.getStatus();
121
+ console.log(' Field Value');
122
+ console.log(' ──────────────────────── ──────────────');
123
+ dim(` Sessions since last ${status.sessionsSinceLastDream}`);
124
+ dim(` Last dream at ${status.lastDreamAt ?? 'never'}`);
125
+ dim(` Last duration ${status.lastDreamDurationMs !== null ? `${status.lastDreamDurationMs}ms` : 'n/a'}`);
126
+ dim(` Total dreams ${status.totalDreams}`);
127
+ dim(` Gate eligible ${status.gateEligible ? 'yes' : 'no'}`);
128
+ }
129
+ finally {
130
+ vault.close();
131
+ }
132
+ }
133
+ else {
134
+ info('Vault DB not found — dream engine status unavailable.');
135
+ }
136
+ console.log();
137
+ // Cron schedule status
138
+ const { getDreamSchedule } = await import('@soleri/core');
139
+ const cron = getDreamSchedule();
140
+ if (cron.isScheduled) {
141
+ pass(`Cron scheduled at ${cron.time}`);
142
+ dim(` Log path: ${cron.logPath}`);
143
+ dim(` Project: ${cron.projectDir}`);
144
+ }
145
+ else {
146
+ info('No cron schedule configured. Run `soleri dream schedule` to set one.');
147
+ }
148
+ console.log();
149
+ });
150
+ }
151
+ //# sourceMappingURL=dream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dream.js","sourceRoot":"","sources":["../../src/commands/dream.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { join, resolve } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import * as p from '@clack/prompts';
5
5
  import { detectAgent } from '../utils/agent-context.js';
6
+ import { detectArtifacts, removeDirectory, removeClaudeMdBlock, removePermissionEntries, removeLauncherScript, } from '../utils/agent-artifacts.js';
7
+ import { pass, fail, warn, skip, heading, dim } from '../utils/logger.js';
6
8
  function uninstallClaude(agentId) {
7
9
  const configPath = join(homedir(), '.claude.json');
8
10
  if (!existsSync(configPath)) {
@@ -70,12 +72,161 @@ function uninstallOpencode(agentId) {
70
72
  function escapeRegExp(s) {
71
73
  return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
72
74
  }
75
+ // ---------------------------------------------------------------------------
76
+ // Full uninstall helpers
77
+ // ---------------------------------------------------------------------------
78
+ function countArtifacts(manifest) {
79
+ let count = 0;
80
+ if (manifest.projectDir?.exists)
81
+ count++;
82
+ if (manifest.dataDir?.exists)
83
+ count++;
84
+ if (manifest.dataDirLegacy?.exists)
85
+ count++;
86
+ count += manifest.claudeMdBlocks.length;
87
+ count += manifest.mcpServerEntries.length;
88
+ if (manifest.permissionEntries.length > 0)
89
+ count++;
90
+ if (manifest.launcherScript?.exists)
91
+ count++;
92
+ return count;
93
+ }
94
+ function displayManifest(manifest) {
95
+ heading(`Artifacts for "${manifest.agentId}"`);
96
+ const show = (label, loc) => {
97
+ if (loc?.exists)
98
+ warn(label, loc.path);
99
+ else
100
+ dim(`${label} — not found`);
101
+ };
102
+ show('Project directory', manifest.projectDir);
103
+ show('Data directory', manifest.dataDir);
104
+ show('Data directory (legacy)', manifest.dataDirLegacy);
105
+ show('Launcher script', manifest.launcherScript);
106
+ if (manifest.claudeMdBlocks.length > 0) {
107
+ for (const block of manifest.claudeMdBlocks) {
108
+ warn('CLAUDE.md block', `${block.path} (lines ${block.startLine}-${block.endLine})`);
109
+ }
110
+ }
111
+ else {
112
+ dim('CLAUDE.md blocks — none found');
113
+ }
114
+ if (manifest.mcpServerEntries.length > 0) {
115
+ for (const entry of manifest.mcpServerEntries) {
116
+ warn(`MCP server (${entry.target})`, `${entry.file} → ${entry.key}`);
117
+ }
118
+ }
119
+ else {
120
+ dim('MCP server entries — none found');
121
+ }
122
+ if (manifest.permissionEntries.length > 0) {
123
+ for (const pe of manifest.permissionEntries) {
124
+ warn(`Permissions (${pe.matches.length} entries)`, pe.file);
125
+ }
126
+ }
127
+ else {
128
+ dim('Permission entries — none found');
129
+ }
130
+ }
131
+ function reportResult(label, result) {
132
+ if (result.removed)
133
+ pass(label, result.path);
134
+ else if (result.error)
135
+ fail(label, result.error);
136
+ else
137
+ skip(label, result.path);
138
+ }
139
+ async function fullUninstall(agentId, agentDir, target, dryRun, force) {
140
+ const manifest = detectArtifacts(agentId, agentDir);
141
+ const total = countArtifacts(manifest);
142
+ displayManifest(manifest);
143
+ if (total === 0) {
144
+ p.log.info('Nothing to remove.');
145
+ process.exit(2);
146
+ }
147
+ console.log(`\n Found ${total} artifact(s) to remove.\n`);
148
+ if (dryRun) {
149
+ p.log.info('Dry run — no changes made.');
150
+ return;
151
+ }
152
+ if (!force) {
153
+ const confirmed = await p.confirm({
154
+ message: `Remove all artifacts for "${agentId}"? This cannot be undone.`,
155
+ });
156
+ if (p.isCancel(confirmed) || !confirmed) {
157
+ p.log.info('Cancelled.');
158
+ return;
159
+ }
160
+ }
161
+ let removed = 0;
162
+ heading('Removing artifacts');
163
+ // 1. MCP server entries (existing logic)
164
+ if (target === 'claude' || target === 'both' || target === 'all') {
165
+ uninstallClaude(agentId);
166
+ }
167
+ if (target === 'codex' || target === 'both' || target === 'all') {
168
+ uninstallCodex(agentId);
169
+ }
170
+ if (target === 'opencode' || target === 'all') {
171
+ uninstallOpencode(agentId);
172
+ }
173
+ removed += manifest.mcpServerEntries.length;
174
+ // 2. Permission entries
175
+ for (const pe of manifest.permissionEntries) {
176
+ const result = await removePermissionEntries(pe.file, agentId);
177
+ reportResult(`Permissions (${pe.matches.length} entries)`, result);
178
+ if (result.removed)
179
+ removed++;
180
+ }
181
+ // 3. CLAUDE.md blocks (reverse order to preserve line numbers)
182
+ const sortedBlocks = [...manifest.claudeMdBlocks].sort((a, b) => b.startLine - a.startLine);
183
+ for (const block of sortedBlocks) {
184
+ const result = await removeClaudeMdBlock(block.path, block.startLine, block.endLine);
185
+ reportResult('CLAUDE.md block', result);
186
+ if (result.removed)
187
+ removed++;
188
+ }
189
+ // 4. Launcher script
190
+ if (manifest.launcherScript?.exists) {
191
+ const result = await removeLauncherScript(manifest.launcherScript.path);
192
+ reportResult('Launcher script', result);
193
+ if (result.removed)
194
+ removed++;
195
+ }
196
+ // 5. Data directories
197
+ if (manifest.dataDir?.exists) {
198
+ const result = await removeDirectory(manifest.dataDir.path);
199
+ reportResult('Data directory', result);
200
+ if (result.removed)
201
+ removed++;
202
+ }
203
+ if (manifest.dataDirLegacy?.exists) {
204
+ const result = await removeDirectory(manifest.dataDirLegacy.path);
205
+ reportResult('Data directory (legacy)', result);
206
+ if (result.removed)
207
+ removed++;
208
+ }
209
+ // 6. Project directory (last — most destructive)
210
+ if (manifest.projectDir?.exists) {
211
+ const result = await removeDirectory(manifest.projectDir.path);
212
+ reportResult('Project directory', result);
213
+ if (result.removed)
214
+ removed++;
215
+ }
216
+ console.log(`\n Removed ${removed}/${total} artifacts for "${agentId}".\n`);
217
+ }
218
+ // ---------------------------------------------------------------------------
219
+ // Command registration
220
+ // ---------------------------------------------------------------------------
73
221
  export function registerUninstall(program) {
74
222
  program
75
223
  .command('uninstall')
76
224
  .argument('[dir]', 'Agent directory (defaults to cwd)')
77
- .option('--target <target>', 'Registration target: opencode, claude, codex, or all', 'opencode')
78
- .description('Remove agent MCP server entry from editor config')
225
+ .option('--target <target>', 'Registration target: opencode, claude, codex, or all')
226
+ .option('--full', 'Remove all agent artifacts (project, data, configs, permissions, launcher)')
227
+ .option('--dry-run', 'Show what would be removed without making changes')
228
+ .option('--force', 'Skip confirmation prompt')
229
+ .description('Remove agent MCP server entries (or all artifacts with --full)')
79
230
  .action(async (dir, opts) => {
80
231
  const resolvedDir = dir ? resolve(dir) : undefined;
81
232
  const ctx = detectAgent(resolvedDir);
@@ -83,12 +234,19 @@ export function registerUninstall(program) {
83
234
  p.log.error('Not in an agent project. Run from an agent directory or pass its path.');
84
235
  process.exit(1);
85
236
  }
86
- const target = (opts?.target ?? 'opencode');
237
+ // Default: 'all' when --full, 'opencode' otherwise
238
+ const defaultTarget = opts?.full ? 'all' : 'opencode';
239
+ const target = (opts?.target ?? defaultTarget);
87
240
  const validTargets = ['claude', 'codex', 'opencode', 'both', 'all'];
88
241
  if (!validTargets.includes(target)) {
89
242
  p.log.error(`Invalid target "${target}". Use: ${validTargets.join(', ')}`);
90
243
  process.exit(1);
91
244
  }
245
+ if (opts?.full) {
246
+ await fullUninstall(ctx.agentId, resolvedDir, target, !!opts.dryRun, !!opts.force);
247
+ return;
248
+ }
249
+ // Default: MCP-only removal (backward compatible)
92
250
  if (target === 'claude' || target === 'both' || target === 'all') {
93
251
  uninstallClaude(ctx.agentId);
94
252
  }