maestro-flow 0.3.2 → 0.3.4
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/CLAUDE.md +2 -2
- package/.claude/agents/cli-explore-agent.md +1 -1
- package/.claude/agents/team-worker.md +237 -237
- package/.claude/commands/maestro-coordinate.md +65 -65
- package/.claude/commands/maestro-link-coordinate.md +71 -71
- package/.claude/commands/manage-issue-execute.md +73 -73
- package/.claude/commands/quality-business-test.md +110 -0
- package/.claude/skills/team-coordinate/SKILL.md +266 -266
- package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -209
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +94 -94
- package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -62
- package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +85 -85
- package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +95 -95
- package/.claude/skills/team-quality-assurance/SKILL.md +147 -147
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -75
- package/.claude/skills/team-review/SKILL.md +147 -147
- package/.claude/skills/team-review/roles/reviewer/role.md +68 -68
- package/.claude/skills/team-review/roles/scanner/role.md +79 -79
- package/.claude/skills/team-tech-debt/SKILL.md +128 -128
- package/.claude/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -90
- package/.claude/skills/team-tech-debt/roles/validator/role.md +78 -78
- package/.claude/skills/team-testing/SKILL.md +143 -143
- package/.claude/skills/team-testing/roles/executor/role.md +99 -99
- package/.claude/skills/team-testing/roles/generator/role.md +98 -98
- package/.codex/skills/maestro-coordinate/SKILL.md +1 -1
- package/.codex/skills/manage-issue-analyze/SKILL.md +3 -3
- package/.codex/skills/manage-issue-execute/SKILL.md +4 -4
- package/.codex/skills/manage-issue-plan/SKILL.md +2 -2
- package/.codex/skills/quality-business-test/SKILL.md +223 -0
- package/.codex/skills/team-coordinate/SKILL.md +7 -7
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -2
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +2 -2
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/team-review/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-review/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/SKILL.md +2 -2
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/executor/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/validator/role.md +1 -1
- package/.codex/skills/team-testing/SKILL.md +2 -2
- package/.codex/skills/team-testing/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/README.md +31 -2
- package/README.zh-CN.md +23 -1
- package/chains/_intent-map.json +6 -0
- package/chains/_router.json +14 -0
- package/chains/full-lifecycle.json +15 -0
- package/chains/quality-loop.json +16 -1
- package/chains/singles/business-test.json +26 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +16 -2
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +25 -9
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +3 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +78 -61
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-history-store.d.ts +14 -1
- package/dashboard/dist-server/src/agents/cli-history-store.js +24 -2
- package/dashboard/dist-server/src/agents/cli-history-store.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +142 -6
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +3 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +78 -61
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/agents/cli-history-store.d.ts +14 -1
- package/dist/src/agents/cli-history-store.d.ts.map +1 -1
- package/dist/src/agents/cli-history-store.js +24 -2
- package/dist/src/agents/cli-history-store.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +142 -6
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +15 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +29 -2
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +15 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +67 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.d.ts +6 -4
- package/dist/src/commands/install-ui/BackupConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.js +39 -12
- package/dist/src/commands/install-ui/BackupConfig.js.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +5 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +30 -5
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +31 -6
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.d.ts +5 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.js +24 -0
- package/dist/src/commands/install-ui/InstallHub.js.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.js +1 -1
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +9 -0
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js +13 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -0
- package/dist/src/commands/install-ui/index.d.ts +1 -1
- package/dist/src/commands/install-ui/index.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.d.ts +6 -0
- package/dist/src/commands/install-ui/types.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.js +3 -0
- package/dist/src/commands/install-ui/types.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +6 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +45 -1
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/team.d.ts +10 -0
- package/dist/src/commands/team.d.ts.map +1 -1
- package/dist/src/commands/team.js +436 -42
- package/dist/src/commands/team.js.map +1 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +58 -0
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +4 -0
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js.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/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +2 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +19 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +17 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +25 -1
- 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 +25 -1
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +22 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +9 -9
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +11 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/namespace-guard.d.ts +37 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -0
- package/dist/src/tools/namespace-guard.js +126 -0
- package/dist/src/tools/namespace-guard.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +17 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +71 -13
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-members.d.ts +16 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +31 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/package.json +2 -2
- package/templates/business-test-report.json +68 -0
- package/workflows/delegate-usage.md +330 -0
|
@@ -36,7 +36,7 @@ Codebase-informed implementation planning with complexity assessment.
|
|
|
36
36
|
3. Check <session>/explorations/cache-index.json for cached explorations
|
|
37
37
|
4. Explore codebase (cache-aware):
|
|
38
38
|
```
|
|
39
|
-
Bash({ command: `maestro
|
|
39
|
+
Bash({ command: `maestro delegate "PURPOSE: Explore codebase to inform planning
|
|
40
40
|
TASK: * Search for relevant patterns * Identify files to modify * Document integration points
|
|
41
41
|
MODE: analysis
|
|
42
42
|
CONTEXT: @**/*
|
|
@@ -48,7 +48,7 @@ Codebase-informed implementation planning with complexity assessment.
|
|
|
48
48
|
|
|
49
49
|
Generate plan.json + .task/TASK-*.json:
|
|
50
50
|
```
|
|
51
|
-
Bash({ command: `maestro
|
|
51
|
+
Bash({ command: `maestro delegate "PURPOSE: Generate implementation plan from exploration results
|
|
52
52
|
TASK: * Create plan.json overview * Generate TASK-*.json files (2-7 tasks) * Define dependencies * Set convergence criteria
|
|
53
53
|
MODE: write
|
|
54
54
|
CONTEXT: @<session>/explorations/*.json
|
|
@@ -61,7 +61,7 @@ Template-driven document generation with progressive dependency loading.
|
|
|
61
61
|
|
|
62
62
|
CLI generation:
|
|
63
63
|
```
|
|
64
|
-
Bash({ command: `maestro
|
|
64
|
+
Bash({ command: `maestro delegate "PURPOSE: Generate <doc-type> document following template
|
|
65
65
|
TASK: * Load template * Apply spec config and discovery context * Integrate prior feedback * Generate all sections
|
|
66
66
|
MODE: write
|
|
67
67
|
CONTEXT: @<session>/spec/*.json @<template-path>
|
|
@@ -63,7 +63,7 @@ Before calling ANY tool, apply this check:
|
|
|
63
63
|
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
64
64
|
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
65
65
|
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
66
|
-
| `Bash("maestro
|
|
66
|
+
| `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
|
|
67
67
|
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
68
68
|
|
|
69
69
|
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
@@ -77,7 +77,7 @@ Before calling ANY tool, apply this check:
|
|
|
77
77
|
- **Session prefix**: `QA`
|
|
78
78
|
- **Session path**: `.workflow/.team/QA-<slug>-<date>/`
|
|
79
79
|
- **Team name**: `quality-assurance`
|
|
80
|
-
- **CLI tools**: `maestro
|
|
80
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
81
81
|
- **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
|
|
82
82
|
|
|
83
83
|
## Worker Spawn Template
|
|
@@ -12,7 +12,7 @@ Orchestrate team-quality-assurance: analyze -> dispatch -> spawn -> monitor -> r
|
|
|
12
12
|
**FORBIDDEN** (even if the task seems trivial):
|
|
13
13
|
```
|
|
14
14
|
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
-
WRONG: Bash("maestro
|
|
15
|
+
WRONG: Bash("maestro delegate ...") — worker work
|
|
16
16
|
WRONG: Edit/Write on project source files — worker work
|
|
17
17
|
WRONG: Bash("npm test"), Bash("tsc"), etc. — worker work
|
|
18
18
|
```
|
|
@@ -45,7 +45,7 @@ WRONG: Bash("npm test"), Bash("tsc"), etc. — worker work
|
|
|
45
45
|
- Modify test files or source code
|
|
46
46
|
- Spawn workers with general-purpose agent (MUST use team-worker)
|
|
47
47
|
- Generate more than 6 worker roles
|
|
48
|
-
- Call CLI tools (maestro
|
|
48
|
+
- Call CLI tools (maestro delegate) — only workers use CLI
|
|
49
49
|
|
|
50
50
|
## Command Execution Protocol
|
|
51
51
|
When coordinator needs to execute a specific phase:
|
|
@@ -39,7 +39,7 @@ Scan codebase from multiple perspectives (bug, security, test-coverage, code-qua
|
|
|
39
39
|
|
|
40
40
|
**Low complexity**: Use `mcp__ace-tool__search_context` for quick pattern-based scan.
|
|
41
41
|
|
|
42
|
-
**Medium/High complexity**: CLI fan-out -- one `maestro
|
|
42
|
+
**Medium/High complexity**: CLI fan-out -- one `maestro delegate --mode analysis` per perspective:
|
|
43
43
|
|
|
44
44
|
For each active perspective, build prompt:
|
|
45
45
|
```
|
|
@@ -50,7 +50,7 @@ CONTEXT: @<scan-scope>
|
|
|
50
50
|
EXPECTED: List of findings with severity (critical/high/medium/low), file:line references, description
|
|
51
51
|
CONSTRAINTS: Focus on actionable findings only
|
|
52
52
|
```
|
|
53
|
-
Execute via: `maestro
|
|
53
|
+
Execute via: `maestro delegate "<prompt>" --to gemini --mode analysis`
|
|
54
54
|
|
|
55
55
|
After all perspectives complete:
|
|
56
56
|
- Parse CLI outputs into structured findings
|
|
@@ -61,7 +61,7 @@ Before calling ANY tool, apply this check:
|
|
|
61
61
|
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
62
62
|
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
63
63
|
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
64
|
-
| `Bash("maestro
|
|
64
|
+
| `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
|
|
65
65
|
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
66
66
|
|
|
67
67
|
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
@@ -75,7 +75,7 @@ Before calling ANY tool, apply this check:
|
|
|
75
75
|
- **Session prefix**: `RV`
|
|
76
76
|
- **Session path**: `.workflow/.team/RV-<slug>-<date>/`
|
|
77
77
|
- **Team name**: `review`
|
|
78
|
-
- **CLI tools**: `maestro
|
|
78
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
79
79
|
- **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
|
|
80
80
|
|
|
81
81
|
## Worker Spawn Template
|
|
@@ -12,7 +12,7 @@ Orchestrate team-review: parse target -> detect mode -> dispatch task chain -> m
|
|
|
12
12
|
**FORBIDDEN** (even if the task seems trivial):
|
|
13
13
|
```
|
|
14
14
|
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
-
WRONG: Bash("maestro
|
|
15
|
+
WRONG: Bash("maestro delegate ...") — worker work
|
|
16
16
|
WRONG: Bash("semgrep/eslint/tsc ...") — worker work
|
|
17
17
|
WRONG: Edit/Write on project source files — worker work
|
|
18
18
|
```
|
|
@@ -45,7 +45,7 @@ WRONG: Edit/Write on project source files — worker work
|
|
|
45
45
|
- Perform code review or scanning directly
|
|
46
46
|
- Bypass worker roles
|
|
47
47
|
- Spawn workers with general-purpose agent (MUST use team_worker)
|
|
48
|
-
- Call CLI tools (maestro
|
|
48
|
+
- Call CLI tools (maestro delegate) — only workers use CLI
|
|
49
49
|
|
|
50
50
|
## Command Execution Protocol
|
|
51
51
|
When coordinator needs to execute a specific phase:
|
|
@@ -52,7 +52,7 @@ Build prompt per group requesting 6 enrichment fields per finding:
|
|
|
52
52
|
- `fix_complexity`: low / medium / high
|
|
53
53
|
- `fix_dependencies`: finding IDs that must be fixed first
|
|
54
54
|
|
|
55
|
-
Execute via `maestro
|
|
55
|
+
Execute via `maestro delegate --to gemini --mode analysis --rule analysis-diagnose-bug-root-cause` (fallback: qwen -> codex). Parse JSON array responses, merge with originals (CLI-enriched replace originals, unenriched get defaults). Write `<session>/review/enriched-findings.json`.
|
|
56
56
|
|
|
57
57
|
## Phase 4: Report Generation
|
|
58
58
|
|
|
@@ -59,7 +59,7 @@ Build prompt with target file patterns, toolchain dedup summary, and per-dimensi
|
|
|
59
59
|
- PRF: Algorithm complexity, N+1 queries, unnecessary sync, memory leaks, missing caching
|
|
60
60
|
- MNT: Architectural coupling, abstraction leaks, convention violations, dead code
|
|
61
61
|
|
|
62
|
-
Execute via `maestro
|
|
62
|
+
Execute via `maestro delegate --to gemini --mode analysis --rule analysis-review-code-quality` (fallback: qwen -> codex). Parse JSON array response, validate required fields (dimension, title, location.file), enforce per-dimension limit (max 5 each), filter minimum severity (medium+). Write `<session>/scan/semantic-findings.json`.
|
|
63
63
|
|
|
64
64
|
## Phase 4: Aggregate & Output
|
|
65
65
|
|
|
@@ -63,7 +63,7 @@ Before calling ANY tool, apply this check:
|
|
|
63
63
|
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
64
64
|
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
65
65
|
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
66
|
-
| `Bash("maestro
|
|
66
|
+
| `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
|
|
67
67
|
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
68
68
|
|
|
69
69
|
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
@@ -76,7 +76,7 @@ Before calling ANY tool, apply this check:
|
|
|
76
76
|
|
|
77
77
|
- **Session prefix**: `TD`
|
|
78
78
|
- **Session path**: `.workflow/.team/TD-<slug>-<date>/`
|
|
79
|
-
- **CLI tools**: `maestro
|
|
79
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
80
80
|
- **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
|
|
81
81
|
- **Max GC rounds**: 3
|
|
82
82
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
**FORBIDDEN** (even if the task seems trivial):
|
|
13
13
|
```
|
|
14
14
|
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
-
WRONG: Bash("maestro
|
|
15
|
+
WRONG: Bash("maestro delegate ...") — worker work
|
|
16
16
|
WRONG: Edit/Write on project source files — worker work
|
|
17
17
|
```
|
|
18
18
|
|
|
@@ -37,7 +37,7 @@ For each batch, use CLI tool for implementation:
|
|
|
37
37
|
**Per-batch delegation**:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
maestro
|
|
40
|
+
maestro delegate "PURPOSE: Apply tech debt fixes in batch; success = all items fixed without breaking changes
|
|
41
41
|
TASK: <batch-type-specific-tasks>
|
|
42
42
|
MODE: write
|
|
43
43
|
CONTEXT: @<worktree-path>/**/* | Memory: Remediation plan context
|
|
@@ -56,7 +56,7 @@ Multi-dimension tech debt scanner. Scan codebase across 5 dimensions (code, arch
|
|
|
56
56
|
- Classify findings into dimensions
|
|
57
57
|
|
|
58
58
|
**Medium/High Complexity** (Fan-out):
|
|
59
|
-
- Fan-out A: CLI exploration (structure, patterns, dependencies angles) via `maestro
|
|
59
|
+
- Fan-out A: CLI exploration (structure, patterns, dependencies angles) via `maestro delegate --to gemini --mode analysis`
|
|
60
60
|
- Fan-out B: CLI dimension analysis (parallel gemini per dimension -- code, architecture, testing, dependency, documentation)
|
|
61
61
|
- Fan-out C (High only): Multi-perspective Gemini analysis (security, performance, code-quality, architecture)
|
|
62
62
|
- Fan-in: Merge results, cross-deduplicate by file:line, boost severity for multi-source findings
|
|
@@ -58,7 +58,7 @@ Execute 4-layer validation (all commands in worktree):
|
|
|
58
58
|
**Auto-fix attempt** (when total_regressions <= 3):
|
|
59
59
|
- Use CLI tool to fix regressions in worktree:
|
|
60
60
|
```
|
|
61
|
-
Bash(`cd "${worktreePath}" && maestro
|
|
61
|
+
Bash(`cd "${worktreePath}" && maestro delegate "PURPOSE: Fix regressions found in validation
|
|
62
62
|
TASK: ${regressionDetails}
|
|
63
63
|
MODE: write
|
|
64
64
|
CONTEXT: @${modifiedFiles.join(' @')}
|
|
@@ -62,7 +62,7 @@ Before calling ANY tool, apply this check:
|
|
|
62
62
|
| `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
|
|
63
63
|
| `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
|
|
64
64
|
| `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
|
|
65
|
-
| `Bash("maestro
|
|
65
|
+
| `Bash("maestro delegate ...")` | BLOCKED | Only workers call CLI |
|
|
66
66
|
| `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
|
|
67
67
|
|
|
68
68
|
**If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
|
|
@@ -76,7 +76,7 @@ Before calling ANY tool, apply this check:
|
|
|
76
76
|
- **Session prefix**: `TST`
|
|
77
77
|
- **Session path**: `.workflow/.team/TST-<slug>-<date>/`
|
|
78
78
|
- **Team name**: `testing`
|
|
79
|
-
- **CLI tools**: `maestro
|
|
79
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
80
80
|
- **Message bus**: `mcp__maestro-tools__team_msg(session_id=<session-id>, ...)`
|
|
81
81
|
|
|
82
82
|
## Worker Spawn Template
|
|
@@ -12,7 +12,7 @@ Orchestrate team-testing: analyze -> dispatch -> spawn -> monitor -> report.
|
|
|
12
12
|
**FORBIDDEN** (even if the task seems trivial):
|
|
13
13
|
```
|
|
14
14
|
WRONG: Read/Grep/Glob on project source code — worker work
|
|
15
|
-
WRONG: Bash("maestro
|
|
15
|
+
WRONG: Bash("maestro delegate ...") — worker work
|
|
16
16
|
WRONG: Bash("npm test"), Bash("jest"), etc. — worker work
|
|
17
17
|
WRONG: Edit/Write on test or source files — worker work
|
|
18
18
|
```
|
|
@@ -43,7 +43,7 @@ WRONG: Edit/Write on test or source files — worker work
|
|
|
43
43
|
- Skip quality gates when coverage is below target
|
|
44
44
|
- Modify test files or source code directly -- delegate to workers
|
|
45
45
|
- Force-advance pipeline past failed GC loops
|
|
46
|
-
- Call CLI tools (maestro
|
|
46
|
+
- Call CLI tools (maestro delegate) — only workers use CLI
|
|
47
47
|
|
|
48
48
|
## Command Execution Protocol
|
|
49
49
|
When coordinator needs to execute a specific phase:
|
|
@@ -61,7 +61,7 @@ Bash("<test-command> 2>&1 || true")
|
|
|
61
61
|
**Auto-fix delegation** (on failure):
|
|
62
62
|
|
|
63
63
|
```
|
|
64
|
-
Bash(`maestro
|
|
64
|
+
Bash(`maestro delegate "PURPOSE: Fix test failures to achieve pass rate >= 0.95; success = all tests pass
|
|
65
65
|
TASK: • Analyze test failure output • Identify root causes • Fix test code only (not source) • Preserve test intent
|
|
66
66
|
MODE: write
|
|
67
67
|
CONTEXT: @<session>/<test-dir>/**/* | Memory: Test framework: <framework>, iteration <N>/3
|
|
@@ -63,7 +63,7 @@ For revision mode:
|
|
|
63
63
|
**CLI delegation** (medium/high complexity):
|
|
64
64
|
|
|
65
65
|
```
|
|
66
|
-
Bash(`maestro
|
|
66
|
+
Bash(`maestro delegate "PURPOSE: Generate <layer> tests using <framework> to achieve coverage target; success = all priority files covered with quality tests
|
|
67
67
|
TASK: • Analyze source files • Generate test cases (happy path, edge cases, errors) • Write test files with proper structure • Ensure import resolution
|
|
68
68
|
MODE: write
|
|
69
69
|
CONTEXT: @<source-files> @<session>/strategy/test-strategy.md | Memory: Framework: <framework>, Layer: <layer>, Round: <round>
|
package/README.md
CHANGED
|
@@ -237,6 +237,27 @@ See **[Hooks Guide](guide/hooks-guide.md)** for full documentation.
|
|
|
237
237
|
|
|
238
238
|
---
|
|
239
239
|
|
|
240
|
+
## Command Overlay System
|
|
241
|
+
|
|
242
|
+
Overlay non-invasive patches onto `.claude/commands/*.md` files — add steps, reading requirements, quality gates — without editing the originals. Overlays survive `maestro install` upgrades.
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Create via natural language
|
|
246
|
+
/maestro-overlay "add CLI verification after maestro-execute"
|
|
247
|
+
|
|
248
|
+
# Or manually
|
|
249
|
+
maestro overlay add my-overlay.json # Install + apply
|
|
250
|
+
maestro overlay list # Interactive TUI management
|
|
251
|
+
maestro overlay bundle -o team.json # Pack for sharing
|
|
252
|
+
maestro overlay import-bundle team.json # Unpack + apply
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Each overlay declares targets (commands) and patches (section + mode + content). The patcher wraps injected content in hashed HTML-comment markers for idempotent apply and surgical removal.
|
|
256
|
+
|
|
257
|
+
See **[Overlay Guide](guide/overlay-guide.md)** for full documentation.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
240
261
|
## 44 Commands, 21 Agents
|
|
241
262
|
|
|
242
263
|
### Commands (Slash Commands for Claude Code)
|
|
@@ -346,12 +367,18 @@ When switching workflows, the launcher automatically:
|
|
|
346
367
|
|
|
347
368
|
### MCP Server
|
|
348
369
|
|
|
349
|
-
Expose Maestro-Flow tools to Claude
|
|
370
|
+
Expose Maestro-Flow tools to Claude Code and other MCP clients:
|
|
350
371
|
|
|
351
372
|
```bash
|
|
352
|
-
|
|
373
|
+
# Claude Code — load as development MCP server
|
|
374
|
+
claude --dangerously-load-development-channels server:maestro --dangerously-skip-permissions
|
|
375
|
+
|
|
376
|
+
# stdio transport (for Claude Desktop, other MCP clients)
|
|
377
|
+
npm run mcp
|
|
353
378
|
```
|
|
354
379
|
|
|
380
|
+
With MCP connected, delegate tools (`delegate_message`, `delegate_status`, `delegate_output`, `delegate_tail`, `delegate_cancel`) and other Maestro tools are available programmatically.
|
|
381
|
+
|
|
355
382
|
---
|
|
356
383
|
|
|
357
384
|
## Architecture
|
|
@@ -397,6 +424,8 @@ maestro/
|
|
|
397
424
|
## Documentation
|
|
398
425
|
|
|
399
426
|
- **[Command Usage Guide](guide/command-usage-guide.md)** — All 36 commands with workflow diagrams, pipeline chaining, Issue closed-loop, and quick channels
|
|
427
|
+
- **[Delegate Async Guide](guide/delegate-async-guide.md)** — Async task delegation: CLI & MCP usage, message injection, chaining, broker lifecycle, delegate vs CLI comparison
|
|
428
|
+
- **[Overlay Guide](guide/overlay-guide.md)** — Non-invasive command extensions: overlay format, section injection, bundle/import, interactive TUI management
|
|
400
429
|
- **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture, 7 hooks, spec injection, context budget, configuration
|
|
401
430
|
- **[Team Lite — User Guide](guide/team-lite-guide.md)** — Daily workflow for 2-8 person teams: join, sync, activity awareness, conflict preflight
|
|
402
431
|
- **[Team Lite — Design](guide/team-lite-design.md)** — Architecture, data model, and namespace boundary between human-collab and agent-pipeline domains
|
package/README.zh-CN.md
CHANGED
|
@@ -193,6 +193,27 @@ Maestro-Flow 不挑一个 AI —— 它让它们一起干:
|
|
|
193
193
|
|
|
194
194
|
---
|
|
195
195
|
|
|
196
|
+
## 命令 Overlay 系统
|
|
197
|
+
|
|
198
|
+
非侵入式地为 `.claude/commands/*.md` 文件打补丁 —— 增加步骤、阅读要求、质量门禁 —— 无需编辑原始文件。Overlay 在 `maestro install` 升级后自动重新应用。
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# 自然语言创建
|
|
202
|
+
/maestro-overlay "在 maestro-execute 执行后增加 CLI 验证"
|
|
203
|
+
|
|
204
|
+
# 手动操作
|
|
205
|
+
maestro overlay add my-overlay.json # 安装 + 应用
|
|
206
|
+
maestro overlay list # 交互式 TUI 管理
|
|
207
|
+
maestro overlay bundle -o team.json # 打包分享
|
|
208
|
+
maestro overlay import-bundle team.json # 解包 + 应用
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
每个 overlay 声明目标命令和补丁列表(section + mode + content)。Patcher 使用哈希 HTML 注释标记包裹注入内容,实现幂等应用和精准移除。
|
|
212
|
+
|
|
213
|
+
详见 **[Overlay 系统指南](guide/overlay-guide.md)**。
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
196
217
|
## 36 个命令,21 个 Agent
|
|
197
218
|
|
|
198
219
|
### 命令(Claude Code 斜杠命令)
|
|
@@ -310,8 +331,9 @@ maestro/
|
|
|
310
331
|
## 文档
|
|
311
332
|
|
|
312
333
|
- **[命令使用指南](guide/command-usage-guide.md)** — 全部 36 个命令,含工作流图表、管线衔接、Issue 闭环、快速通道
|
|
334
|
+
- **[Delegate 异步执行指南](guide/delegate-async-guide.md)** — 异步任务委派:CLI & MCP 用法、消息注入、链式调用、Broker 生命周期、delegate vs cli 对比
|
|
335
|
+
- **[Overlay 系统指南](guide/overlay-guide.md)** — 非侵入式命令扩展:overlay 格式、section 注入、bundle 打包/导入、交互式 TUI 管理
|
|
313
336
|
- **[Team Lite — 使用指南](guide/team-lite-guide.md)** — 2-8 人小团队日常协作:加入、同步、队友活跃、冲突预飞检
|
|
314
|
-
- **[Team Lite — 设计文档](guide/team-lite-design.md)** — 架构、数据模型、人类协作域与 agent 流水线域的命名空间边界
|
|
315
337
|
|
|
316
338
|
---
|
|
317
339
|
|
package/chains/_intent-map.json
CHANGED
|
@@ -92,6 +92,12 @@
|
|
|
92
92
|
"flags": "i",
|
|
93
93
|
"route": { "graph": "singles/debug" }
|
|
94
94
|
},
|
|
95
|
+
{
|
|
96
|
+
"type": "business_test",
|
|
97
|
+
"regex": "business.*test|PRD.*test|requirement.*test|业务.*测试|需求.*验证",
|
|
98
|
+
"flags": "i",
|
|
99
|
+
"route": { "graph": "singles/business-test" }
|
|
100
|
+
},
|
|
95
101
|
{
|
|
96
102
|
"type": "integration_test",
|
|
97
103
|
"regex": "integrat.*test|e2e|集成测试",
|
package/chains/_router.json
CHANGED
|
@@ -80,6 +80,15 @@
|
|
|
80
80
|
"type": "decision",
|
|
81
81
|
"eval": "ctx.project.verification_status",
|
|
82
82
|
"edges": [
|
|
83
|
+
{ "value": "passed", "target": "check_business_test" },
|
|
84
|
+
{ "default": true, "target": "to_quality_loop_partial" }
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"check_business_test": {
|
|
88
|
+
"type": "decision",
|
|
89
|
+
"eval": "ctx.project.business_test_status",
|
|
90
|
+
"edges": [
|
|
91
|
+
{ "value": null, "target": "to_business_test" },
|
|
83
92
|
{ "value": "passed", "target": "check_review_after_verify" },
|
|
84
93
|
{ "default": true, "target": "to_quality_loop_partial" }
|
|
85
94
|
]
|
|
@@ -145,6 +154,11 @@
|
|
|
145
154
|
"status": "delegate",
|
|
146
155
|
"delegate_graph": "singles/verify"
|
|
147
156
|
},
|
|
157
|
+
"to_business_test": {
|
|
158
|
+
"type": "terminal",
|
|
159
|
+
"status": "delegate",
|
|
160
|
+
"delegate_graph": "singles/business-test"
|
|
161
|
+
},
|
|
148
162
|
"to_review": {
|
|
149
163
|
"type": "terminal",
|
|
150
164
|
"status": "delegate",
|
|
@@ -38,6 +38,21 @@
|
|
|
38
38
|
"check_verify": {
|
|
39
39
|
"type": "decision",
|
|
40
40
|
"eval": "ctx.result.verification_status",
|
|
41
|
+
"edges": [
|
|
42
|
+
{ "value": "passed", "target": "business_test" },
|
|
43
|
+
{ "default": true, "target": "fix_plan" }
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"business_test": {
|
|
47
|
+
"type": "command",
|
|
48
|
+
"cmd": "quality-business-test",
|
|
49
|
+
"description": "PRD-forward business testing with requirement traceability",
|
|
50
|
+
"args": "{phase} --auto",
|
|
51
|
+
"next": "check_business_test"
|
|
52
|
+
},
|
|
53
|
+
"check_business_test": {
|
|
54
|
+
"type": "decision",
|
|
55
|
+
"eval": "ctx.result.business_test_status",
|
|
41
56
|
"edges": [
|
|
42
57
|
{ "value": "passed", "target": "review" },
|
|
43
58
|
{ "default": true, "target": "fix_plan" }
|
package/chains/quality-loop.json
CHANGED
|
@@ -26,10 +26,25 @@
|
|
|
26
26
|
"type": "decision",
|
|
27
27
|
"eval": "ctx.result.verification_status",
|
|
28
28
|
"edges": [
|
|
29
|
-
{ "value": "passed", "target": "
|
|
29
|
+
{ "value": "passed", "target": "business_test", "description": "Verification passed, run business tests" },
|
|
30
30
|
{ "default": true, "target": "plan_gaps", "description": "Verification failed" }
|
|
31
31
|
]
|
|
32
32
|
},
|
|
33
|
+
"business_test": {
|
|
34
|
+
"type": "command",
|
|
35
|
+
"cmd": "quality-business-test",
|
|
36
|
+
"description": "PRD-forward business testing with requirement traceability",
|
|
37
|
+
"args": "{phase} --auto",
|
|
38
|
+
"next": "check_business_test"
|
|
39
|
+
},
|
|
40
|
+
"check_business_test": {
|
|
41
|
+
"type": "decision",
|
|
42
|
+
"eval": "ctx.result.business_test_status",
|
|
43
|
+
"edges": [
|
|
44
|
+
{ "value": "passed", "target": "review", "description": "Business tests passed" },
|
|
45
|
+
{ "default": true, "target": "plan_gaps", "description": "Business test failures found" }
|
|
46
|
+
]
|
|
47
|
+
},
|
|
33
48
|
"review": {
|
|
34
49
|
"type": "command",
|
|
35
50
|
"cmd": "quality-review",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../chain-graph.schema.json",
|
|
3
|
+
"id": "singles/business-test",
|
|
4
|
+
"name": "Business Test",
|
|
5
|
+
"description": "PRD-forward business scenario testing with requirement traceability",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"tags": ["quality", "testing"],
|
|
8
|
+
"entry": "business_test",
|
|
9
|
+
"inputs": {
|
|
10
|
+
"phase": { "type": "string", "required": true }
|
|
11
|
+
},
|
|
12
|
+
"nodes": {
|
|
13
|
+
"business_test": {
|
|
14
|
+
"type": "command",
|
|
15
|
+
"cmd": "quality-business-test",
|
|
16
|
+
"args": "{phase}",
|
|
17
|
+
"description": "PRD-forward business testing with multi-layer execution and requirement traceability",
|
|
18
|
+
"next": "done",
|
|
19
|
+
"analyze": false
|
|
20
|
+
},
|
|
21
|
+
"done": {
|
|
22
|
+
"type": "terminal",
|
|
23
|
+
"status": "success"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -62,7 +62,8 @@ export class CodexCliAdapter extends BaseAgentAdapter {
|
|
|
62
62
|
monitor.heartbeat();
|
|
63
63
|
this.parseCodexMessage(line, processId);
|
|
64
64
|
});
|
|
65
|
-
// Stderr handling:
|
|
65
|
+
// Stderr handling: Codex sends warnings, reasoning, and progress to stderr.
|
|
66
|
+
// Try JSON parse first to detect structured messages (warnings/errors).
|
|
66
67
|
child.stderr.on('data', (chunk) => {
|
|
67
68
|
const text = chunk.toString().trim();
|
|
68
69
|
if (text.length === 0)
|
|
@@ -71,11 +72,24 @@ export class CodexCliAdapter extends BaseAgentAdapter {
|
|
|
71
72
|
const trimmed = line.trim();
|
|
72
73
|
if (trimmed.length === 0)
|
|
73
74
|
continue;
|
|
75
|
+
// Try to parse as JSON — Codex emits structured warnings/errors to stderr
|
|
76
|
+
try {
|
|
77
|
+
const json = JSON.parse(trimmed);
|
|
78
|
+
if (json && typeof json === 'object' && json.type === 'error') {
|
|
79
|
+
// Codex structured warning/error — emit as thinking (non-fatal info)
|
|
80
|
+
this.emitEntry(processId, EntryNormalizer.thinking(processId, json.message ?? trimmed));
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// Not JSON — fall through to text classification
|
|
86
|
+
}
|
|
74
87
|
if (STDERR_ERROR_RE.test(trimmed)) {
|
|
75
88
|
this.emitEntry(processId, EntryNormalizer.error(processId, trimmed, 'stderr'));
|
|
76
89
|
}
|
|
77
90
|
else {
|
|
78
|
-
|
|
91
|
+
// Codex emits reasoning/progress text to stderr; treat as thinking, not output
|
|
92
|
+
this.emitEntry(processId, EntryNormalizer.thinking(processId, trimmed));
|
|
79
93
|
}
|
|
80
94
|
}
|
|
81
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-cli-adapter.js","sourceRoot":"","sources":["../../../../../src/server/agents/codex-cli-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-cli-adapter.js","sourceRoot":"","sources":["../../../../../src/server/agents/codex-cli-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export declare class StreamJsonAdapter extends BaseAgentAdapter {
|
|
|
5
5
|
private readonly executable;
|
|
6
6
|
private readonly childProcesses;
|
|
7
7
|
private readonly readlineInterfaces;
|
|
8
|
-
private readonly
|
|
8
|
+
private readonly lastCumulativeText;
|
|
9
9
|
private readonly toolIdNames;
|
|
10
10
|
private readonly stoppedEmitted;
|
|
11
11
|
private readonly streamMonitors;
|