maestro-flow 0.4.1 → 0.4.3
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/.claude/commands/maestro-analyze.md +1 -1
- package/.claude/commands/maestro-brainstorm.md +1 -1
- package/.claude/commands/maestro-collab.md +1 -1
- package/.claude/commands/maestro-execute.md +10 -1
- package/.claude/commands/maestro-guard.md +101 -0
- package/.claude/commands/maestro-impeccable.md +77 -74
- package/.claude/commands/maestro-plan.md +15 -2
- package/.claude/commands/maestro-ralph-execute.md +9 -2
- package/.claude/commands/maestro-ralph.md +8 -1
- package/.claude/commands/maestro-verify.md +15 -1
- package/.claude/commands/quality-auto-test.md +1 -1
- package/.claude/commands/quality-debug.md +1 -1
- package/.claude/commands/quality-refactor.md +1 -1
- package/.claude/commands/quality-retrospective.md +1 -1
- package/.claude/commands/quality-review.md +15 -1
- package/.claude/commands/quality-test.md +1 -1
- package/.claude/commands/security-audit.md +154 -0
- package/.claude/skills/maestro-help/index/catalog.json +2 -0
- package/.codex/skills/maestro-analyze/SKILL.md +18 -1
- package/.codex/skills/maestro-brainstorm/SKILL.md +17 -4
- package/.codex/skills/maestro-collab/SKILL.md +7 -1
- package/.codex/skills/maestro-execute/SKILL.md +365 -348
- package/.codex/skills/maestro-guard/SKILL.md +97 -0
- package/.codex/skills/maestro-impeccable/SKILL.md +76 -73
- package/.codex/skills/maestro-plan/SKILL.md +66 -7
- package/.codex/skills/maestro-ralph/SKILL.md +1 -1
- package/.codex/skills/maestro-verify/SKILL.md +18 -1
- package/.codex/skills/quality-auto-test/SKILL.md +13 -3
- package/.codex/skills/quality-debug/SKILL.md +362 -346
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-retrospective/SKILL.md +292 -292
- package/.codex/skills/quality-review/SKILL.md +374 -365
- package/.codex/skills/quality-test/SKILL.md +1 -1
- package/.codex/skills/security-audit/SKILL.md +154 -0
- package/bin/maestro-hook-runner.js +21 -1
- package/dashboard/dist-server/src/coordinator/output-parser.js +27 -0
- package/dashboard/dist-server/src/coordinator/output-parser.js.map +1 -1
- package/dist/src/commands/coordinate.d.ts.map +1 -1
- package/dist/src/commands/coordinate.js +2 -0
- package/dist/src/commands/coordinate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +49 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +236 -33
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +2 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +72 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +15 -2
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/coordinator/output-parser.d.ts.map +1 -1
- package/dist/src/coordinator/output-parser.js +27 -0
- package/dist/src/coordinator/output-parser.js.map +1 -1
- package/dist/src/hooks/delegate-monitor.d.ts +1 -0
- package/dist/src/hooks/delegate-monitor.d.ts.map +1 -1
- package/dist/src/hooks/delegate-monitor.js +1 -1
- package/dist/src/hooks/delegate-monitor.js.map +1 -1
- package/dist/src/hooks/guards/workflow-guard.d.ts +15 -0
- package/dist/src/hooks/guards/workflow-guard.d.ts.map +1 -1
- package/dist/src/hooks/guards/workflow-guard.js +61 -1
- package/dist/src/hooks/guards/workflow-guard.js.map +1 -1
- package/dist/src/hooks/plugins/decision-log-plugin.d.ts +19 -0
- package/dist/src/hooks/plugins/decision-log-plugin.d.ts.map +1 -0
- package/dist/src/hooks/plugins/decision-log-plugin.js +28 -0
- package/dist/src/hooks/plugins/decision-log-plugin.js.map +1 -0
- package/dist/src/hooks/plugins/index.d.ts +2 -0
- package/dist/src/hooks/plugins/index.d.ts.map +1 -1
- package/dist/src/hooks/plugins/index.js +1 -0
- package/dist/src/hooks/plugins/index.js.map +1 -1
- package/dist/src/hooks/session-context.d.ts +1 -0
- package/dist/src/hooks/session-context.d.ts.map +1 -1
- package/dist/src/hooks/session-context.js +1 -1
- package/dist/src/hooks/session-context.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts +1 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +1 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +2 -0
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +13 -0
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +13 -0
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +7 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.d.ts +5 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +22 -3
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +25 -4
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.d.ts +5 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.js +16 -0
- package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.js +1 -1
- package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
- package/package.json +1 -1
- package/workflows/debug.md +73 -0
- package/workflows/execute.md +27 -0
- package/workflows/plan.md +11 -0
- package/workflows/review.md +33 -1
- package/workflows/tdd.md +257 -0
- package/workflows/verify.md +57 -0
|
@@ -3,7 +3,7 @@ import { join, resolve } from 'node:path';
|
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { paths } from '../config/paths.js';
|
|
5
5
|
import { loadConfig, saveConfig, loadHooksConfig } from '../config/index.js';
|
|
6
|
-
import { evaluateWorkflowGuard } from '../hooks/guards/workflow-guard.js';
|
|
6
|
+
import { evaluateWorkflowGuard, evaluatePathGuard, loadPathGuardConfig } from '../hooks/guards/workflow-guard.js';
|
|
7
7
|
import { evaluatePreflightGuard, loadPreflightConfig } from '../hooks/guards/preflight-guard.js';
|
|
8
8
|
import { evaluatePromptGuard } from '../hooks/guards/prompt-guard.js';
|
|
9
9
|
import { evaluateSpecValidator } from '../hooks/guards/spec-validator.js';
|
|
@@ -35,6 +35,23 @@ export const HOOK_DEFS = {
|
|
|
35
35
|
'keyword-spec-injector': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
|
|
36
36
|
'workflow-guard': { event: 'PreToolUse', matcher: 'Bash|Write|Edit', level: 'full', requiresWorkspace: true },
|
|
37
37
|
};
|
|
38
|
+
export const CODEX_HOOK_DEFS = {
|
|
39
|
+
'session-context': { event: 'SessionStart', matcher: 'startup|resume', level: 'minimal', requiresWorkspace: true, statusMessage: 'Loading workflow context' },
|
|
40
|
+
'spec-injector': { event: 'SessionStart', matcher: 'startup', level: 'standard', requiresWorkspace: true, statusMessage: 'Loading project specs' },
|
|
41
|
+
'skill-context': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
|
|
42
|
+
'keyword-spec-injector': { event: 'UserPromptSubmit', level: 'standard', requiresWorkspace: true },
|
|
43
|
+
'delegate-monitor': { event: 'PostToolUse', matcher: 'Bash', level: 'standard' },
|
|
44
|
+
'coordinator-tracker': { event: 'Stop', level: 'standard', requiresWorkspace: true },
|
|
45
|
+
'team-monitor': { event: 'Stop', level: 'standard' },
|
|
46
|
+
'telemetry': { event: 'Stop', level: 'standard' },
|
|
47
|
+
'workflow-guard': { event: 'PreToolUse', matcher: 'Bash', level: 'full', requiresWorkspace: true, statusMessage: 'Checking command safety' },
|
|
48
|
+
};
|
|
49
|
+
export const CODEX_HOOK_LEVEL_DESCRIPTIONS = {
|
|
50
|
+
none: 'No hooks',
|
|
51
|
+
minimal: 'Session context (SessionStart)',
|
|
52
|
+
standard: '+ spec/keyword-injector + skill-context + delegate-monitor + coordinator/team/telemetry(Stop)',
|
|
53
|
+
full: '+ workflow-guard (PreToolUse, Bash only)',
|
|
54
|
+
};
|
|
38
55
|
/** Numeric ordering for level comparison */
|
|
39
56
|
const LEVEL_ORDER = { none: 0, minimal: 1, standard: 2, full: 3 };
|
|
40
57
|
function hookIncludedInLevel(hookLevel, targetLevel) {
|
|
@@ -168,6 +185,95 @@ export function installHooksByLevel(level, opts = {}) {
|
|
|
168
185
|
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
169
186
|
return { settingsPath, installedHooks, level };
|
|
170
187
|
}
|
|
188
|
+
export function getCodexHooksPath(opts = {}) {
|
|
189
|
+
return opts.project
|
|
190
|
+
? join(process.cwd(), '.codex', 'hooks.json')
|
|
191
|
+
: join(homedir(), '.codex', 'hooks.json');
|
|
192
|
+
}
|
|
193
|
+
export function loadCodexHooks(hooksPath) {
|
|
194
|
+
if (!existsSync(hooksPath))
|
|
195
|
+
return {};
|
|
196
|
+
try {
|
|
197
|
+
return JSON.parse(readFileSync(hooksPath, 'utf8'));
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return {};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
export function removeCodexMaestroHooks(hooksFile) {
|
|
204
|
+
if (!hooksFile.hooks)
|
|
205
|
+
return;
|
|
206
|
+
const events = ['SessionStart', 'PreToolUse', 'PostToolUse', 'UserPromptSubmit', 'Stop'];
|
|
207
|
+
for (const eventKey of events) {
|
|
208
|
+
const groups = hooksFile.hooks[eventKey];
|
|
209
|
+
if (!groups)
|
|
210
|
+
continue;
|
|
211
|
+
for (const group of groups) {
|
|
212
|
+
group.hooks = group.hooks.filter((h) => !h.command.includes(HOOK_MARKER));
|
|
213
|
+
}
|
|
214
|
+
hooksFile.hooks[eventKey] = groups.filter((g) => g.hooks.length > 0);
|
|
215
|
+
if (hooksFile.hooks[eventKey].length === 0) {
|
|
216
|
+
delete hooksFile.hooks[eventKey];
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (Object.keys(hooksFile.hooks).length === 0) {
|
|
220
|
+
delete hooksFile.hooks;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Check whether `codex_hooks = true` is set in config.toml.
|
|
225
|
+
* Returns true if the flag is found; prints a hint otherwise.
|
|
226
|
+
*/
|
|
227
|
+
export function checkCodexHooksFeatureFlag(opts = {}) {
|
|
228
|
+
const configPath = opts.project
|
|
229
|
+
? join(process.cwd(), '.codex', 'config.toml')
|
|
230
|
+
: join(homedir(), '.codex', 'config.toml');
|
|
231
|
+
if (!existsSync(configPath))
|
|
232
|
+
return false;
|
|
233
|
+
const content = readFileSync(configPath, 'utf8');
|
|
234
|
+
return /codex_hooks\s*=\s*true/i.test(content);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Install hooks at the given level into Codex hooks.json.
|
|
238
|
+
*/
|
|
239
|
+
export function installCodexHooksByLevel(level, opts = {}) {
|
|
240
|
+
if (level === 'none') {
|
|
241
|
+
return { settingsPath: '', installedHooks: [], level };
|
|
242
|
+
}
|
|
243
|
+
const hooksPath = opts.hooksPath ?? getCodexHooksPath({ project: opts.project });
|
|
244
|
+
const hooksFile = loadCodexHooks(hooksPath);
|
|
245
|
+
// Remove existing maestro hooks to avoid duplicates
|
|
246
|
+
removeCodexMaestroHooks(hooksFile);
|
|
247
|
+
// Register hooks matching the requested level
|
|
248
|
+
if (!hooksFile.hooks)
|
|
249
|
+
hooksFile.hooks = {};
|
|
250
|
+
const installedHooks = [];
|
|
251
|
+
for (const [name, def] of Object.entries(CODEX_HOOK_DEFS)) {
|
|
252
|
+
if (!hookIncludedInLevel(def.level, level))
|
|
253
|
+
continue;
|
|
254
|
+
const eventKey = def.event;
|
|
255
|
+
if (!hooksFile.hooks[eventKey])
|
|
256
|
+
hooksFile.hooks[eventKey] = [];
|
|
257
|
+
const groups = hooksFile.hooks[eventKey];
|
|
258
|
+
const hookEntry = {
|
|
259
|
+
type: 'command',
|
|
260
|
+
command: `maestro hooks run ${name}`,
|
|
261
|
+
};
|
|
262
|
+
if (def.statusMessage)
|
|
263
|
+
hookEntry.statusMessage = def.statusMessage;
|
|
264
|
+
if (def.timeout)
|
|
265
|
+
hookEntry.timeout = def.timeout;
|
|
266
|
+
const group = { hooks: [hookEntry] };
|
|
267
|
+
if (def.matcher)
|
|
268
|
+
group.matcher = def.matcher;
|
|
269
|
+
groups.push(group);
|
|
270
|
+
installedHooks.push(name);
|
|
271
|
+
}
|
|
272
|
+
// Ensure parent directory exists
|
|
273
|
+
paths.ensure(join(hooksPath, '..'));
|
|
274
|
+
writeFileSync(hooksPath, JSON.stringify(hooksFile, null, 2));
|
|
275
|
+
return { settingsPath: hooksPath, installedHooks, level };
|
|
276
|
+
}
|
|
171
277
|
// ---------------------------------------------------------------------------
|
|
172
278
|
// Stdin reader for hook runners
|
|
173
279
|
// ---------------------------------------------------------------------------
|
|
@@ -261,7 +367,7 @@ const HOOK_RUNNERS = {
|
|
|
261
367
|
if (result.inject && result.content) {
|
|
262
368
|
process.stdout.write(JSON.stringify({
|
|
263
369
|
hookSpecificOutput: {
|
|
264
|
-
hookEventName: 'UserPromptSubmit',
|
|
370
|
+
hookEventName: data.hook_event_name || 'UserPromptSubmit',
|
|
265
371
|
additionalContext: result.content,
|
|
266
372
|
},
|
|
267
373
|
}));
|
|
@@ -287,6 +393,24 @@ const HOOK_RUNNERS = {
|
|
|
287
393
|
}));
|
|
288
394
|
process.exit(2);
|
|
289
395
|
}
|
|
396
|
+
// PathGuard: check Write/Edit file paths against directory boundaries
|
|
397
|
+
if (toolName === 'Write' || toolName === 'Edit') {
|
|
398
|
+
const filePath = data.tool_input?.file_path ?? data.tool_input?.path ?? '';
|
|
399
|
+
if (filePath) {
|
|
400
|
+
const workspace = resolveWorkspace(data);
|
|
401
|
+
if (workspace) {
|
|
402
|
+
const guardConfig = loadPathGuardConfig(workspace);
|
|
403
|
+
const pathResult = evaluatePathGuard(toolName, filePath, workspace, guardConfig);
|
|
404
|
+
if (pathResult.blocked) {
|
|
405
|
+
process.stdout.write(JSON.stringify({
|
|
406
|
+
decision: 'block',
|
|
407
|
+
reason: pathResult.reason,
|
|
408
|
+
}));
|
|
409
|
+
process.exit(2);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
290
414
|
},
|
|
291
415
|
'prompt-guard': async () => {
|
|
292
416
|
const config = loadHooksConfig();
|
|
@@ -301,7 +425,7 @@ const HOOK_RUNNERS = {
|
|
|
301
425
|
if (result.flagged) {
|
|
302
426
|
process.stdout.write(JSON.stringify({
|
|
303
427
|
hookSpecificOutput: {
|
|
304
|
-
hookEventName: 'UserPromptSubmit',
|
|
428
|
+
hookEventName: data.hook_event_name || 'UserPromptSubmit',
|
|
305
429
|
additionalContext: result.warning,
|
|
306
430
|
},
|
|
307
431
|
}));
|
|
@@ -321,6 +445,24 @@ const HOOK_RUNNERS = {
|
|
|
321
445
|
return;
|
|
322
446
|
const raw = await readStdin();
|
|
323
447
|
const data = JSON.parse(raw);
|
|
448
|
+
const hookEventName = data.hook_event_name ?? '';
|
|
449
|
+
const isSessionStart = hookEventName === 'SessionStart';
|
|
450
|
+
// Codex SessionStart: inject specs as additionalContext (no agentType available)
|
|
451
|
+
if (isSessionStart) {
|
|
452
|
+
const cwd = resolveWorkspace(data) ?? data.cwd ?? process.cwd();
|
|
453
|
+
const sessionId = data.session_id ?? '';
|
|
454
|
+
const result = evaluateSpecInjection('general', cwd, sessionId);
|
|
455
|
+
if (result.inject && result.content) {
|
|
456
|
+
process.stdout.write(JSON.stringify({
|
|
457
|
+
hookSpecificOutput: {
|
|
458
|
+
hookEventName: 'SessionStart',
|
|
459
|
+
additionalContext: result.content,
|
|
460
|
+
},
|
|
461
|
+
}));
|
|
462
|
+
}
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
// Claude Code PreToolUse:Agent — rewrite agent prompt
|
|
324
466
|
const toolInput = data.tool_input ?? {};
|
|
325
467
|
const agentType = toolInput.subagent_type ?? '';
|
|
326
468
|
if (!agentType)
|
|
@@ -440,7 +582,7 @@ export function registerHooksCommand(program) {
|
|
|
440
582
|
// Workspace gate — hooks with requiresWorkspace exit silently
|
|
441
583
|
// when no Maestro workspace (.workflow/ + valid state.json) is found.
|
|
442
584
|
// This avoids stdin parsing + evaluator overhead for non-workflow projects.
|
|
443
|
-
const def = HOOK_DEFS[name];
|
|
585
|
+
const def = HOOK_DEFS[name] ?? CODEX_HOOK_DEFS[name];
|
|
444
586
|
if (def?.requiresWorkspace) {
|
|
445
587
|
const cwd = process.cwd();
|
|
446
588
|
if (!resolveWorkspace({ cwd })) {
|
|
@@ -458,10 +600,11 @@ export function registerHooksCommand(program) {
|
|
|
458
600
|
// --- maestro hooks install ---
|
|
459
601
|
hooks
|
|
460
602
|
.command('install')
|
|
461
|
-
.description('Install maestro hooks into Claude Code settings')
|
|
462
|
-
.option('--global', 'Install to global
|
|
463
|
-
.option('--project', 'Install to project
|
|
603
|
+
.description('Install maestro hooks into Claude Code or Codex settings')
|
|
604
|
+
.option('--global', 'Install to global settings (default)')
|
|
605
|
+
.option('--project', 'Install to project settings')
|
|
464
606
|
.option('--level <level>', 'Hook level: minimal, standard, full (default: full)', 'full')
|
|
607
|
+
.option('--target <target>', 'Target: claude (default) or codex', 'claude')
|
|
465
608
|
.action((opts) => {
|
|
466
609
|
const level = (opts.level ?? 'full');
|
|
467
610
|
if (!HOOK_LEVELS.includes(level) || level === 'none') {
|
|
@@ -469,46 +612,82 @@ export function registerHooksCommand(program) {
|
|
|
469
612
|
process.exitCode = 1;
|
|
470
613
|
return;
|
|
471
614
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
615
|
+
if (opts.target === 'codex') {
|
|
616
|
+
// Windows warning
|
|
617
|
+
if (process.platform === 'win32') {
|
|
618
|
+
console.log('Warning: Codex hooks are not yet supported on Windows.');
|
|
619
|
+
}
|
|
620
|
+
// Feature flag hint
|
|
621
|
+
if (!checkCodexHooksFeatureFlag({ project: opts.project })) {
|
|
622
|
+
console.log('Hint: Add codex_hooks = true to [features] in ~/.codex/config.toml to enable hooks.');
|
|
623
|
+
}
|
|
624
|
+
const result = installCodexHooksByLevel(level, { project: opts.project });
|
|
625
|
+
console.log(`Maestro hooks installed for Codex (level: ${level}):`);
|
|
626
|
+
for (const name of result.installedHooks) {
|
|
627
|
+
const def = CODEX_HOOK_DEFS[name];
|
|
628
|
+
const matcher = def.matcher ? ` [${def.matcher}]` : '';
|
|
629
|
+
console.log(` ${name}: ${def.event}${matcher}`);
|
|
630
|
+
}
|
|
631
|
+
console.log(` Config: ${result.settingsPath}`);
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
const result = installHooksByLevel(level, { project: opts.project });
|
|
635
|
+
console.log(`Maestro hooks installed (level: ${level}):`);
|
|
636
|
+
console.log(` Statusline: installed`);
|
|
637
|
+
for (const name of result.installedHooks) {
|
|
638
|
+
const def = HOOK_DEFS[name];
|
|
639
|
+
const matcher = def.matcher ? ` [${def.matcher}]` : '';
|
|
640
|
+
console.log(` ${name}: ${def.event}${matcher}`);
|
|
641
|
+
}
|
|
642
|
+
console.log(` Settings: ${result.settingsPath}`);
|
|
479
643
|
}
|
|
480
|
-
console.log(` Settings: ${result.settingsPath}`);
|
|
481
644
|
});
|
|
482
645
|
// --- maestro hooks uninstall ---
|
|
483
646
|
hooks
|
|
484
647
|
.command('uninstall')
|
|
485
|
-
.description('Remove maestro hooks from Claude Code settings')
|
|
486
|
-
.option('--global', 'Uninstall from global
|
|
487
|
-
.option('--project', 'Uninstall from project
|
|
648
|
+
.description('Remove maestro hooks from Claude Code or Codex settings')
|
|
649
|
+
.option('--global', 'Uninstall from global settings (default)')
|
|
650
|
+
.option('--project', 'Uninstall from project settings')
|
|
651
|
+
.option('--target <target>', 'Target: claude (default) or codex', 'claude')
|
|
488
652
|
.action((opts) => {
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
653
|
+
if (opts.target === 'codex') {
|
|
654
|
+
const hooksPath = getCodexHooksPath({ project: opts.project });
|
|
655
|
+
if (!existsSync(hooksPath)) {
|
|
656
|
+
console.log('No Codex hooks.json found — nothing to uninstall.');
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
const hooksFile = loadCodexHooks(hooksPath);
|
|
660
|
+
removeCodexMaestroHooks(hooksFile);
|
|
661
|
+
writeFileSync(hooksPath, JSON.stringify(hooksFile, null, 2));
|
|
662
|
+
console.log(`Maestro hooks removed from ${hooksPath}`);
|
|
495
663
|
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
664
|
+
else {
|
|
665
|
+
const settingsPath = opts.project
|
|
666
|
+
? join(process.cwd(), '.claude', 'settings.json')
|
|
667
|
+
: getClaudeSettingsPath();
|
|
668
|
+
if (!existsSync(settingsPath)) {
|
|
669
|
+
console.log('No settings file found — nothing to uninstall.');
|
|
670
|
+
return;
|
|
671
|
+
}
|
|
672
|
+
const settings = loadClaudeSettings(settingsPath);
|
|
673
|
+
if (settings.statusLine?.command?.includes(HOOK_MARKER)) {
|
|
674
|
+
delete settings.statusLine;
|
|
675
|
+
}
|
|
676
|
+
removeMaestroHooks(settings);
|
|
677
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
678
|
+
console.log(`Maestro hooks removed from ${settingsPath}`);
|
|
499
679
|
}
|
|
500
|
-
removeMaestroHooks(settings);
|
|
501
|
-
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
502
|
-
console.log(`Maestro hooks removed from ${settingsPath}`);
|
|
503
680
|
});
|
|
504
681
|
// --- maestro hooks status ---
|
|
505
682
|
hooks
|
|
506
683
|
.command('status')
|
|
507
684
|
.description('Show current hook installation status')
|
|
508
685
|
.action(() => {
|
|
686
|
+
// Claude Code hooks
|
|
509
687
|
const globalPath = getClaudeSettingsPath();
|
|
510
688
|
const projectPath = join(process.cwd(), '.claude', 'settings.json');
|
|
511
|
-
|
|
689
|
+
console.log('Claude Code:');
|
|
690
|
+
for (const [label, p] of [[' Global', globalPath], [' Project', projectPath]]) {
|
|
512
691
|
if (!existsSync(p)) {
|
|
513
692
|
console.log(`${label}: no settings file`);
|
|
514
693
|
continue;
|
|
@@ -516,10 +695,28 @@ export function registerHooksCommand(program) {
|
|
|
516
695
|
const s = loadClaudeSettings(p);
|
|
517
696
|
const hasStatusline = s.statusLine?.command?.includes(HOOK_MARKER) || false;
|
|
518
697
|
console.log(`${label} (${p}):`);
|
|
519
|
-
console.log(`
|
|
698
|
+
console.log(` Statusline: ${hasStatusline ? 'installed' : 'not installed'}`);
|
|
520
699
|
for (const name of Object.keys(HOOK_DEFS)) {
|
|
521
700
|
const installed = findHookInSettings(s, name);
|
|
522
|
-
console.log(`
|
|
701
|
+
console.log(` ${name}: ${installed ? 'installed' : 'not installed'}`);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
// Codex hooks
|
|
705
|
+
const codexGlobalPath = getCodexHooksPath();
|
|
706
|
+
const codexProjectPath = getCodexHooksPath({ project: true });
|
|
707
|
+
console.log('\nCodex:');
|
|
708
|
+
for (const [label, p] of [[' Global', codexGlobalPath], [' Project', codexProjectPath]]) {
|
|
709
|
+
if (!existsSync(p)) {
|
|
710
|
+
console.log(`${label}: no hooks.json`);
|
|
711
|
+
continue;
|
|
712
|
+
}
|
|
713
|
+
const hf = loadCodexHooks(p);
|
|
714
|
+
console.log(`${label} (${p}):`);
|
|
715
|
+
for (const name of Object.keys(CODEX_HOOK_DEFS)) {
|
|
716
|
+
const def = CODEX_HOOK_DEFS[name];
|
|
717
|
+
const groups = hf.hooks?.[def.event] ?? [];
|
|
718
|
+
const installed = groups.some((g) => g.hooks.some((h) => h.command.includes(`hooks run ${name}`)));
|
|
719
|
+
console.log(` ${name}: ${installed ? 'installed' : 'not installed'}`);
|
|
523
720
|
}
|
|
524
721
|
}
|
|
525
722
|
});
|
|
@@ -574,6 +771,12 @@ export function registerHooksCommand(program) {
|
|
|
574
771
|
const wf = def.requiresWorkspace ? ' (workspace)' : '';
|
|
575
772
|
console.log(` ${name}: ${def.event}${matcher} — ${enabled ? 'enabled' : 'disabled'} (level: ${def.level})${wf}`);
|
|
576
773
|
}
|
|
774
|
+
console.log('\nCodex hooks (subprocess):');
|
|
775
|
+
for (const [name, def] of Object.entries(CODEX_HOOK_DEFS)) {
|
|
776
|
+
const matcher = def.matcher ? ` [${def.matcher}]` : '';
|
|
777
|
+
const wf = def.requiresWorkspace ? ' (workspace)' : '';
|
|
778
|
+
console.log(` ${name}: ${def.event}${matcher} (level: ${def.level})${wf}`);
|
|
779
|
+
}
|
|
577
780
|
console.log('\nCoordinator hooks (in-process):');
|
|
578
781
|
const INTERNAL_HOOKS = [
|
|
579
782
|
'beforeRun', 'afterRun', 'beforeNode', 'afterNode',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/commands/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ export declare function restoreDisabledState(items: DisabledItem[], targetBase:
|
|
|
18
18
|
export declare function applyOverlaysPostInstall(scope: 'global' | 'project', targetBase: string): number;
|
|
19
19
|
export declare function addMcpServer(scope: 'global' | 'project', projectPath: string, enabledTools: string[], projectRoot?: string): boolean;
|
|
20
20
|
export declare function removeMcpServer(scope: 'global' | 'project', projectPath: string): boolean;
|
|
21
|
+
export declare function addCodexMcpServer(scope: 'global' | 'project', projectPath: string, enabledTools: string[], projectRoot?: string): boolean;
|
|
22
|
+
export declare function removeCodexMcpServer(scope: 'global' | 'project', projectPath: string): boolean;
|
|
21
23
|
export declare function getPackageRoot(): string;
|
|
22
24
|
export declare function countFiles(dir: string): number;
|
|
23
25
|
export interface ScannedComponent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-backend.d.ts","sourceRoot":"","sources":["../../../src/commands/install-backend.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkB9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,aAAoD,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAM9E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWtF;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,UAAU,EAAE,MAAM,GACjB,MAAM,CAWR;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAwCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAkBT;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,YAAY,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAClB,gBAAgB,EAAE,CAOpB;AAGD,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,IAAI,CA+CN;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM5E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAqB9D;AAMD,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,aAAa,GACrB,MAAM,GAAG,IAAI,CAsDf;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAQ/E;AAMD,eAAO,MAAM,SAAS,mGAOZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"install-backend.d.ts","sourceRoot":"","sources":["../../../src/commands/install-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -157,6 +157,78 @@ export function removeMcpServer(scope, projectPath) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
// ---------------------------------------------------------------------------
|
|
160
|
+
// Codex MCP config helpers (TOML-based)
|
|
161
|
+
// ---------------------------------------------------------------------------
|
|
162
|
+
function getCodexConfigPath(scope, projectPath) {
|
|
163
|
+
return scope === 'project'
|
|
164
|
+
? join(projectPath, '.codex', 'config.toml')
|
|
165
|
+
: join(homedir(), '.codex', 'config.toml');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Remove the `[mcp_servers.maestro-tools]` and `[mcp_servers.maestro-tools.env]`
|
|
169
|
+
* sections from a TOML string. Returns the cleaned content.
|
|
170
|
+
*/
|
|
171
|
+
function removeCodexMcpBlock(content) {
|
|
172
|
+
// Match from [mcp_servers.maestro-tools] (and any sub-tables like .env)
|
|
173
|
+
// up to the next top-level section header or end of file.
|
|
174
|
+
// The regex handles both the main section and its sub-sections.
|
|
175
|
+
return content.replace(/\n?\[mcp_servers\.maestro-tools(?:\.[^\]]+)?\][^\[]*(?=\n\[|\s*$)/g, '').trim();
|
|
176
|
+
}
|
|
177
|
+
export function addCodexMcpServer(scope, projectPath, enabledTools, projectRoot) {
|
|
178
|
+
const isWin = process.platform === 'win32';
|
|
179
|
+
const fp = getCodexConfigPath(scope, projectPath);
|
|
180
|
+
try {
|
|
181
|
+
let content = '';
|
|
182
|
+
if (existsSync(fp)) {
|
|
183
|
+
content = readFileSync(fp, 'utf-8');
|
|
184
|
+
}
|
|
185
|
+
// Remove existing maestro-tools block
|
|
186
|
+
content = removeCodexMcpBlock(content);
|
|
187
|
+
// Build TOML block
|
|
188
|
+
const command = isWin ? 'cmd' : 'maestro-mcp';
|
|
189
|
+
const args = isWin ? '["/c", "maestro-mcp"]' : '[]';
|
|
190
|
+
const envLines = [`MAESTRO_ENABLED_TOOLS = "${enabledTools.join(',')}"`];
|
|
191
|
+
if (projectRoot) {
|
|
192
|
+
envLines.push(`MAESTRO_PROJECT_ROOT = "${projectRoot.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
|
|
193
|
+
}
|
|
194
|
+
const block = [
|
|
195
|
+
'',
|
|
196
|
+
`[mcp_servers.maestro-tools]`,
|
|
197
|
+
`command = "${command}"`,
|
|
198
|
+
`args = ${args}`,
|
|
199
|
+
'',
|
|
200
|
+
`[mcp_servers.maestro-tools.env]`,
|
|
201
|
+
...envLines,
|
|
202
|
+
].join('\n');
|
|
203
|
+
content = content ? content + '\n' + block + '\n' : block.trimStart() + '\n';
|
|
204
|
+
// Ensure parent directory exists
|
|
205
|
+
const dir = join(fp, '..');
|
|
206
|
+
if (!existsSync(dir))
|
|
207
|
+
mkdirSync(dir, { recursive: true });
|
|
208
|
+
writeFileSync(fp, content, 'utf-8');
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
export function removeCodexMcpServer(scope, projectPath) {
|
|
216
|
+
const fp = getCodexConfigPath(scope, projectPath);
|
|
217
|
+
if (!existsSync(fp))
|
|
218
|
+
return false;
|
|
219
|
+
try {
|
|
220
|
+
const original = readFileSync(fp, 'utf-8');
|
|
221
|
+
const cleaned = removeCodexMcpBlock(original);
|
|
222
|
+
if (cleaned === original.trim())
|
|
223
|
+
return false;
|
|
224
|
+
writeFileSync(fp, cleaned + '\n', 'utf-8');
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// ---------------------------------------------------------------------------
|
|
160
232
|
// Scanning
|
|
161
233
|
// ---------------------------------------------------------------------------
|
|
162
234
|
export function getPackageRoot() {
|