maestro-flow 0.4.13 → 0.4.15

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 (55) hide show
  1. package/.agents/skills/maestro/SKILL.md +11 -31
  2. package/.agents/skills/maestro-brainstorm/SKILL.md +2 -2
  3. package/.agents/skills/maestro-ralph/SKILL.md +58 -51
  4. package/.agents/skills/maestro-ralph-execute/SKILL.md +48 -56
  5. package/.agents/skills/maestro-verify/SKILL.md +1 -1
  6. package/.agy/skills/maestro/SKILL.md +11 -31
  7. package/.agy/skills/maestro-brainstorm/SKILL.md +2 -2
  8. package/.agy/skills/maestro-ralph/SKILL.md +58 -51
  9. package/.agy/skills/maestro-ralph-execute/SKILL.md +48 -56
  10. package/.agy/skills/maestro-verify/SKILL.md +1 -1
  11. package/.claude/commands/maestro-brainstorm.md +2 -2
  12. package/.claude/commands/maestro-ralph-execute.md +48 -56
  13. package/.claude/commands/maestro-ralph.md +58 -51
  14. package/.claude/commands/maestro-verify.md +1 -1
  15. package/.claude/commands/maestro.md +11 -31
  16. package/dist/src/commands/hooks.d.ts +30 -3
  17. package/dist/src/commands/hooks.d.ts.map +1 -1
  18. package/dist/src/commands/hooks.js +138 -11
  19. package/dist/src/commands/hooks.js.map +1 -1
  20. package/dist/src/commands/install-backend.d.ts +49 -4
  21. package/dist/src/commands/install-backend.d.ts.map +1 -1
  22. package/dist/src/commands/install-backend.js +163 -53
  23. package/dist/src/commands/install-backend.js.map +1 -1
  24. package/dist/src/commands/install.d.ts.map +1 -1
  25. package/dist/src/commands/install.js +45 -10
  26. package/dist/src/commands/install.js.map +1 -1
  27. package/dist/src/commands/uninstall.d.ts.map +1 -1
  28. package/dist/src/commands/uninstall.js +25 -38
  29. package/dist/src/commands/uninstall.js.map +1 -1
  30. package/dist/src/core/manifest.d.ts +43 -0
  31. package/dist/src/core/manifest.d.ts.map +1 -1
  32. package/dist/src/core/manifest.js +37 -1
  33. package/dist/src/core/manifest.js.map +1 -1
  34. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  35. package/dist/src/tui/install-ui/ExecutionView.js +13 -5
  36. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  37. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  38. package/dist/src/tui/install-ui/InstallExecution.js +87 -45
  39. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  40. package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts.map +1 -1
  41. package/dist/src/tui/uninstall-ui/UninstallFlow.js +12 -28
  42. package/dist/src/tui/uninstall-ui/UninstallFlow.js.map +1 -1
  43. package/package.json +1 -1
  44. package/workflows/analyze.md +6 -6
  45. package/workflows/brainstorm.md +5 -5
  46. package/workflows/debug.md +4 -4
  47. package/workflows/harvest.md +1 -1
  48. package/workflows/init.md +1 -1
  49. package/workflows/plan.md +1 -1
  50. package/workflows/quick.md +4 -4
  51. package/workflows/refactor.md +3 -3
  52. package/workflows/retrospective.md +3 -3
  53. package/workflows/ui-design.md +1 -1
  54. package/workflows/ui-style.md +1 -1
  55. package/workflows/verify.md +1 -1
@@ -2,47 +2,41 @@
2
2
  // `maestro uninstall` — remove installed maestro assets using manifests
3
3
  //
4
4
  // Interactive Ink TUI by default. Supports --all -y for non-interactive.
5
- // Cleans up files, MCP config, and hooks.
5
+ // All removal goes through the unified uninstallManifest() function which
6
+ // reads the manifest as the source of truth — no marker scanning.
6
7
  // ---------------------------------------------------------------------------
7
- import { join } from 'node:path';
8
- import { existsSync, writeFileSync } from 'node:fs';
9
- import { homedir } from 'node:os';
10
8
  import { confirm } from '@inquirer/prompts';
11
9
  import { ExitPromptError } from '@inquirer/core';
12
- import { getAllManifests, cleanManifestFiles, deleteManifest, } from '../core/manifest.js';
13
- import { deleteOverlayManifest } from '../core/overlay/applier.js';
14
- import { removeMcpServer } from './install-backend.js';
15
- import { removeMaestroHooks, loadClaudeSettings, getClaudeSettingsPath, } from './hooks.js';
10
+ import { getAllManifests, } from '../core/manifest.js';
11
+ import { uninstallManifest } from './install-backend.js';
16
12
  import { runUninstallFlow } from '../tui/uninstall-ui/index.js';
17
13
  import { t } from '../i18n/index.js';
18
14
  // ---------------------------------------------------------------------------
19
- // Helpers (used by --all -y non-interactive path)
15
+ // Helpers
20
16
  // ---------------------------------------------------------------------------
21
17
  function formatManifest(m) {
22
18
  const date = m.installedAt.split('T')[0];
23
19
  return `[${m.scope}] ${m.targetPath} (${(m.entries ?? []).length} entries, ${date})`;
24
20
  }
25
- function uninstallManifest(manifest) {
26
- const { removed, skipped } = cleanManifestFiles(manifest);
27
- const targetBase = manifest.scope === 'global' ? homedir() : manifest.targetPath;
28
- deleteOverlayManifest(manifest.scope, targetBase);
29
- const mcp = removeMcpServer(manifest.scope, manifest.targetPath);
30
- let hooks = false;
31
- const settingsPath = manifest.scope === 'global'
32
- ? getClaudeSettingsPath()
33
- : join(manifest.targetPath, '.claude', 'settings.json');
34
- if (existsSync(settingsPath)) {
35
- const settings = loadClaudeSettings(settingsPath);
36
- const hadHooks = !!settings.hooks;
37
- if (settings.statusLine?.command?.includes('maestro'))
38
- delete settings.statusLine;
39
- removeMaestroHooks(settings);
40
- if (hadHooks && !settings.hooks)
41
- hooks = true;
42
- writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
43
- }
44
- deleteManifest(manifest);
45
- return { removed, skipped, mcp, hooks };
21
+ function formatResult(r) {
22
+ const parts = [`${r.filesRemoved} removed`];
23
+ if (r.filesSkipped > 0)
24
+ parts.push(`${r.filesSkipped} preserved`);
25
+ if (r.claudeHooksRemoved > 0)
26
+ parts.push(`${r.claudeHooksRemoved} claude hooks`);
27
+ if (r.codexHooksRemoved > 0)
28
+ parts.push(`${r.codexHooksRemoved} codex hooks`);
29
+ if (r.agyHooksRemoved > 0)
30
+ parts.push(`${r.agyHooksRemoved} agy hooks`);
31
+ if (r.statuslineRemoved)
32
+ parts.push('statusline');
33
+ if (r.mcpRemoved.claude)
34
+ parts.push('claude mcp');
35
+ if (r.mcpRemoved.codex)
36
+ parts.push('codex mcp');
37
+ if (r.mcpRemoved.extras.length)
38
+ parts.push(`${r.mcpRemoved.extras.length} extra mcp`);
39
+ return parts.join(', ');
46
40
  }
47
41
  // ---------------------------------------------------------------------------
48
42
  // Command registration
@@ -86,14 +80,7 @@ export function registerUninstallCommand(program) {
86
80
  for (const m of manifests) {
87
81
  console.error(`\n${formatManifest(m)}`);
88
82
  const r = uninstallManifest(m);
89
- const parts = [`${r.removed} removed`];
90
- if (r.skipped > 0)
91
- parts.push(`${r.skipped} preserved`);
92
- if (r.mcp)
93
- parts.push('MCP cleaned');
94
- if (r.hooks)
95
- parts.push('hooks cleaned');
96
- console.error(` ${parts.join(', ')}`);
83
+ console.error(` ${formatResult(r)}`);
97
84
  }
98
85
  console.error('\nDone.');
99
86
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,33 @@ export interface ManifestEntry {
2
2
  path: string;
3
3
  type: 'file' | 'dir';
4
4
  }
5
+ /** Claude Code / Codex / Antigravity hook installation record. */
6
+ export interface HookRecord {
7
+ /** Absolute path to the settings/hooks config file written. */
8
+ settingsPath: string;
9
+ /** Hook names registered (matches keys in HOOK_DEFS / CODEX_HOOK_DEFS / AGY_HOOK_DEFS). */
10
+ installed: string[];
11
+ }
12
+ /** Statusline installation record (Claude Code settings.statusLine). */
13
+ export interface StatuslineRecord {
14
+ settingsPath: string;
15
+ /** Theme stored to maestro config; null when no theme was persisted. */
16
+ theme?: string;
17
+ }
18
+ /** Single MCP server registration record. */
19
+ export interface McpRecord {
20
+ /** Absolute path to the config file containing the registration. */
21
+ configPath: string;
22
+ /** Server name under mcpServers / servers key. */
23
+ serverName: string;
24
+ }
25
+ /** Extra MCP target registration (Cursor / Qoder / Trae / Kiro / Roo / VS Code / Gemini). */
26
+ export interface ExtraMcpRecord extends McpRecord {
27
+ targetId: string;
28
+ }
5
29
  export interface Manifest {
6
30
  id: string;
31
+ /** Manifest schema version. Bumped when fields change in a backward-incompatible way. */
7
32
  version: string;
8
33
  scope: 'global' | 'project';
9
34
  targetPath: string;
@@ -13,6 +38,17 @@ export interface Manifest {
13
38
  hookLevel?: string;
14
39
  /** Component IDs selected during interactive install (omitted = all) */
15
40
  selectedComponentIds?: string[];
41
+ hooks?: {
42
+ claude?: HookRecord;
43
+ codex?: HookRecord;
44
+ agy?: HookRecord;
45
+ };
46
+ statusline?: StatuslineRecord;
47
+ mcp?: {
48
+ claude?: McpRecord;
49
+ codex?: McpRecord;
50
+ extras?: ExtraMcpRecord[];
51
+ };
16
52
  }
17
53
  export declare function createManifest(scope: 'global' | 'project', targetPath: string, opts?: {
18
54
  hookLevel?: string;
@@ -20,6 +56,13 @@ export declare function createManifest(scope: 'global' | 'project', targetPath:
20
56
  }): Manifest;
21
57
  export declare function addFile(manifest: Manifest, filePath: string): void;
22
58
  export declare function addDir(manifest: Manifest, dirPath: string): void;
59
+ export declare function recordClaudeHooks(manifest: Manifest, record: HookRecord): void;
60
+ export declare function recordCodexHooks(manifest: Manifest, record: HookRecord): void;
61
+ export declare function recordAgyHooks(manifest: Manifest, record: HookRecord): void;
62
+ export declare function recordStatusline(manifest: Manifest, record: StatuslineRecord): void;
63
+ export declare function recordClaudeMcp(manifest: Manifest, record: McpRecord): void;
64
+ export declare function recordCodexMcp(manifest: Manifest, record: McpRecord): void;
65
+ export declare function recordExtraMcp(manifest: Manifest, record: ExtraMcpRecord): void;
23
66
  export declare function saveManifest(manifest: Manifest): string;
24
67
  export declare function findManifest(scope: 'global' | 'project', targetPath: string): Manifest | null;
25
68
  export declare function getAllManifests(): Manifest[];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAsBD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7D,QAAQ,CAYV;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAOvD;AAeD,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAa7F;AAED,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAgB5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAGvD;AAyCD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgDtC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,17 @@
2
2
  // Installation Manifest
3
3
  // Tracks installed files for clean reinstall and uninstall.
4
4
  // Manifests stored at ~/.maestro/manifests/{id}.json
5
+ //
6
+ // Manifest is the single source of truth for an installation. Every install
7
+ // step (files, hooks, MCP, statusline) records itself here so uninstall can
8
+ // reverse exactly what was installed — no marker scanning, no guesswork.
5
9
  // ---------------------------------------------------------------------------
6
10
  import { join } from 'node:path';
7
11
  import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, unlinkSync, rmSync, } from 'node:fs';
8
12
  import { paths } from '../config/paths.js';
9
13
  import { hasAnyMarkers, removeAllSections } from './tag-injector.js';
14
+ /** Current manifest schema version. */
15
+ const SCHEMA_VERSION = '2.0';
10
16
  // ---------------------------------------------------------------------------
11
17
  // Paths
12
18
  // ---------------------------------------------------------------------------
@@ -26,7 +32,7 @@ export function createManifest(scope, targetPath, opts) {
26
32
  const ts = new Date().toISOString().replace(/[-:]/g, '').replace('T', '-').split('.')[0];
27
33
  return {
28
34
  id: `${scope}-${ts}`,
29
- version: '1.0',
35
+ version: SCHEMA_VERSION,
30
36
  scope,
31
37
  targetPath,
32
38
  installedAt: new Date().toISOString(),
@@ -41,6 +47,36 @@ export function addFile(manifest, filePath) {
41
47
  export function addDir(manifest, dirPath) {
42
48
  manifest.entries.push({ path: dirPath, type: 'dir' });
43
49
  }
50
+ // --- Extended tracking helpers ---
51
+ export function recordClaudeHooks(manifest, record) {
52
+ manifest.hooks ??= {};
53
+ manifest.hooks.claude = record;
54
+ }
55
+ export function recordCodexHooks(manifest, record) {
56
+ manifest.hooks ??= {};
57
+ manifest.hooks.codex = record;
58
+ }
59
+ export function recordAgyHooks(manifest, record) {
60
+ manifest.hooks ??= {};
61
+ manifest.hooks.agy = record;
62
+ }
63
+ export function recordStatusline(manifest, record) {
64
+ manifest.statusline = record;
65
+ }
66
+ export function recordClaudeMcp(manifest, record) {
67
+ manifest.mcp ??= {};
68
+ manifest.mcp.claude = record;
69
+ }
70
+ export function recordCodexMcp(manifest, record) {
71
+ manifest.mcp ??= {};
72
+ manifest.mcp.codex = record;
73
+ }
74
+ export function recordExtraMcp(manifest, record) {
75
+ manifest.mcp ??= {};
76
+ manifest.mcp.extras ??= [];
77
+ manifest.mcp.extras.push(record);
78
+ }
79
+ // --- Save / Load ---
44
80
  export function saveManifest(manifest) {
45
81
  ensureDir();
46
82
  // Remove old manifests for same scope+path
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/core/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionView.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/ExecutionView.tsx"],"names":[],"mappings":"AAQA,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AAS3C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMpE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,GACX,EAAE,kBAAkB,2CAgMpB"}
1
+ {"version":3,"file":"ExecutionView.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/ExecutionView.tsx"],"names":[],"mappings":"AAQA,OAAO,EASL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AAU3C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMpE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,GACX,EAAE,kBAAkB,2CAwMpB"}
@@ -7,8 +7,8 @@ import { homedir } from 'node:os';
7
7
  import { writeFileSync } from 'node:fs';
8
8
  import { paths } from '../../config/paths.js';
9
9
  import { C } from '../shared/index.js';
10
- import { scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, addMcpServer, copyRecursive, createBackup, } from '../../commands/install-backend.js';
11
- import { createManifest, addFile, saveManifest, findManifest, cleanManifestFiles, } from '../../core/manifest.js';
10
+ import { scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, addMcpServer, copyRecursive, createBackup, uninstallManifest, } from '../../commands/install-backend.js';
11
+ import { createManifest, addFile, saveManifest, findManifest, recordClaudeHooks, recordClaudeMcp, } from '../../core/manifest.js';
12
12
  import { installHooksByLevel } from '../../commands/hooks.js';
13
13
  export function ExecutionView({ components, config, pkgRoot, version, onComplete, }) {
14
14
  const [status, setStatus] = useState('Scanning...');
@@ -43,13 +43,13 @@ export function ExecutionView({ components, config, pkgRoot, version, onComplete
43
43
  createBackup(existingManifest);
44
44
  }
45
45
  }
46
- // 3. Clean previous installation
46
+ // 3. Clean previous installation (full uninstall — files + hooks + mcp + statusline)
47
47
  const existingManifest = findManifest(config.mode, targetPath);
48
48
  if (existingManifest) {
49
49
  if (cancelled)
50
50
  return;
51
51
  setStatus('Cleaning previous installation...');
52
- cleanManifestFiles(existingManifest, { skipContentManaged: true });
52
+ uninstallManifest(existingManifest, { skipContentManaged: true });
53
53
  }
54
54
  // 4. Ensure home directory exists
55
55
  paths.ensure(paths.home);
@@ -103,7 +103,11 @@ export function ExecutionView({ components, config, pkgRoot, version, onComplete
103
103
  if (cancelled)
104
104
  return;
105
105
  setStatus('Registering MCP server...');
106
- mcpRegistered = addMcpServer(config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
106
+ const path = addMcpServer(config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
107
+ mcpRegistered = !!path;
108
+ if (path) {
109
+ recordClaudeMcp(manifest, { configPath: path, serverName: 'maestro-tools' });
110
+ }
107
111
  }
108
112
  // 11. Hook installation
109
113
  let hookResult = null;
@@ -116,6 +120,10 @@ export function ExecutionView({ components, config, pkgRoot, version, onComplete
116
120
  installedHooks: hookRes.installedHooks,
117
121
  level: config.hookLevel,
118
122
  };
123
+ recordClaudeHooks(manifest, {
124
+ settingsPath: hookRes.settingsPath,
125
+ installed: hookRes.installedHooks,
126
+ });
119
127
  }
120
128
  // 12. Save manifest
121
129
  if (cancelled)
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionView.js","sourceRoot":"","sources":["../../../../src/tui/install-ui/ExecutionView.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAEL,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,YAAY,GAGb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAkB,MAAM,yBAAyB,CAAC;AAe9E,MAAM,UAAU,aAAa,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,GACS;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,gBAAgB;IAChB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,KAAK,UAAU,GAAG;YAChB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC5D,MAAM,UAAU,GACd,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;gBAE7D,yBAAyB;gBACzB,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,4BAA4B,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAEpD,yBAAyB;gBACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;oBAC/D,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,SAAS;4BAAE,OAAO;wBACtB,SAAS,CAAC,oBAAoB,CAAC,CAAC;wBAChC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,iCAAiC;gBACjC,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC/D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,SAAS;wBAAE,OAAO;oBACtB,SAAS,CAAC,mCAAmC,CAAC,CAAC;oBAC/C,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBAED,kCAAkC;gBAClC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEzB,qBAAqB;gBACrB,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,sBAAsB,CAAC,CAAC;gBAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE;oBACvD,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,oBAAoB,EAAE,MAAM,CAAC,WAAW;iBACzC,CAAC,CAAC;gBACH,MAAM,UAAU,GAAc,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAEhE,qBAAqB;gBACrB,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CACtC,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnD,IAAI,SAAS;wBAAE,OAAO;oBACtB,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;oBACnC,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;oBAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;oBACrC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBACrE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;oBAC7C,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBAClC,CAAC;gBAED,wBAAwB;gBACxB,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,2BAA2B,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG;oBAClB,OAAO;oBACP,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACrD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1E,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;gBAEnB,4BAA4B;gBAC5B,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,6BAA6B,CAAC,CAAC;gBACzC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAEzE,oBAAoB;gBACpB,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,sBAAsB,CAAC,CAAC;gBAClC,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAE1E,uBAAuB;gBACvB,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,IAAI,SAAS;wBAAE,OAAO;oBACtB,SAAS,CAAC,2BAA2B,CAAC,CAAC;oBACvC,aAAa,GAAG,YAAY,CAC1B,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,cAAc,IAAI,SAAS,CACnC,CAAC;gBACJ,CAAC;gBAED,wBAAwB;gBACxB,IAAI,UAAU,GACZ,IAAI,CAAC;gBACP,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBAChC,IAAI,SAAS;wBAAE,OAAO;oBACtB,SAAS,CAAC,qBAAqB,CAAC,CAAC;oBACjC,MAAM,OAAO,GAAG,mBAAmB,CACjC,MAAM,CAAC,SAAsB,EAC7B,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CACvC,CAAC;oBACF,UAAU,GAAG;wBACX,cAAc,EAAE,OAAO,CAAC,cAAc;wBACtC,KAAK,EAAE,MAAM,CAAC,SAAS;qBACxB,CAAC;gBACJ,CAAC;gBAED,oBAAoB;gBACpB,IAAI,SAAS;oBAAE,OAAO;gBACtB,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBAChC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAE5C,WAAW;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,SAAS,CAAC,uBAAuB,CAAC,CAAC;gBACnC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChB,UAAU,CAAC;oBACT,UAAU;oBACV,YAAY;oBACZ,aAAa;oBACb,UAAU;oBACV,gBAAgB;oBAChB,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,GAAG,EAAE,CAAC;QACN,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;IAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAEtF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,0CAEnB,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,KAAK,GAAQ,IAChC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,MAAC,GAAG,eACD,IAAI,CAAC,CAAC,CAAC,CACN,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,mBACzB,IAAI,YACA,CACR,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,YACpB,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,GAClB,EACP,MAAC,IAAI,oBAAG,MAAM,IAAQ,IAClB,CACP,EACA,QAAQ,IAAI,MAAC,IAAI,oBAAG,QAAQ,IAAQ,IACjC,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,QAAQ,gCAAW,OAAO,IAAQ,GACpC,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ExecutionView.js","sourceRoot":"","sources":["../../../../src/tui/install-ui/ExecutionView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstallExecution.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/InstallExecution.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,qBAAqB,2CA+M/F"}
1
+ {"version":3,"file":"InstallExecution.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/InstallExecution.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAc7D,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,qBAAqB,2CA0P/F"}
@@ -7,9 +7,9 @@ import { homedir } from 'node:os';
7
7
  import { writeFileSync } from 'node:fs';
8
8
  import { paths } from '../../config/paths.js';
9
9
  import { C } from '../shared/index.js';
10
- import { scanComponents, scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, addMcpServer, addCodexMcpServer, addExtraMcpServer, copyRecursive, injectDocFile, createTargetBackup, } from '../../commands/install-backend.js';
11
- import { createManifest, addFile, saveManifest, findManifest, cleanManifestFiles, } from '../../core/manifest.js';
12
- import { installHooksByLevel, installCodexHooksByLevel, installStatusline as installStatuslineFn } from '../../commands/hooks.js';
10
+ import { scanComponents, scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, addMcpServer, addCodexMcpServer, addExtraMcpServer, copyRecursive, injectDocFile, createTargetBackup, uninstallManifest, } from '../../commands/install-backend.js';
11
+ import { createManifest, addFile, saveManifest, findManifest, recordClaudeHooks, recordCodexHooks, recordStatusline, recordClaudeMcp, recordCodexMcp, recordExtraMcp, } from '../../core/manifest.js';
12
+ import { installHooksByLevel, installCodexHooksByLevel, installStatusline as installStatuslineFn, } from '../../commands/hooks.js';
13
13
  import { t } from '../../i18n/index.js';
14
14
  export function InstallExecution({ config, pkgRoot, version, onComplete }) {
15
15
  const [status, setStatus] = useState(t.install.execPreparing);
@@ -26,7 +26,6 @@ export function InstallExecution({ config, pkgRoot, version, onComplete }) {
26
26
  try {
27
27
  const targetBase = config.mode === 'global' ? homedir() : config.projectPath;
28
28
  const targetPath = config.mode === 'global' ? paths.home : config.projectPath;
29
- let manifestPath = '';
30
29
  let filesInstalled = 0;
31
30
  let dirsCreated = 0;
32
31
  let filesSkipped = 0;
@@ -39,35 +38,40 @@ export function InstallExecution({ config, pkgRoot, version, onComplete }) {
39
38
  let statuslineInstalled = false;
40
39
  let backupPath = null;
41
40
  const warnings = [];
42
- // Components
43
- if (config.installComponents) {
41
+ // --- Backup (before any destructive cleanup) ---
42
+ if (config.installComponents && (config.backupClaudeMd || config.backupAll)) {
44
43
  if (cancelled)
45
44
  return;
46
- setStatus(t.install.execScanning);
47
- const disabledItems = scanDisabledItems(targetBase);
48
- // Backup before clean
49
- if (config.backupClaudeMd || config.backupAll) {
50
- if (cancelled)
51
- return;
52
- setStatus(t.install.execBackingUp);
53
- const components = scanComponents(pkgRoot, config.mode, config.projectPath)
54
- .filter((c) => c.available && config.selectedComponentIds.includes(c.def.id));
55
- backupPath = createTargetBackup(components, {
56
- backupClaudeMd: config.backupClaudeMd,
57
- backupAll: config.backupAll,
58
- });
59
- }
45
+ setStatus(t.install.execBackingUp);
46
+ const components = scanComponents(pkgRoot, config.mode, config.projectPath)
47
+ .filter((c) => c.available && config.selectedComponentIds.includes(c.def.id));
48
+ backupPath = createTargetBackup(components, {
49
+ backupClaudeMd: config.backupClaudeMd,
50
+ backupAll: config.backupAll,
51
+ });
52
+ }
53
+ // --- Full uninstall of prior installation ---
54
+ if (cancelled)
55
+ return;
56
+ setStatus(t.install.execCleaning);
57
+ const disabledItems = scanDisabledItems(targetBase);
58
+ const prior = findManifest(config.mode, targetPath);
59
+ if (prior) {
60
+ // skipContentManaged: tag injection updates CLAUDE.md/AGENTS.md in
61
+ // place, so don't strip them here — they'll be re-written below.
62
+ uninstallManifest(prior, { skipContentManaged: true });
63
+ }
64
+ // --- Fresh manifest ---
65
+ paths.ensure(paths.home);
66
+ const manifest = createManifest(config.mode, targetPath, {
67
+ hookLevel: config.installHooks ? config.hookLevel : 'none',
68
+ selectedComponentIds: config.installComponents ? config.selectedComponentIds : [],
69
+ });
70
+ // --- Components ---
71
+ if (config.installComponents) {
60
72
  if (cancelled)
61
73
  return;
62
- setStatus(t.install.execCleaning);
63
- const existing = findManifest(config.mode, targetPath);
64
- if (existing)
65
- cleanManifestFiles(existing, { skipContentManaged: true });
66
- paths.ensure(paths.home);
67
- const manifest = createManifest(config.mode, targetPath, {
68
- hookLevel: config.installHooks ? config.hookLevel : 'none',
69
- selectedComponentIds: config.selectedComponentIds,
70
- });
74
+ setStatus(t.install.execScanning);
71
75
  const stats = { files: 0, dirs: 0, skipped: 0 };
72
76
  const components = scanComponents(pkgRoot, config.mode, config.projectPath)
73
77
  .filter((c) => c.available && config.selectedComponentIds.includes(c.def.id));
@@ -95,41 +99,52 @@ export function InstallExecution({ config, pkgRoot, version, onComplete }) {
95
99
  addFile(manifest, versionPath);
96
100
  restoreDisabledState(disabledItems, targetBase);
97
101
  applyOverlaysPostInstall(config.mode, targetBase);
98
- manifestPath = saveManifest(manifest);
99
102
  filesInstalled = stats.files;
100
103
  dirsCreated = stats.dirs;
101
104
  filesSkipped = stats.skipped;
102
105
  }
103
- // Hooks (skip statusline if managed separately)
104
- if (config.installHooks) {
106
+ // --- Hooks (Claude) ---
107
+ // Statusline is NOT installed here — it has its own opt-in branch below.
108
+ if (config.installHooks && config.hookLevel !== 'none') {
105
109
  if (cancelled)
106
110
  return;
107
111
  setStatus(t.install.execInstallingHooks.replace('{level}', config.hookLevel));
108
112
  const result = installHooksByLevel(config.hookLevel, {
109
113
  project: config.mode === 'project',
110
- skipStatusline: config.installStatusline,
111
114
  });
112
115
  hooksInstalled = result.installedHooks.length;
116
+ recordClaudeHooks(manifest, {
117
+ settingsPath: result.settingsPath,
118
+ installed: result.installedHooks,
119
+ });
113
120
  }
114
- // Statusline (separate install)
121
+ // --- Statusline (opt-in) ---
115
122
  if (config.installStatusline) {
116
123
  if (cancelled)
117
124
  return;
118
125
  setStatus(t.install.execInstallingStatusline);
119
- installStatuslineFn({
126
+ const settingsPath = installStatuslineFn({
120
127
  project: config.mode === 'project',
121
128
  theme: config.statuslineTheme,
122
129
  });
123
130
  statuslineInstalled = true;
131
+ recordStatusline(manifest, {
132
+ settingsPath,
133
+ theme: config.statuslineTheme,
134
+ });
124
135
  }
125
- // MCP
136
+ // --- Claude MCP ---
126
137
  if (config.installMcp) {
127
138
  if (cancelled)
128
139
  return;
129
140
  setStatus(t.install.execRegisteringMcp);
130
- mcpRegistered = addMcpServer(config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
141
+ const path = addMcpServer(config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
142
+ mcpRegistered = !!path;
143
+ if (path) {
144
+ recordClaudeMcp(manifest, { configPath: path, serverName: 'maestro-tools' });
145
+ }
131
146
  }
132
- // Codex Hooks
147
+ // --- Codex Hooks ---
133
148
  if (config.installCodexHooks) {
134
149
  if (cancelled)
135
150
  return;
@@ -138,25 +153,43 @@ export function InstallExecution({ config, pkgRoot, version, onComplete }) {
138
153
  project: config.mode === 'project',
139
154
  });
140
155
  codexHooksInstalled = result.installedHooks.length;
156
+ recordCodexHooks(manifest, {
157
+ settingsPath: result.settingsPath,
158
+ installed: result.installedHooks,
159
+ });
141
160
  }
142
- // Codex MCP
161
+ // --- Codex MCP ---
143
162
  if (config.installCodexMcp) {
144
163
  if (cancelled)
145
164
  return;
146
165
  setStatus(t.install.execRegisteringCodexMcp);
147
- codexMcpRegistered = addCodexMcpServer(config.mode, config.projectPath, config.codexMcpTools, config.codexMcpProjectRoot || undefined);
166
+ const path = addCodexMcpServer(config.mode, config.projectPath, config.codexMcpTools, config.codexMcpProjectRoot || undefined);
167
+ codexMcpRegistered = !!path;
168
+ if (path) {
169
+ recordCodexMcp(manifest, { configPath: path, serverName: 'maestro-tools' });
170
+ }
148
171
  }
149
- // Extra MCP targets (opt-in: Cursor / Qoder / Trae / Kiro / Roo / VS Code Copilot / Gemini CLI)
172
+ // --- Extra MCP targets ---
150
173
  if (config.installExtraMcp) {
151
174
  for (const targetId of config.extraMcpTargetIds) {
152
175
  if (cancelled)
153
176
  return;
154
177
  setStatus(`Registering MCP for ${targetId}...`);
155
- const ok = addExtraMcpServer(targetId, config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
156
- (ok ? extraMcpRegistered : extraMcpFailed).push(targetId);
178
+ const path = addExtraMcpServer(targetId, config.mode, config.projectPath, config.mcpTools, config.mcpProjectRoot || undefined);
179
+ if (path) {
180
+ extraMcpRegistered.push(targetId);
181
+ recordExtraMcp(manifest, {
182
+ targetId,
183
+ configPath: path,
184
+ serverName: 'maestro-tools',
185
+ });
186
+ }
187
+ else {
188
+ extraMcpFailed.push(targetId);
189
+ }
157
190
  }
158
191
  }
159
- // CLI tools config — first install creates, upgrade merges missing tools
192
+ // --- CLI tools config ---
160
193
  if (!cancelled) {
161
194
  const { initCliToolsConfig } = await import('../../config/cli-tools-config.js');
162
195
  const result = await initCliToolsConfig();
@@ -165,9 +198,18 @@ export function InstallExecution({ config, pkgRoot, version, onComplete }) {
165
198
  else if (result.added.length > 0)
166
199
  setStatus(`cli-tools.json: added ${result.added.join(', ')}`);
167
200
  }
201
+ // --- Save manifest (single write at the end) ---
202
+ const manifestPath = saveManifest(manifest);
168
203
  setDone(true);
169
204
  setStatus(t.install.execComplete);
170
- onComplete({ filesInstalled, dirsCreated, filesSkipped, hooksInstalled, mcpRegistered, codexHooksInstalled, codexMcpRegistered, extraMcpRegistered, extraMcpFailed, manifestPath, statuslineInstalled, backupPath, migrationWarnings: warnings });
205
+ onComplete({
206
+ filesInstalled, dirsCreated, filesSkipped,
207
+ hooksInstalled, mcpRegistered,
208
+ codexHooksInstalled, codexMcpRegistered,
209
+ extraMcpRegistered, extraMcpFailed,
210
+ manifestPath,
211
+ statuslineInstalled, backupPath, migrationWarnings: warnings,
212
+ });
171
213
  }
172
214
  catch (err) {
173
215
  setError(err instanceof Error ? err.message : String(err));