maestro-flow 0.3.6 → 0.3.8
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/learn-retro.md +303 -0
- package/.claude/commands/maestro-execute.md +3 -2
- package/.claude/commands/maestro-learn.md +74 -298
- package/.claude/commands/manage-learn.md +21 -15
- package/.claude/commands/manage-memory-capture.md +13 -15
- package/.claude/commands/manage-memory.md +1 -1
- package/.claude/commands/quality-retrospective.md +5 -5
- package/.claude/commands/spec-load.md +7 -2
- package/.claude/commands/wiki-digest.md +27 -2
- package/README.md +103 -220
- package/README.zh-CN.md +159 -181
- package/dashboard/dist/assets/{ArtifactsPage-A9yzYtpj.js → ArtifactsPage-BmPOu8sO.js} +1 -1
- package/dashboard/dist/assets/{ChatInput-PuCvZZ3y.js → ChatInput-CL8YDfOU.js} +1 -1
- package/dashboard/dist/assets/ChatPage-CT-ozBK2.js +8 -0
- package/dashboard/dist/assets/{CollabPage-I5k_mCbG.js → CollabPage-C0rWMden.js} +1 -1
- package/dashboard/dist/assets/{KanbanPage-PDDBv5-9.js → KanbanPage-C6WbAlwI.js} +1 -1
- package/dashboard/dist/assets/{MarkdownRenderer-CCXHaut3.js → MarkdownRenderer-BjZ43aSa.js} +1 -1
- package/dashboard/dist/assets/{McpPage-CiqXpCHg.js → McpPage-BPIXADQi.js} +1 -1
- package/dashboard/dist/assets/{RequirementBoardPage-CEOvppGn.js → RequirementBoardPage-B7yRL0s_.js} +1 -1
- package/dashboard/dist/assets/{RequirementPage-DpnbTEqY.js → RequirementPage-D8J_-b6O.js} +1 -1
- package/dashboard/dist/assets/{SpecsPage-CYqOfFkB.js → SpecsPage-6lO8v8_C.js} +1 -1
- package/dashboard/dist/assets/{SupervisorPage-B2sZwkq8.js → SupervisorPage-Ds5N378a.js} +1 -1
- package/dashboard/dist/assets/{TeamsPage-CkZdCAVZ.js → TeamsPage-DrkKr17T.js} +1 -1
- package/dashboard/dist/assets/{TreeBrowser-0VIMWclo.js → TreeBrowser-g_QUKemL.js} +1 -1
- package/dashboard/dist/assets/WorkflowPage-X8aNkDEr.js +6 -0
- package/dashboard/dist/assets/{arrow-left-6fktHyjN.js → arrow-left-CadP5YgU.js} +1 -1
- package/dashboard/dist/assets/{check-Cbxq2l1-.js → check-5xufDzS8.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Yts3bi8p.js → chevron-right-CYbpR4ev.js} +1 -1
- package/dashboard/dist/assets/{circle-4Ci4Xolf.js → circle-Bm-5Q-Yh.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-B25g9BTL.js → circle-alert-BqcYuT7x.js} +1 -1
- package/dashboard/dist/assets/{circle-check-BA5_XqeV.js → circle-check-DEVzW_lm.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-DzO2BlL7.js → circle-check-big-yyzAFysU.js} +1 -1
- package/dashboard/dist/assets/{code-zxwuybO8.js → code-BBdC8Wmw.js} +1 -1
- package/dashboard/dist/assets/{columns-3-DV4oeCfU.js → columns-3-CQ9Trztr.js} +1 -1
- package/dashboard/dist/assets/{download-CXCyQw8M.js → download-DayuF-sn.js} +1 -1
- package/dashboard/dist/assets/{folder-Bvjj8Vn9.js → folder-CqXeSKeC.js} +1 -1
- package/dashboard/dist/assets/{git-branch-DL8p9kVC.js → git-branch-SqFf4Ru5.js} +1 -1
- package/dashboard/dist/assets/{index-BvScJmJM.js → index-Dru5HYy0.js} +1 -1
- package/dashboard/dist/assets/{index-11DuhKhc.js → index-nufWop4p.js} +18 -18
- package/dashboard/dist/assets/{list-Dj4i9N75.js → list-DBOD6IUt.js} +1 -1
- package/dashboard/dist/assets/{minus-DwlFabsT.js → minus-fQI1Syn2.js} +1 -1
- package/dashboard/dist/assets/{pen-line-D7UzECt6.js → pen-line-Bkbbngl5.js} +1 -1
- package/dashboard/dist/assets/{proxy-B9XRqHD9.js → proxy-teW12DdZ.js} +1 -1
- package/dashboard/dist/assets/{search-BQbBTIYl.js → search-Bq3ygFUW.js} +1 -1
- package/dashboard/dist/assets/{shallow-Clb1Lyd_.js → shallow-22ZN8sFt.js} +1 -1
- package/dashboard/dist/assets/{table-BqxCXid2.js → table-BEYtdWc4.js} +1 -1
- package/dashboard/dist/assets/{trash-2-6rN9B-EQ.js → trash-2-DMqGBgcF.js} +1 -1
- package/dashboard/dist/assets/{wrench-BScEJFqC.js → wrench-B84-zdLI.js} +1 -1
- package/dashboard/dist/assets/{zap-DxUhG-gk.js → zap-9DVkGVtt.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -4
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +3 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +4 -3
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +20 -7
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +4 -4
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +14 -14
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js +7 -5
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +144 -23
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +24 -2
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +4 -7
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js +5 -5
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +4 -4
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.js +7 -1
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +7 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/package.json +1 -1
- package/workflows/delegate-usage.md +39 -41
- package/workflows/execute.md +154 -34
- package/workflows/init.md +1 -1
- package/workflows/maestro-coordinate.codex.md +1 -1
- package/workflows/maestro-coordinate.md +1 -1
- package/workflows/maestro.md +2 -2
- package/workflows/memory.md +2 -1
- package/workflows/plan.md +9 -2
- package/workflows/retrospective.md +2 -2
- package/workflows/roadmap.md +1 -1
- package/.claude/commands/learn-retro-decision.md +0 -198
- package/.claude/commands/learn-retro-git.md +0 -160
- package/dashboard/dist/assets/ChatPage-v19GURYH.js +0 -8
- package/dashboard/dist/assets/WorkflowPage-Csm23wUS.js +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-load
|
|
3
|
-
description: Load relevant specs for current context (used by agents before execution)
|
|
4
|
-
argument-hint: "[--category <type>] [keyword]"
|
|
3
|
+
description: Load relevant specs and lessons for current context (used by agents before execution)
|
|
4
|
+
argument-hint: "[--category <type>] [--with-lessons] [keyword]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Bash
|
|
@@ -36,6 +36,9 @@ $ARGUMENTS -- optional `--category <type>` flag and/or keyword to filter specs
|
|
|
36
36
|
|
|
37
37
|
**Keyword:** If provided, search within loaded files for matching sections.
|
|
38
38
|
If no arguments, loads all specs for the active phase/task context.
|
|
39
|
+
|
|
40
|
+
**Flags:**
|
|
41
|
+
- `--with-lessons` — Also search `.workflow/learning/lessons.jsonl` for entries with `category: "gotcha"`, `"antipattern"`, or `"pattern"` relevant to the keyword or current context. Appends matched lessons after spec output. This bridges the gap between specs (prescriptive rules) and lessons (discovered knowledge).
|
|
39
42
|
</context>
|
|
40
43
|
|
|
41
44
|
<execution>
|
|
@@ -53,6 +56,8 @@ Follow '~/.maestro/workflows/specs-load.md' completely.
|
|
|
53
56
|
- [ ] Category filter parsed correctly (or defaults to all)
|
|
54
57
|
- [ ] Spec files resolved and read
|
|
55
58
|
- [ ] Keyword filtering applied if provided
|
|
59
|
+
- [ ] If `--with-lessons`: lessons.jsonl searched for gotcha/antipattern/pattern entries matching context
|
|
60
|
+
- [ ] If `--with-lessons`: matched lessons displayed after specs (max 10, newest first)
|
|
56
61
|
- [ ] Results displayed with file:line references
|
|
57
62
|
- [ ] Relevant specs loaded into agent context
|
|
58
63
|
- [ ] Next step: proceed with current task using loaded specs as context
|
|
@@ -17,6 +17,10 @@ Knowledge synthesis command that generates actionable digests from the wiki know
|
|
|
17
17
|
Unlike `maestro wiki list` which shows raw entries, this command synthesizes and interprets the knowledge base, producing a curated summary with gap analysis and recommended next actions.
|
|
18
18
|
</purpose>
|
|
19
19
|
|
|
20
|
+
<deferred_reading>
|
|
21
|
+
- @~/.maestro/workflows/issue.md (issues.jsonl canonical schema for `--create-issues` routing)
|
|
22
|
+
</deferred_reading>
|
|
23
|
+
|
|
20
24
|
<context>
|
|
21
25
|
Arguments: $ARGUMENTS
|
|
22
26
|
|
|
@@ -29,10 +33,12 @@ Arguments: $ARGUMENTS
|
|
|
29
33
|
**Flags:**
|
|
30
34
|
- `--format brief` — Compact summary, one paragraph per theme (default)
|
|
31
35
|
- `--format full` — Detailed digest with per-entry summaries and full gap analysis
|
|
36
|
+
- `--create-issues` — Auto-create `type: "knowledge-gap"` entries in `.workflow/issues/issues.jsonl` for each identified gap (closes the discovery→action loop)
|
|
32
37
|
|
|
33
38
|
**Storage written:**
|
|
34
39
|
- `.workflow/learning/digest-{slug}-{YYYY-MM-DD}.md` — Digest document
|
|
35
40
|
- `.workflow/learning/lessons.jsonl` — Meta-insights about knowledge structure (source: "wiki-digest")
|
|
41
|
+
- `.workflow/issues/issues.jsonl` — Knowledge-gap issues (only when `--create-issues`)
|
|
36
42
|
|
|
37
43
|
**Storage read (via maestro wiki CLI, offline mode):**
|
|
38
44
|
- `maestro wiki list --json` — All entries (or filtered)
|
|
@@ -139,7 +145,24 @@ Produce `.workflow/learning/digest-{slug}-{date}.md`:
|
|
|
139
145
|
2. ...
|
|
140
146
|
```
|
|
141
147
|
|
|
142
|
-
### Stage 7:
|
|
148
|
+
### Stage 7: Gap → Issue Routing (if --create-issues)
|
|
149
|
+
For each knowledge gap identified in Stage 5:
|
|
150
|
+
1. Check `.workflow/issues/issues.jsonl` for existing gap with same theme + type
|
|
151
|
+
2. If not duplicate, append to `issues.jsonl` using the canonical schema from `~/.maestro/workflows/issue.md` Step 4:
|
|
152
|
+
- `id`: `ISS-XXXXXXXX-NNN` format (8 hex hash + sequence)
|
|
153
|
+
- `title`: "Knowledge gap: {gap description}"
|
|
154
|
+
- `type`: "knowledge-gap"
|
|
155
|
+
- `status`: "open"
|
|
156
|
+
- `severity`: "low"
|
|
157
|
+
- `priority`: "low"
|
|
158
|
+
- `source`: "wiki-digest"
|
|
159
|
+
- `description`: "Theme: {theme}, Missing type: {type}. Suggested action: {action}"
|
|
160
|
+
- `tags`: ["knowledge-gap", "{theme-slug}"]
|
|
161
|
+
- `created`: ISO date
|
|
162
|
+
- `issue_history`: initial entry with `action: "created"`, `by: "wiki-digest"`, `timestamp`
|
|
163
|
+
3. Report created issue count
|
|
164
|
+
|
|
165
|
+
### Stage 8: Persist
|
|
143
166
|
1. Write digest file
|
|
144
167
|
2. Append meta-insights to `lessons.jsonl`:
|
|
145
168
|
- `source: "wiki-digest"`, `category: "technique"`
|
|
@@ -152,6 +175,7 @@ Produce `.workflow/learning/digest-{slug}-{date}.md`:
|
|
|
152
175
|
- Fix graph gaps → `Skill({ skill: "wiki-connect", args: "--fix" })`
|
|
153
176
|
- Decompose code for missing patterns → `Skill({ skill: "learn-decompose", args: "<path>" })`
|
|
154
177
|
- Create missing entries → `maestro wiki create --type <type> --slug <slug>`
|
|
178
|
+
- Triage gap issues → `Skill({ skill: "manage-issue", args: "list --source wiki-digest" })`
|
|
155
179
|
</execution>
|
|
156
180
|
|
|
157
181
|
<error_codes>
|
|
@@ -172,9 +196,10 @@ Produce `.workflow/learning/digest-{slug}-{date}.md`:
|
|
|
172
196
|
- [ ] Cross-reference with lessons.jsonl completed
|
|
173
197
|
- [ ] Coverage heatmap generated (type × theme matrix)
|
|
174
198
|
- [ ] Knowledge gaps identified with suggested actions
|
|
199
|
+
- [ ] If `--create-issues`: gap issues created in `issues.jsonl` (deduped)
|
|
175
200
|
- [ ] Digest written to `digest-{slug}-{date}.md`
|
|
176
201
|
- [ ] Meta-insights appended to `lessons.jsonl`
|
|
177
202
|
- [ ] `learning-index.json` updated
|
|
178
|
-
- [ ] No files modified outside `.workflow/learning/`
|
|
203
|
+
- [ ] No files modified outside `.workflow/learning/` and `.workflow/issues/` (issues only when `--create-issues`)
|
|
179
204
|
- [ ] Summary displayed with key findings and next-step routing
|
|
180
205
|
</success_criteria>
|
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Maestro-Flow
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### The Orchestration Layer for the Multi-Agent Era
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**Don't just run agents. Orchestrate them.**
|
|
8
8
|
|
|
9
9
|
[](https://www.typescriptlang.org/)
|
|
10
10
|
[](https://nodejs.org/)
|
|
@@ -13,32 +13,11 @@
|
|
|
13
13
|
|
|
14
14
|
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
15
15
|
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
*I don't write code — Claude Code and Codex do. But telling them what to do, in what order, with what context, and verifying the result — that's where all the time goes. Maestro-Flow makes that orchestration automatic.*
|
|
19
|
-
|
|
20
16
|
</div>
|
|
21
17
|
|
|
22
18
|
---
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
This project is a **ground-up rewrite** of [Claude-Code-Workflow (CCW)](https://github.com/catlog22/Claude-Code-Workflow), my earlier multi-CLI orchestration framework. CCW proved that coordinating Claude, Codex, Gemini and other AI agents through structured workflows is powerful — but it grew complex. Too many layers, too many abstractions.
|
|
27
|
-
|
|
28
|
-
Maestro-Flow takes the core ideas that worked and rebuilds them with a clear philosophy: **less ceremony, faster execution.** The spec-driven phase pipeline is inspired by [GET SHIT DONE (GSD)](https://github.com/gsd-build/get-shit-done) — its context engineering approach and atomic commit discipline are genuinely elegant. Maestro-Flow adopts those design patterns while adding what GSD doesn't have: a real-time visual dashboard, multi-agent execution with Claude Agent SDK, and an autonomous Commander that keeps the pipeline moving without you.
|
|
29
|
-
|
|
30
|
-
**What changed from CCW:**
|
|
31
|
-
- Stripped the heavy session/beat orchestration layer — replaced with lightweight skill-based routing
|
|
32
|
-
- Merged the terminal dashboard into a proper web UI with Linear-style Kanban
|
|
33
|
-
- Unified CLI tool invocation through a single `maestro cli` interface
|
|
34
|
-
- Added autonomous Commander Agent (assess → decide → dispatch loop)
|
|
35
|
-
- Built a complete Issue closed-loop system (discover → analyze → plan → execute → close)
|
|
36
|
-
|
|
37
|
-
**What we kept:**
|
|
38
|
-
- Multi-CLI orchestration (Claude, Codex, Gemini, Qwen, OpenCode)
|
|
39
|
-
- Structured workflows as Markdown definitions
|
|
40
|
-
- Slash commands as the user interface
|
|
41
|
-
- Agent definitions as focused role specifications
|
|
20
|
+
Maestro-Flow is a workflow orchestration framework for multi-agent development with Claude Code, Codex, Gemini, and other AI agents. It automates the most time-consuming part of AI-assisted engineering — deciding which agents to use, in what order, with what context. Describe your intent, and Maestro-Flow routes to the optimal command chain, drives parallel agent execution, and closes the loop through a real-time dashboard, self-healing issue pipeline, and evolving knowledge graph.
|
|
42
21
|
|
|
43
22
|
---
|
|
44
23
|
|
|
@@ -74,103 +53,92 @@ graph LR
|
|
|
74
53
|
J -->|next phase| D
|
|
75
54
|
```
|
|
76
55
|
|
|
77
|
-
Each phase has explicit status tracking. The dashboard shows what's happening and what to do next.
|
|
78
|
-
|
|
79
56
|
### Quick Channels
|
|
80
57
|
|
|
81
|
-
Not everything needs a full pipeline:
|
|
82
|
-
|
|
83
58
|
| Channel | Flow | When |
|
|
84
59
|
|---------|------|------|
|
|
85
|
-
| `/maestro-quick` | analyze
|
|
86
|
-
| Scratch mode | `analyze -q`
|
|
60
|
+
| `/maestro-quick` | analyze > plan > execute | Quick fixes, small features |
|
|
61
|
+
| Scratch mode | `analyze -q` > `plan --dir` > `execute --dir` | No roadmap, just get it done |
|
|
87
62
|
| `/maestro "..."` | AI-routed command chain | Describe intent, let Maestro-Flow decide |
|
|
88
63
|
|
|
89
64
|
---
|
|
90
65
|
|
|
91
|
-
##
|
|
66
|
+
## Four Pillars
|
|
92
67
|
|
|
93
|
-
|
|
68
|
+
### 1. Structured Pipeline
|
|
94
69
|
|
|
95
|
-
|
|
70
|
+
Phase-based execution with explicit status tracking. Each phase moves through analyze > plan > execute > verify > review > test > transition. The dashboard shows what's happening and what to do next.
|
|
96
71
|
|
|
97
|
-
|
|
98
|
-
|------|-----|-------------|
|
|
99
|
-
| **Board** | `K` | Kanban columns — Backlog, In Progress, Review, Done. Phase cards and Issue cards side by side. |
|
|
100
|
-
| **Timeline** | `T` | Gantt-style phase timeline with progress bars |
|
|
101
|
-
| **Table** | `L` | Every phase and issue in a sortable table |
|
|
102
|
-
| **Center** | `C` | Command center — active executions, issue queue, quality metrics |
|
|
103
|
-
|
|
104
|
-
### What You Can Do
|
|
105
|
-
|
|
106
|
-
- **Pick an agent, hit play** — Select Claude / Codex / Gemini on any Issue card, click execute
|
|
107
|
-
- **Batch dispatch** — Multi-select Issues, send them all to agents in parallel
|
|
108
|
-
- **Watch agents work** — Real-time CLI output streaming panel
|
|
109
|
-
- **Full Issue lifecycle** — Create, analyze, plan, execute, close — all from the board
|
|
110
|
-
- **Linear sync** — Import/export Issues to Linear for team workflows
|
|
72
|
+
51 slash commands across 6 categories power every stage — from project initialization to quality retrospective.
|
|
111
73
|
|
|
112
|
-
###
|
|
74
|
+
### 2. Autonomous Autopilot
|
|
113
75
|
|
|
114
|
-
|
|
76
|
+
**Commander Agent** — a background supervisor that runs a tick loop:
|
|
115
77
|
|
|
116
78
|
```
|
|
117
79
|
assess → decide → dispatch → wait → assess → ...
|
|
118
80
|
```
|
|
119
81
|
|
|
120
|
-
It reads project state (phases, tasks,
|
|
82
|
+
It reads project state (phases, tasks, issues, agent slots), decides what needs attention, and dispatches agents automatically. Three profiles: `conservative`, `balanced`, `aggressive`.
|
|
121
83
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Issue Closed-Loop
|
|
127
|
-
|
|
128
|
-
Issues aren't just tickets — they're a self-healing pipeline:
|
|
84
|
+
**Issue Closed-Loop** — issues aren't just tickets, they're a self-healing pipeline:
|
|
129
85
|
|
|
130
86
|
```mermaid
|
|
131
87
|
graph LR
|
|
132
|
-
A[Discover] --> B[
|
|
133
|
-
B --> C[
|
|
134
|
-
C --> D[
|
|
135
|
-
D --> E[
|
|
136
|
-
E --> F[Close]
|
|
88
|
+
A[Discover] --> B[Analyze]
|
|
89
|
+
B --> C[Plan]
|
|
90
|
+
C --> D[Execute]
|
|
91
|
+
D --> E[Close]
|
|
137
92
|
```
|
|
138
93
|
|
|
139
94
|
| Stage | Command | What Happens |
|
|
140
95
|
|-------|---------|-------------|
|
|
141
96
|
| **Discover** | `/manage-issue-discover` | 8-perspective scan: bugs, UX, tech debt, security, performance, testing gaps, code quality, documentation |
|
|
142
|
-
| **Analyze** | `/manage-issue-analyze` | Root cause analysis via CLI exploration
|
|
143
|
-
| **Plan** | `/manage-issue-plan` |
|
|
144
|
-
| **Execute** | `/manage-issue-execute` |
|
|
145
|
-
| **Close** | Automatic | Verification passes
|
|
97
|
+
| **Analyze** | `/manage-issue-analyze` | Root cause analysis via CLI exploration |
|
|
98
|
+
| **Plan** | `/manage-issue-plan` | Generate solution steps with target files and verification criteria |
|
|
99
|
+
| **Execute** | `/manage-issue-execute` | Dashboard API dispatch or direct CLI execution |
|
|
100
|
+
| **Close** | Automatic | Verification passes > resolved > closed |
|
|
146
101
|
|
|
147
|
-
|
|
102
|
+
Quality commands (`review`, `test`, `verify`) automatically create issues for problems they find. Issue fixes flow back into the phase pipeline. The loop closes itself.
|
|
148
103
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
```
|
|
104
|
+
### 3. Visual Control Plane
|
|
105
|
+
|
|
106
|
+
Real-time project dashboard at `http://127.0.0.1:3001`. Built with React 19, Tailwind CSS 4, and WebSocket live updates.
|
|
107
|
+
|
|
108
|
+
| View | Key | What You See |
|
|
109
|
+
|------|-----|-------------|
|
|
110
|
+
| **Board** | `K` | Kanban columns — Backlog, In Progress, Review, Done |
|
|
111
|
+
| **Timeline** | `T` | Gantt-style phase timeline with progress bars |
|
|
112
|
+
| **Table** | `L` | Every phase and issue in a sortable table |
|
|
113
|
+
| **Center** | `C` | Command center — active executions, issue queue, quality metrics |
|
|
114
|
+
|
|
115
|
+
Pick an agent on any issue card, hit play. Batch-select issues, dispatch them all in parallel. Watch agents work in a real-time streaming panel.
|
|
116
|
+
|
|
117
|
+
### 4. Smart Knowledge Base
|
|
118
|
+
|
|
119
|
+
The project builds intelligence over time through two systems:
|
|
166
120
|
|
|
167
|
-
|
|
121
|
+
**Wiki Knowledge Graph** — structured entries (specs, phases, decisions, lessons) connected by semantic links. BM25 search, backlink traversal, health scoring. `/wiki-connect` discovers hidden connections; `/wiki-digest` generates themed digests with coverage heatmaps and gap analysis.
|
|
122
|
+
|
|
123
|
+
**Learning Toolkit** — 5 commands that turn code and history into reusable knowledge:
|
|
124
|
+
|
|
125
|
+
| Command | What It Does |
|
|
126
|
+
|---------|-------------|
|
|
127
|
+
| `/learn-retro` | Unified retrospective — git metrics + decision evaluation via `--lens git\|decision\|all` |
|
|
128
|
+
| `/learn-follow` | Guided reading with forcing questions — extracts patterns and builds understanding |
|
|
129
|
+
| `/learn-decompose` | 4-dimension parallel pattern extraction, saves to specs/wiki |
|
|
130
|
+
| `/learn-second-opinion` | Multi-perspective analysis: review, challenge, or consult modes |
|
|
131
|
+
| `/learn-investigate` | Systematic question investigation with hypothesis testing |
|
|
132
|
+
|
|
133
|
+
All learning commands share `lessons.jsonl` — a unified knowledge store queryable via `/manage-learn`. Specs, retrospectives, and manual insights all flow into the same pool.
|
|
168
134
|
|
|
169
135
|
---
|
|
170
136
|
|
|
171
|
-
##
|
|
137
|
+
## Under the Hood
|
|
172
138
|
|
|
173
|
-
|
|
139
|
+
### Multi-Agent Engine
|
|
140
|
+
|
|
141
|
+
Maestro-Flow coordinates multiple AI agents in parallel:
|
|
174
142
|
|
|
175
143
|
```
|
|
176
144
|
┌────────────────────────────────┐
|
|
@@ -186,107 +154,59 @@ Maestro-Flow doesn't pick one AI — it uses them together:
|
|
|
186
154
|
└───────────┘ └────────────┘ └───────────┘
|
|
187
155
|
```
|
|
188
156
|
|
|
189
|
-
- **Wave execution** —
|
|
190
|
-
- **Agent SDK** —
|
|
191
|
-
- **CLI adapters** — Codex, Gemini, Qwen, OpenCode all accessible through `maestro
|
|
192
|
-
- **Workspace isolation** —
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Hook System
|
|
157
|
+
- **Wave execution** — independent tasks run in parallel, dependent tasks wait for predecessors
|
|
158
|
+
- **Agent SDK** — native Claude Agent SDK for Claude Code processes
|
|
159
|
+
- **CLI adapters** — Codex, Gemini, Qwen, OpenCode all accessible through `maestro delegate`
|
|
160
|
+
- **Workspace isolation** — each agent gets a clean execution context
|
|
197
161
|
|
|
198
|
-
|
|
162
|
+
### Hook System
|
|
199
163
|
|
|
200
|
-
|
|
164
|
+
9 context-aware hooks across 3 installation levels:
|
|
201
165
|
|
|
202
|
-
| Hook |
|
|
203
|
-
|
|
204
|
-
| `context-monitor` |
|
|
205
|
-
| `spec-injector` |
|
|
206
|
-
| `delegate-monitor` |
|
|
207
|
-
| `team-monitor` |
|
|
208
|
-
| `telemetry` |
|
|
209
|
-
| `session-context` |
|
|
210
|
-
| `skill-context` |
|
|
211
|
-
| `coordinator-tracker` |
|
|
212
|
-
| `workflow-guard` |
|
|
166
|
+
| Hook | Purpose |
|
|
167
|
+
|------|---------|
|
|
168
|
+
| `context-monitor` | Monitors context usage, injects warnings when running low |
|
|
169
|
+
| `spec-injector` | Auto-injects project specs into subagent prompts by agent type |
|
|
170
|
+
| `delegate-monitor` | Tracks async delegate task completion |
|
|
171
|
+
| `team-monitor` | Team collaboration message awareness |
|
|
172
|
+
| `telemetry` | Execution telemetry collection |
|
|
173
|
+
| `session-context` | Injects workflow state at session start |
|
|
174
|
+
| `skill-context` | Injects workflow state when invoking workflow skills |
|
|
175
|
+
| `coordinator-tracker` | Tracks coordinator chain progress |
|
|
176
|
+
| `workflow-guard` | Protects critical files and enforces workflow constraints |
|
|
213
177
|
|
|
214
|
-
|
|
178
|
+
The `spec-injector` routes project specs to agents based on type — execution agents get coding conventions, planning agents get architecture constraints. A 4-tier context budget (full > reduced > minimal > skip) adapts injection volume to remaining context.
|
|
215
179
|
|
|
216
180
|
```bash
|
|
217
181
|
maestro hooks install --level minimal # context-monitor + spec-injector
|
|
218
|
-
maestro hooks install --level standard # + delegate/team/telemetry + session
|
|
182
|
+
maestro hooks install --level standard # + delegate/team/telemetry + session/skill-context + coordinator-tracker
|
|
219
183
|
maestro hooks install --level full # + workflow-guard
|
|
220
184
|
```
|
|
221
185
|
|
|
222
|
-
###
|
|
223
|
-
|
|
224
|
-
Workflow-dependent hooks (`spec-injector`, `skill-context`, `coordinator-tracker`, `workflow-guard`) declare `requiresWorkspace: true`. When no Maestro workspace is detected, these hooks exit silently before reading stdin — zero overhead for non-workflow projects. Workspace detection walks up the directory tree looking for `.workflow/state.json` with Maestro-specific fingerprint fields.
|
|
186
|
+
### Overlay System
|
|
225
187
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
The `spec-injector` hook automatically routes project specs (`.workflow/specs/`) to subagents based on their type — execution agents get coding conventions, planning agents get architecture constraints, test agents get test conventions. Uses `updatedInput` to rewrite the agent prompt, with a 4-tier context budget (full → reduced → minimal → skip) that adapts injection volume based on remaining context.
|
|
229
|
-
|
|
230
|
-
```
|
|
231
|
-
Agent("code-developer") → auto-injects execution specs
|
|
232
|
-
Agent("workflow-planner") → auto-injects planning specs
|
|
233
|
-
Agent("tdd-developer") → auto-injects execution + test specs
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
See **[Hooks Guide](guide/hooks-guide.md)** for full documentation.
|
|
237
|
-
|
|
238
|
-
---
|
|
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.
|
|
188
|
+
Non-invasive patches for `.claude/commands/*.md` — add steps, reading requirements, quality gates without editing originals. Overlays survive `maestro install` upgrades.
|
|
243
189
|
|
|
244
190
|
```bash
|
|
245
|
-
# Create via natural language
|
|
246
191
|
/maestro-overlay "add CLI verification after maestro-execute"
|
|
247
|
-
|
|
248
|
-
# Or manually
|
|
249
|
-
maestro overlay add my-overlay.json # Install + apply
|
|
250
192
|
maestro overlay list # Interactive TUI management
|
|
251
193
|
maestro overlay bundle -o team.json # Pack for sharing
|
|
252
|
-
maestro overlay import-bundle team.json # Unpack + apply
|
|
253
194
|
```
|
|
254
195
|
|
|
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
196
|
---
|
|
260
197
|
|
|
261
|
-
##
|
|
262
|
-
|
|
263
|
-
### Commands (Slash Commands for Claude Code)
|
|
198
|
+
## 51 Commands, 21 Agents
|
|
264
199
|
|
|
265
|
-
|
|
266
|
-
|----------|-------|---------|
|
|
267
|
-
| `maestro-*` | 15 | Full lifecycle — init, brainstorm, roadmap, analyze, plan, execute, verify, phase-transition |
|
|
268
|
-
| `manage-*` | 9 | Issue CRUD, discovery, analysis, planning, execution, codebase docs, memory |
|
|
269
|
-
| `quality-*` | 7 | Review, test, debug, test-gen, integration-test, refactor, sync |
|
|
270
|
-
| `spec-*` | 4 | Specification setup, add, load, map |
|
|
271
|
-
| `learn-*` | 6 | Learning toolkit — git retro, decision retro, follow-along, pattern decompose, investigate, second opinion |
|
|
272
|
-
| `wiki-*` | 2 | Knowledge graph — connection discovery, knowledge digest |
|
|
200
|
+
### Commands
|
|
273
201
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
|
279
|
-
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
| `/learn-follow` | Guided follow-along reading with forcing questions — extracts patterns and builds understanding | gstack `/office-hours` |
|
|
283
|
-
| `/learn-decompose` | Decompose code into cataloged design patterns across 4 dimensions, save to specs/wiki | — |
|
|
284
|
-
| `/learn-second-opinion` | Multi-perspective analysis: review (3 personas), challenge (adversarial), consult (Q&A) | gstack `/codex` |
|
|
285
|
-
| `/learn-investigate` | Systematic question investigation with hypothesis testing and 3-strike escalation | gstack `/investigate` |
|
|
286
|
-
| `/wiki-connect` | Surface hidden connections in the wiki graph, suggest or auto-apply new links | — |
|
|
287
|
-
| `/wiki-digest` | Generate knowledge digests with theme clustering, gap analysis, and coverage heatmap | — |
|
|
288
|
-
|
|
289
|
-
All learning commands share the same `lessons.jsonl` knowledge store, making insights queryable via `/manage-learn`.
|
|
202
|
+
| Category | Count | Prefix | Purpose |
|
|
203
|
+
|----------|-------|--------|---------|
|
|
204
|
+
| **Core Workflow** | 20 | `maestro-*` | Full lifecycle — init, brainstorm, roadmap, analyze, plan, execute, verify, coordinate, milestones, overlays, UI design |
|
|
205
|
+
| **Management** | 12 | `manage-*` | Issue lifecycle, codebase docs, knowledge capture, memory, harvest, status |
|
|
206
|
+
| **Quality** | 9 | `quality-*` | Review, test, debug, test-gen, integration-test, business-test, refactor, retrospective, sync |
|
|
207
|
+
| **Learning** | 5 | `learn-*` | Unified retro, follow-along, pattern decompose, investigate, second opinion |
|
|
208
|
+
| **Specification** | 3 | `spec-*` | Setup, add, load |
|
|
209
|
+
| **Wiki** | 2 | `wiki-*` | Connection discovery, knowledge digest |
|
|
290
210
|
|
|
291
211
|
### Agents
|
|
292
212
|
|
|
@@ -304,8 +224,6 @@ All learning commands share the same `lessons.jsonl` knowledge store, making ins
|
|
|
304
224
|
|
|
305
225
|
### Install
|
|
306
226
|
|
|
307
|
-
#### npm (Recommended)
|
|
308
|
-
|
|
309
227
|
```bash
|
|
310
228
|
npm install -g maestro-flow
|
|
311
229
|
|
|
@@ -313,15 +231,6 @@ npm install -g maestro-flow
|
|
|
313
231
|
maestro install
|
|
314
232
|
```
|
|
315
233
|
|
|
316
|
-
#### From Source
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
git clone https://github.com/catlog22/Maestro-Flow.git
|
|
320
|
-
cd Maestro-Flow
|
|
321
|
-
npm install && npm run build && npm install -g .
|
|
322
|
-
maestro install
|
|
323
|
-
```
|
|
324
|
-
|
|
325
234
|
### First Run
|
|
326
235
|
|
|
327
236
|
```bash
|
|
@@ -334,41 +243,15 @@ maestro install
|
|
|
334
243
|
/maestro "build a REST API for user management"
|
|
335
244
|
```
|
|
336
245
|
|
|
337
|
-
### Dashboard
|
|
246
|
+
### Dashboard
|
|
338
247
|
|
|
339
248
|
```bash
|
|
340
|
-
#
|
|
341
|
-
maestro
|
|
342
|
-
# → http://127.0.0.1:3001
|
|
343
|
-
|
|
344
|
-
# TUI — terminal-based dashboard
|
|
345
|
-
maestro view
|
|
249
|
+
maestro serve # → http://127.0.0.1:3001
|
|
250
|
+
maestro view # Terminal TUI alternative
|
|
346
251
|
```
|
|
347
252
|
|
|
348
|
-
| View | Key | Description |
|
|
349
|
-
|------|-----|-------------|
|
|
350
|
-
| **Board** | `K` | Kanban — Backlog, In Progress, Review, Done |
|
|
351
|
-
| **Timeline** | `T` | Gantt-style phase timeline |
|
|
352
|
-
| **Table** | `L` | Sortable phase & issue table |
|
|
353
|
-
| **Center** | `C` | Command center — active executions, quality metrics |
|
|
354
|
-
|
|
355
|
-
### Workflow Launcher
|
|
356
|
-
|
|
357
|
-
Switch between different workflow configurations (e.g., Maestro ↔ CCW):
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
maestro launcher # Interactive workflow + settings picker
|
|
361
|
-
maestro launcher list # Show registered workflows
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
When switching workflows, the launcher automatically:
|
|
365
|
-
- Detects missing dependencies and offers `npm install -g <package>` + resource installation
|
|
366
|
-
- Detects project-level workflow file conflicts and offers cleanup
|
|
367
|
-
|
|
368
253
|
### MCP Server
|
|
369
254
|
|
|
370
|
-
Expose Maestro-Flow tools to Claude Code and other MCP clients:
|
|
371
|
-
|
|
372
255
|
```bash
|
|
373
256
|
# Claude Code — load as development MCP server
|
|
374
257
|
claude --dangerously-load-development-channels server:maestro --dangerously-skip-permissions
|
|
@@ -377,7 +260,12 @@ claude --dangerously-load-development-channels server:maestro --dangerously-skip
|
|
|
377
260
|
npm run mcp
|
|
378
261
|
```
|
|
379
262
|
|
|
380
|
-
|
|
263
|
+
### Workflow Launcher
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
maestro launcher # Interactive workflow + settings picker
|
|
267
|
+
maestro launcher list # Show registered workflows
|
|
268
|
+
```
|
|
381
269
|
|
|
382
270
|
---
|
|
383
271
|
|
|
@@ -393,17 +281,15 @@ maestro/
|
|
|
393
281
|
├── dashboard/ # Real-time web dashboard
|
|
394
282
|
│ └── src/
|
|
395
283
|
│ ├── client/ # React 19 + Zustand + Tailwind CSS 4
|
|
396
|
-
│ │ └── components/
|
|
397
|
-
│ │ └── kanban/ # 19 Kanban components
|
|
398
284
|
│ ├── server/ # Hono API + WebSocket + SSE
|
|
399
|
-
│ │ ├── agents/ # AgentManager + adapters
|
|
285
|
+
│ │ ├── agents/ # AgentManager + adapters
|
|
400
286
|
│ │ ├── commander/ # Autonomous Commander Agent
|
|
401
287
|
│ │ └── execution/ # ExecutionScheduler + WaveExecutor
|
|
402
288
|
│ └── shared/ # Shared types
|
|
403
289
|
├── .claude/
|
|
404
|
-
│ ├── commands/ #
|
|
290
|
+
│ ├── commands/ # 51 slash commands (.md)
|
|
405
291
|
│ └── agents/ # 21 agent definitions (.md)
|
|
406
|
-
├── workflows/ #
|
|
292
|
+
├── workflows/ # 47 workflow implementations (.md)
|
|
407
293
|
├── templates/ # JSON templates (task, plan, issue, ...)
|
|
408
294
|
└── extensions/ # Plugin system
|
|
409
295
|
```
|
|
@@ -423,10 +309,10 @@ maestro/
|
|
|
423
309
|
|
|
424
310
|
## Documentation
|
|
425
311
|
|
|
426
|
-
- **[Command Usage Guide](guide/command-usage-guide.md)** — All
|
|
427
|
-
- **[Delegate Async Guide](guide/delegate-async-guide.md)** — Async task delegation: CLI & MCP usage, message injection, chaining, broker lifecycle
|
|
312
|
+
- **[Command Usage Guide](guide/command-usage-guide.md)** — All 51 commands with workflow diagrams, pipeline chaining, Issue closed-loop, and quick channels
|
|
313
|
+
- **[Delegate Async Guide](guide/delegate-async-guide.md)** — Async task delegation: CLI & MCP usage, message injection, chaining, broker lifecycle
|
|
428
314
|
- **[Overlay Guide](guide/overlay-guide.md)** — Non-invasive command extensions: overlay format, section injection, bundle/import, interactive TUI management
|
|
429
|
-
- **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture,
|
|
315
|
+
- **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture, 9 hooks, spec injection, context budget, configuration
|
|
430
316
|
- **[Team Lite — User Guide](guide/team-lite-guide.md)** — Daily workflow for 2-8 person teams: join, sync, activity awareness, conflict preflight
|
|
431
317
|
- **[Team Lite — Design](guide/team-lite-design.md)** — Architecture, data model, and namespace boundary between human-collab and agent-pipeline domains
|
|
432
318
|
|
|
@@ -434,11 +320,8 @@ maestro/
|
|
|
434
320
|
|
|
435
321
|
## Acknowledgments
|
|
436
322
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
- **[GET SHIT DONE](https://github.com/gsd-build/get-shit-done)** by TACHES — The spec-driven development model, context engineering philosophy, and atomic commit discipline that shaped Maestro-Flow's pipeline design. GSD proved that structured meta-prompting is the right way to drive AI agents at scale.
|
|
440
|
-
|
|
441
|
-
- **[Claude-Code-Workflow](https://github.com/catlog22/Claude-Code-Workflow)** — The predecessor to Maestro-Flow. CCW pioneered multi-CLI orchestration (Gemini + Codex + Qwen + Claude), skill-based workflow routing, and team agent architecture. Maestro-Flow is CCW rebuilt from scratch — faster, leaner, with a visual dashboard and autonomous commander.
|
|
323
|
+
- **[GET SHIT DONE](https://github.com/gsd-build/get-shit-done)** by TACHES — The spec-driven development model and context engineering philosophy that shaped Maestro-Flow's pipeline design.
|
|
324
|
+
- **[Claude-Code-Workflow](https://github.com/catlog22/Claude-Code-Workflow)** — The predecessor that pioneered multi-CLI orchestration and skill-based workflow routing.
|
|
442
325
|
|
|
443
326
|
## Contributors
|
|
444
327
|
|