maestro-flow 0.5.33 → 0.5.35
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/.agents/agents/role-design-author.md +5 -3
- package/.agents/agents/workflow-collab-planner.md +1 -0
- package/.agents/agents/workflow-planner.md +2 -0
- package/.agents/skills/maestro/SKILL.md +8 -1
- package/.agents/skills/maestro-help/SKILL.md +39 -10
- package/.agents/skills/maestro-help/index/catalog.json +117 -53
- package/.agents/skills/maestro-help/phases/01-parse-intent.md +9 -6
- package/.agents/skills/maestro-help/phases/02-search-present.md +55 -15
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +35 -2
- package/.agents/skills/maestro-plan/SKILL.md +3 -1
- package/.agents/skills/maestro-ralph/SKILL.md +55 -19
- package/.agents/skills/maestro-ralph-execute/SKILL.md +52 -10
- package/.agents/skills/manage-harvest/SKILL.md +3 -0
- package/.agents/skills/manage-knowledge-audit/SKILL.md +29 -0
- package/.agents/skills/odyssey-debug/SKILL.md +7 -1
- package/.agents/skills/odyssey-improve/SKILL.md +7 -1
- package/.agents/skills/odyssey-planex/SKILL.md +11 -1
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +7 -1
- package/.agents/skills/odyssey-ui/SKILL.md +7 -1
- package/.agents/skills/quality-review/SKILL.md +3 -0
- package/.agents/skills/quality-test/SKILL.md +27 -1
- package/.agy/agents/role-design-author.md +5 -3
- package/.agy/agents/workflow-collab-planner.md +1 -0
- package/.agy/agents/workflow-planner.md +2 -0
- package/.agy/skills/maestro/SKILL.md +8 -1
- package/.agy/skills/maestro-help/SKILL.md +39 -10
- package/.agy/skills/maestro-help/index/catalog.json +117 -53
- package/.agy/skills/maestro-help/phases/01-parse-intent.md +9 -6
- package/.agy/skills/maestro-help/phases/02-search-present.md +55 -15
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +35 -2
- package/.agy/skills/maestro-plan/SKILL.md +3 -1
- package/.agy/skills/maestro-ralph/SKILL.md +55 -19
- package/.agy/skills/maestro-ralph-execute/SKILL.md +52 -10
- package/.agy/skills/manage-harvest/SKILL.md +3 -0
- package/.agy/skills/manage-knowledge-audit/SKILL.md +29 -0
- package/.agy/skills/odyssey-debug/SKILL.md +7 -1
- package/.agy/skills/odyssey-improve/SKILL.md +7 -1
- package/.agy/skills/odyssey-planex/SKILL.md +11 -1
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +7 -1
- package/.agy/skills/odyssey-ui/SKILL.md +7 -1
- package/.agy/skills/quality-review/SKILL.md +3 -0
- package/.agy/skills/quality-test/SKILL.md +27 -1
- package/.claude/agents/role-design-author.md +5 -3
- package/.claude/agents/workflow-collab-planner.md +1 -0
- package/.claude/agents/workflow-planner.md +2 -0
- package/.claude/commands/maestro-plan.md +3 -1
- package/.claude/commands/maestro-ralph-execute.md +52 -10
- package/.claude/commands/maestro-ralph.md +55 -19
- package/.claude/commands/maestro.md +8 -1
- package/.claude/commands/manage-harvest.md +3 -0
- package/.claude/commands/manage-knowledge-audit.md +29 -0
- package/.claude/commands/odyssey-debug.md +7 -1
- package/.claude/commands/odyssey-improve.md +7 -1
- package/.claude/commands/odyssey-planex.md +11 -1
- package/.claude/commands/odyssey-review-test-fix.md +7 -1
- package/.claude/commands/odyssey-ui.md +7 -1
- package/.claude/commands/quality-review.md +3 -0
- package/.claude/commands/quality-test.md +27 -1
- package/.claude/skills/maestro-help/SKILL.md +39 -10
- package/.claude/skills/maestro-help/index/catalog.json +117 -53
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +9 -6
- package/.claude/skills/maestro-help/phases/02-search-present.md +55 -15
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +35 -2
- package/.codex/skills/maestro/SKILL.md +17 -2
- package/.codex/skills/maestro-analyze/SKILL.md +20 -3
- package/.codex/skills/maestro-brainstorm/SKILL.md +30 -4
- package/.codex/skills/maestro-execute/SKILL.md +25 -3
- package/.codex/skills/maestro-grill/SKILL.md +9 -0
- package/.codex/skills/maestro-plan/SKILL.md +26 -3
- package/.codex/skills/maestro-ralph/SKILL.md +6 -0
- package/.codex/skills/maestro-ralph-execute/SKILL.md +51 -10
- package/.codex/skills/maestro-roadmap/SKILL.md +30 -1
- package/.codex/skills/manage-harvest/SKILL.md +2 -1
- package/.codex/skills/quality-review/SKILL.md +13 -2
- package/README.md +219 -87
- package/README.zh-CN.md +221 -79
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.d.ts +82 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js +444 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/embedding.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +9 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +54 -5
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +420 -46
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +16 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +14 -4
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +130 -49
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +64 -22
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +12 -12
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +10 -3
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/src/commands/hooks.d.ts +3 -0
- package/dashboard/dist-server/src/commands/hooks.js +11 -8
- package/dashboard/dist-server/src/commands/hooks.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/db/types.d.ts +2 -1
- package/dashboard/dist-server/src/graph/kg/db/types.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.d.ts +22 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js +64 -0
- package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -0
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js +14 -104
- package/dashboard/dist-server/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dashboard/dist-server/src/hooks/keyword-spec-injector.js +5 -2
- package/dashboard/dist-server/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dashboard/dist-server/src/hooks/wiki-role-loader.js +2 -1
- package/dashboard/dist-server/src/hooks/wiki-role-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/domain-loader.js +22 -16
- package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.d.ts +6 -1
- package/dashboard/dist-server/src/tools/spec-entry-parser.js +44 -13
- package/dashboard/dist-server/src/tools/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-keyword-index.d.ts +2 -0
- package/dashboard/dist-server/src/tools/spec-keyword-index.js +4 -9
- package/dashboard/dist-server/src/tools/spec-keyword-index.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.js +3 -11
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dashboard/dist-server/src/types/index.d.ts +14 -0
- package/dashboard/dist-server/src/utils/frontmatter.d.ts +15 -0
- package/dashboard/dist-server/src/utils/frontmatter.js +76 -0
- package/dashboard/dist-server/src/utils/frontmatter.js.map +1 -0
- package/dist/src/cli.js +1 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/domain.d.ts.map +1 -1
- package/dist/src/commands/domain.js +8 -2
- package/dist/src/commands/domain.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +3 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +11 -8
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +48 -11
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +3 -26
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/search.d.ts +6 -1
- package/dist/src/commands/search.d.ts.map +1 -1
- package/dist/src/commands/search.js +124 -52
- package/dist/src/commands/search.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +106 -6
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/uninstall.d.ts.map +1 -1
- package/dist/src/commands/uninstall.js +12 -3
- package/dist/src/commands/uninstall.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +37 -21
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +2 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/extension-loader.d.ts.map +1 -1
- package/dist/src/core/extension-loader.js +4 -0
- package/dist/src/core/extension-loader.js.map +1 -1
- package/dist/src/core/install-executor.d.ts.map +1 -1
- package/dist/src/core/install-executor.js +8 -3
- package/dist/src/core/install-executor.js.map +1 -1
- package/dist/src/graph/analyzers/fs-analyzer.js +2 -2
- package/dist/src/graph/analyzers/fs-analyzer.js.map +1 -1
- package/dist/src/graph/kg/db/node-kind-registry.d.ts +18 -0
- package/dist/src/graph/kg/db/node-kind-registry.d.ts.map +1 -0
- package/dist/src/graph/kg/db/node-kind-registry.js +42 -0
- package/dist/src/graph/kg/db/node-kind-registry.js.map +1 -0
- package/dist/src/graph/kg/db/types.d.ts +2 -1
- package/dist/src/graph/kg/db/types.d.ts.map +1 -1
- package/dist/src/graph/kg/db/types.js.map +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js +1 -1
- package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts +23 -0
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts.map +1 -0
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js +64 -0
- package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -0
- package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
- package/dist/src/graph/kg/extraction/orchestrator.js +14 -104
- package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/keyword-spec-injector.js +5 -2
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
- package/dist/src/hooks/wiki-role-loader.d.ts.map +1 -1
- package/dist/src/hooks/wiki-role-loader.js +2 -1
- package/dist/src/hooks/wiki-role-loader.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/ralph/cmd-next.d.ts.map +1 -1
- package/dist/src/ralph/cmd-next.js +2 -3
- package/dist/src/ralph/cmd-next.js.map +1 -1
- package/dist/src/tools/domain-loader.d.ts.map +1 -1
- package/dist/src/tools/domain-loader.js +22 -16
- package/dist/src/tools/domain-loader.js.map +1 -1
- package/dist/src/tools/spec-conflict-marker.d.ts +55 -0
- package/dist/src/tools/spec-conflict-marker.d.ts.map +1 -0
- package/dist/src/tools/spec-conflict-marker.js +228 -0
- package/dist/src/tools/spec-conflict-marker.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +6 -1
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +44 -13
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +2 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -1
- package/dist/src/tools/spec-keyword-index.js +4 -9
- package/dist/src/tools/spec-keyword-index.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +3 -11
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +2 -6
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +6 -52
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/dist/src/tui/uninstall-ui/UninstallFlow.d.ts.map +1 -1
- package/dist/src/tui/uninstall-ui/UninstallFlow.js +3 -1
- package/dist/src/tui/uninstall-ui/UninstallFlow.js.map +1 -1
- package/dist/src/types/index.d.ts +14 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/utils/frontmatter.d.ts +16 -0
- package/dist/src/utils/frontmatter.d.ts.map +1 -0
- package/dist/src/utils/frontmatter.js +76 -0
- package/dist/src/utils/frontmatter.js.map +1 -0
- package/dist/src/utils/migration-registry.d.ts.map +1 -1
- package/dist/src/utils/migration-registry.js +14 -1
- package/dist/src/utils/migration-registry.js.map +1 -1
- package/package.json +5 -3
- package/workflows/claude-instructions.md +63 -45
- package/workflows/codex-instructions.md +105 -28
- package/workflows/command-authoring.md +1 -1
- package/workflows/plan.md +2 -1
- package/.agents/skills/maestro-ralph-beta/SKILL.md +0 -877
- package/.agy/skills/maestro-ralph-beta/SKILL.md +0 -873
- package/.claude/commands/maestro-ralph-beta.md +0 -875
- package/.codex/skills/maestro-ralph-beta/SKILL.md +0 -883
package/README.md
CHANGED
|
@@ -2,22 +2,59 @@
|
|
|
2
2
|
|
|
3
3
|
# Maestro-Flow
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### Intent-Driven Workflow Orchestration for the Multi-Agent Era
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**Describe what you want. Maestro figures out how to get there.**
|
|
8
8
|
|
|
9
|
+
<br/>
|
|
10
|
+
|
|
11
|
+
[](https://www.npmjs.com/package/maestro-flow)
|
|
9
12
|
[](https://www.typescriptlang.org/)
|
|
10
13
|
[](https://nodejs.org/)
|
|
11
14
|
[](https://modelcontextprotocol.io/)
|
|
12
15
|
[](LICENSE)
|
|
13
16
|
|
|
14
|
-
[English](README.md)
|
|
17
|
+
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
15
18
|
|
|
16
19
|
</div>
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
<br/>
|
|
22
|
+
|
|
23
|
+
> Most AI coding tools let you run one agent on one task.
|
|
24
|
+
> Maestro-Flow orchestrates **multiple agents across an entire development lifecycle** — from brainstorming to deployment — with an adaptive decision engine, a self-reinforcing knowledge graph, and a real-time visual dashboard.
|
|
25
|
+
|
|
26
|
+
<br/>
|
|
27
|
+
|
|
28
|
+
## Two Pillars
|
|
29
|
+
|
|
30
|
+
Maestro-Flow is built on two interconnected systems that reinforce each other:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
┌─────────────────────────────────────┐
|
|
34
|
+
│ Maestro-Flow │
|
|
35
|
+
│ │
|
|
36
|
+
┌──────────────┴──────────────┐ ┌──────────────────┴───────────────┐
|
|
37
|
+
│ Workflow Orchestration │ │ Knowledge System │
|
|
38
|
+
│ │ │ │
|
|
39
|
+
│ Intent Router │ │ MaestroGraph (SQLite) │
|
|
40
|
+
│ └─ 40+ chain types │ │ └─ Code + Knowledge unified │
|
|
41
|
+
│ Ralph Decision Engine │ │ Spec Injection (Hooks) │
|
|
42
|
+
│ └─ 11-state FSM │ │ └─ Auto-inject into prompts │
|
|
43
|
+
│ Quality Pipeline │ │ Wiki + BM25 Search │
|
|
44
|
+
│ └─ verify → review → test│ │ └─ Backlinks + health score │
|
|
45
|
+
│ Multi-Agent Dispatch │ │ Learning Loop │
|
|
46
|
+
│ └─ Claude, Gemini, Codex │ │ └─ retro → persist → inject │
|
|
47
|
+
│ │ │ │
|
|
48
|
+
└─────────────┬───────────────┘ └──────────────────┬───────────────┘
|
|
49
|
+
│ ▲ │ ▲
|
|
50
|
+
│ │ knowledge │ │
|
|
51
|
+
│ │ injection │ │
|
|
52
|
+
│ └──────────────┘ │
|
|
53
|
+
│ execution results │
|
|
54
|
+
└──────────────────────────────────────┘
|
|
55
|
+
```
|
|
19
56
|
|
|
20
|
-
|
|
57
|
+
**Workflows generate knowledge. Knowledge improves future workflows.** Agents learn from each session, persist discoveries as specs and knowhow, and future agents automatically receive that context through hook injection — creating a self-reinforcing cycle.
|
|
21
58
|
|
|
22
59
|
---
|
|
23
60
|
|
|
@@ -28,24 +65,28 @@ npm install -g maestro-flow
|
|
|
28
65
|
maestro install
|
|
29
66
|
```
|
|
30
67
|
|
|
31
|
-
**Prerequisites**: Node.js
|
|
68
|
+
**Prerequisites**: Node.js ≥ 18, Claude Code CLI. Optional: Codex CLI, Gemini CLI for multi-agent workflows.
|
|
69
|
+
|
|
70
|
+
`maestro install` provides an interactive component selector — choose which assets (commands, hooks, MCP, agents) to install. Use `maestro workspace link` to share knowledge (specs, knowhow, domain) across multiple projects.
|
|
32
71
|
|
|
33
72
|
---
|
|
34
73
|
|
|
35
74
|
## Quick Start
|
|
36
75
|
|
|
37
|
-
|
|
76
|
+
### The Ralph Engine
|
|
77
|
+
|
|
78
|
+
**`/maestro-ralph`** is the primary entry point — a closed-loop lifecycle engine that reads project state, infers your position in the development lifecycle, and builds an adaptive command chain:
|
|
38
79
|
|
|
39
80
|
```bash
|
|
40
81
|
/maestro-ralph "implement OAuth2 authentication with refresh tokens"
|
|
41
82
|
```
|
|
42
83
|
|
|
43
|
-
Ralph automatically determines where you are
|
|
84
|
+
Ralph automatically determines where you are (brainstorm → plan → execute → verify → review → test → milestone) and builds the appropriate chain. Decision nodes at key checkpoints evaluate results and dynamically insert debug → fix → retry loops when needed.
|
|
44
85
|
|
|
45
86
|
```bash
|
|
46
87
|
/maestro-ralph status # View session progress
|
|
47
88
|
/maestro-ralph continue # Resume after decision pause
|
|
48
|
-
/maestro-ralph -y "build a REST API" # Full auto
|
|
89
|
+
/maestro-ralph -y "build a REST API" # Full auto — no pauses
|
|
49
90
|
```
|
|
50
91
|
|
|
51
92
|
### Other Entry Points
|
|
@@ -54,102 +95,185 @@ Ralph automatically determines where you are in the lifecycle (brainstorm → bl
|
|
|
54
95
|
|---------|-------------|
|
|
55
96
|
| `/maestro "..."` | Describe intent, let AI route to the optimal command chain |
|
|
56
97
|
| `/maestro-quick` | Quick fixes, small features (analyze → plan → execute) |
|
|
57
|
-
| `/maestro-*` | Step-by-step:
|
|
98
|
+
| `/maestro-*` | Step-by-step: brainstorm, blueprint, analyze, plan, execute, verify |
|
|
99
|
+
|
|
100
|
+
### Odyssey — Long-Running Iterative Cycles
|
|
101
|
+
|
|
102
|
+
Odyssey commands run extended, self-correcting loops that combine archaeology, diagnosis, fix, verification, and knowledge persistence until acceptance criteria are met:
|
|
103
|
+
|
|
104
|
+
| Command | Focus |
|
|
105
|
+
|---------|-------|
|
|
106
|
+
| `odyssey-debug` | Debug cycle — archaeology, diagnosis, fix, confirmation, generalization |
|
|
107
|
+
| `odyssey-planex` | Requirement-driven cycle — plan, execute, strict verify, fix loop |
|
|
108
|
+
| `odyssey-improve` | Codebase improvement — multi-dimensional audit, targeted fix, verify |
|
|
109
|
+
| `odyssey-review-test-fix` | Deep review + fix — multi-dimensional review, targeted fix, generalization |
|
|
110
|
+
| `odyssey-ui` | UI optimization — visual survey, audit, divergent exploration, fix |
|
|
58
111
|
|
|
59
112
|
---
|
|
60
113
|
|
|
61
|
-
##
|
|
114
|
+
## Workflow Orchestration
|
|
62
115
|
|
|
63
|
-
###
|
|
116
|
+
### Adaptive Lifecycle Engine
|
|
64
117
|
|
|
65
|
-
|
|
118
|
+
Ralph is an 11-state finite state machine that **decides** but never executes. It reads project state, infers lifecycle position, builds a command chain with quality gates, and hands off execution to `maestro-ralph-execute`. At each decision node (`◆`), Ralph evaluates actual results and decides: proceed, or insert a debug → fix → retry loop.
|
|
66
119
|
|
|
67
120
|
```
|
|
68
121
|
brainstorm → blueprint(opt) → init → analyze(macro) → roadmap(opt) → analyze(micro) → plan → execute → verify
|
|
69
|
-
◆
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
122
|
+
◆ decision
|
|
123
|
+
review ─── ◆ ─── test ─── ◆ ─── milestone-audit → milestone-complete
|
|
124
|
+
◆ → next milestone
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Three quality modes** control thoroughness:
|
|
128
|
+
|
|
129
|
+
| Mode | Pipeline | Use Case |
|
|
130
|
+
|------|----------|----------|
|
|
131
|
+
| `full` | verify → business-test → review → test-gen → test | Production, security-critical |
|
|
132
|
+
| `standard` | verify → review → test | Default, balanced |
|
|
133
|
+
| `quick` | verify → CLI-review | Prototyping, quick fixes |
|
|
134
|
+
|
|
135
|
+
### Intent-Driven Routing
|
|
136
|
+
|
|
137
|
+
You don't write pipeline YAML. You describe intent in natural language, and Maestro classifies it into one of **40+ chain types**, each a pre-composed sequence of commands. The same intent produces different chains depending on project state:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
/maestro "add user profile page"
|
|
141
|
+
# → New project: brainstorm → blueprint → analyze → plan → execute → verify
|
|
142
|
+
# → Existing project: analyze → plan → execute → verify
|
|
143
|
+
# → Quick fix: plan → execute → verify
|
|
78
144
|
```
|
|
79
145
|
|
|
80
|
-
|
|
146
|
+
### Layered Command Topology
|
|
147
|
+
|
|
148
|
+
Commands are organized in four layers:
|
|
81
149
|
|
|
82
|
-
|
|
|
83
|
-
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
150
|
+
| Layer | Purpose | Commands |
|
|
151
|
+
|-------|---------|----------|
|
|
152
|
+
| **Origin** | Diverge ideas, converge direction | brainstorm, blueprint |
|
|
153
|
+
| **Understanding** | Explore scope (macro) + deep-dive (micro) | analyze (dual-mode) |
|
|
154
|
+
| **Orchestration** | Structure into milestones and phases | roadmap |
|
|
155
|
+
| **Execution** | Plan, implement, verify | plan, execute, verify, review, test |
|
|
87
156
|
|
|
88
|
-
|
|
157
|
+
Six canonical paths (A–F) cover everything from full greenfield projects to single-line fixes.
|
|
89
158
|
|
|
90
|
-
|
|
91
|
-
2. **business-test** — PRD-forward business testing: requirement traceability, fixture generation, multi-layer execution against acceptance criteria
|
|
92
|
-
3. **review** — multi-dimensional code review: correctness, readability, performance, security, testing, architecture
|
|
93
|
-
4. **test-gen** — coverage gap analysis and automatic test generation (TDD/E2E classification, L0-L3 progressive layers)
|
|
94
|
-
5. **test** — conversational UAT: interactive exploratory testing with session persistence and gap-plan closure
|
|
159
|
+
### Multi-Agent Dispatch
|
|
95
160
|
|
|
96
|
-
|
|
161
|
+
Maestro coordinates **Claude Code, Codex, Gemini, Qwen, and OpenCode** through four composable orchestration patterns:
|
|
97
162
|
|
|
98
|
-
|
|
163
|
+
| Pattern | How It Works |
|
|
164
|
+
|---------|-------------|
|
|
165
|
+
| **Delegate** | Dispatch to any CLI tool via `maestro delegate` with SQLite-backed job broker, async execution, and message injection for follow-up chaining |
|
|
166
|
+
| **Team** | Coordinator-worker architecture — coordinators generate role-specs, spawn `team-worker` agents in parallel, supervised by a resident quality observer |
|
|
167
|
+
| **Wave** | Topological sort of tasks into dependency waves; independent tasks run concurrently within each wave |
|
|
168
|
+
| **Swarm** | ACO-driven multi-agent exploration for complex problem spaces with pheromone-guided convergence |
|
|
99
169
|
|
|
100
|
-
|
|
170
|
+
These patterns compose: a team coordinator can delegate subtasks to different LLM backends, wave execution parallelizes independent work, and the dashboard provides a real-time supervisory control loop — all sharing the broker and message bus as coordination primitives.
|
|
101
171
|
|
|
102
|
-
|
|
172
|
+
---
|
|
103
173
|
|
|
104
|
-
|
|
174
|
+
## Knowledge System
|
|
105
175
|
|
|
106
|
-
###
|
|
176
|
+
### Knowledge Graph (MaestroGraph)
|
|
107
177
|
|
|
108
|
-
|
|
178
|
+
**MaestroGraph** is the unified code index engine that replaces the former CodeGraph dependency. Built on `web-tree-sitter` for AST-level extraction, it stores both **code structure** (functions, classes, call chains) and **project knowledge** (specs, knowhow, domain terms, issues) in a single SQLite-backed graph with dual FTS5 indexes.
|
|
109
179
|
|
|
110
180
|
```bash
|
|
111
|
-
maestro
|
|
112
|
-
maestro
|
|
113
|
-
maestro
|
|
181
|
+
maestro kg search <symbol> # Find nodes
|
|
182
|
+
maestro kg context <node> # Get surrounding context
|
|
183
|
+
maestro kg callers <function> # Trace call chains
|
|
184
|
+
maestro kg callees <function> # Trace dependencies
|
|
114
185
|
```
|
|
115
186
|
|
|
116
|
-
###
|
|
187
|
+
### Spec Injection
|
|
188
|
+
|
|
189
|
+
Project rules (coding standards, architecture constraints, quality criteria) are stored as `<spec-entry>` blocks with keyword tags. **Hooks automatically inject relevant specs into every agent prompt** based on keyword matching — agents receive project-specific rules without explicit loading.
|
|
190
|
+
|
|
191
|
+
### Self-Reinforcing Learning Loop
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
Agent executes task
|
|
195
|
+
→ Discovers pattern/pitfall/decision
|
|
196
|
+
→ Persists as spec entry or knowhow doc
|
|
197
|
+
→ Hook system indexes new knowledge
|
|
198
|
+
→ Future agents auto-receive via prompt injection
|
|
199
|
+
→ Better execution → more discoveries → ...
|
|
200
|
+
```
|
|
117
201
|
|
|
118
|
-
|
|
202
|
+
Four learning tools feed this cycle: `learn-retro` (retrospective), `learn-follow` (pattern study), `learn-decompose` (architecture breakdown), `learn-investigate` (deep dive).
|
|
119
203
|
|
|
120
|
-
###
|
|
204
|
+
### Domain Knowledge
|
|
121
205
|
|
|
122
|
-
|
|
206
|
+
A semantic glossary layer that defines **what things mean** in your project. Domain terms (`maestro domain`) standardize terminology, map concept relationships, and serve as a MaestroGraph knowledge source — bridging the gap between code-level symbols and business-level concepts.
|
|
123
207
|
|
|
124
|
-
###
|
|
208
|
+
### Wiki & Search
|
|
125
209
|
|
|
126
|
-
|
|
210
|
+
WikiIndexer walks the `.workflow/` directory, parses frontmatter, builds backlink graphs, and creates a **BM25 inverted index** for full-text search across all project knowledge — specs, knowhow, issues, and KG nodes as virtual entries.
|
|
127
211
|
|
|
128
212
|
---
|
|
129
213
|
|
|
130
|
-
##
|
|
214
|
+
## Issue Closed-Loop
|
|
131
215
|
|
|
132
|
-
|
|
133
|
-
|----------|-------|--------|---------|
|
|
134
|
-
| **Core Workflow** | 19 | `maestro-*` | Full lifecycle — ralph, init, brainstorm, blueprint, analyze, roadmap, plan, execute, verify, milestones, overlays |
|
|
135
|
-
| **Management** | 12 | `manage-*` | Issue lifecycle, codebase docs, knowledge capture, memory, status |
|
|
136
|
-
| **Quality** | 9 | `quality-*` | Review, test, debug, test-gen, integration-test, business-test, refactor, sync |
|
|
137
|
-
| **Learning** | 5 | `learn-*` | Retro, follow-along, pattern decompose, investigate, second opinion |
|
|
138
|
-
| **Specification** | 3 | `spec-*` | Setup, add, load |
|
|
139
|
-
| **Wiki** | 2 | `wiki-*` | Connection discovery, knowledge digest |
|
|
216
|
+
Issues aren't just tickets. They're a self-healing pipeline:
|
|
140
217
|
|
|
141
|
-
|
|
218
|
+
```
|
|
219
|
+
discover → analyze → plan → execute → close
|
|
220
|
+
▲ │
|
|
221
|
+
└────── quality commands auto-create ─┘
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Quality commands (review, test, verify) automatically create issues for problems they find. Issue fixes flow back into the phase pipeline.
|
|
142
225
|
|
|
143
226
|
---
|
|
144
227
|
|
|
145
|
-
##
|
|
228
|
+
## Visual Dashboard
|
|
229
|
+
|
|
230
|
+
Real-time dashboard at `http://127.0.0.1:3001` — Kanban board, Gantt timeline, sortable table, and command center. Pick an agent on any issue card and dispatch.
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
maestro serve # Launch web dashboard
|
|
234
|
+
maestro view # Terminal TUI alternative
|
|
235
|
+
maestro command-help # Interactive command reference (alias: ch)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Built with React 19, Zustand, Tailwind CSS 4, Framer Motion, Hono, WebSocket.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## At a Glance
|
|
243
|
+
|
|
244
|
+
| Metric | Count |
|
|
245
|
+
|--------|-------|
|
|
246
|
+
| Source files (TypeScript) | 454 |
|
|
247
|
+
| Lines of code | ~111,000 |
|
|
248
|
+
| Slash commands | 64 |
|
|
249
|
+
| Workflow definitions | 115 |
|
|
250
|
+
| Skill packages | 45 |
|
|
251
|
+
| Agent definitions | 23 |
|
|
252
|
+
| CLI commands | 32 |
|
|
253
|
+
| Templates | 92 |
|
|
254
|
+
| Guides (bilingual) | 67 |
|
|
255
|
+
|
|
256
|
+
### Tech Stack
|
|
257
|
+
|
|
258
|
+
| Layer | Technology |
|
|
259
|
+
|-------|-----------|
|
|
260
|
+
| CLI | Commander.js, TypeScript, ESM |
|
|
261
|
+
| MCP | @modelcontextprotocol/sdk (stdio) |
|
|
262
|
+
| Knowledge Graph | better-sqlite3, Drizzle ORM, web-tree-sitter |
|
|
263
|
+
| Frontend | React 19, Zustand, Tailwind CSS 4, Framer Motion, Radix UI |
|
|
264
|
+
| Backend | Hono, WebSocket, SSE |
|
|
265
|
+
| Agents | Claude Agent SDK, Codex CLI, Gemini CLI, OpenCode |
|
|
266
|
+
| Build | Vite 6, TypeScript 5.7, Vitest |
|
|
267
|
+
|
|
268
|
+
### Architecture
|
|
146
269
|
|
|
147
270
|
```
|
|
148
271
|
maestro/
|
|
149
272
|
├── bin/ # CLI entry points
|
|
150
273
|
├── src/ # Core CLI (Commander.js + MCP SDK)
|
|
151
|
-
│ ├── commands/ #
|
|
274
|
+
│ ├── commands/ # 32 CLI commands
|
|
152
275
|
│ ├── mcp/ # MCP server (stdio transport)
|
|
276
|
+
│ ├── graph/ # Knowledge Graph (SQLite + tree-sitter)
|
|
153
277
|
│ └── core/ # Tool registry, extension loader
|
|
154
278
|
├── dashboard/ # Real-time web dashboard
|
|
155
279
|
│ └── src/
|
|
@@ -157,38 +281,46 @@ maestro/
|
|
|
157
281
|
│ ├── server/ # Hono API + WebSocket + SSE
|
|
158
282
|
│ └── shared/ # Shared types
|
|
159
283
|
├── .claude/
|
|
160
|
-
│ ├── commands/ #
|
|
161
|
-
│
|
|
162
|
-
|
|
163
|
-
├──
|
|
284
|
+
│ ├── commands/ # 64 slash commands (.md)
|
|
285
|
+
│ ├── agents/ # 23 agent definitions (.md)
|
|
286
|
+
│ └── skills/ # 45 skill packages
|
|
287
|
+
├── workflows/ # 115 workflow definitions (.md)
|
|
288
|
+
├── templates/ # 92 JSON templates
|
|
164
289
|
└── extensions/ # Plugin system
|
|
165
290
|
```
|
|
166
291
|
|
|
167
|
-
| Layer | Technology |
|
|
168
|
-
|-------|-----------|
|
|
169
|
-
| CLI | Commander.js, TypeScript, ESM |
|
|
170
|
-
| MCP | @modelcontextprotocol/sdk (stdio) |
|
|
171
|
-
| Frontend | React 19, Zustand, Tailwind CSS 4, Framer Motion, Radix UI |
|
|
172
|
-
| Backend | Hono, WebSocket, SSE |
|
|
173
|
-
| Agents | Claude Agent SDK, Codex CLI, Gemini CLI, OpenCode |
|
|
174
|
-
| Build | Vite 6, TypeScript 5.7, Vitest |
|
|
175
|
-
|
|
176
292
|
---
|
|
177
293
|
|
|
178
294
|
## Documentation
|
|
179
295
|
|
|
180
|
-
|
|
181
|
-
- **[
|
|
182
|
-
- **[
|
|
183
|
-
- **[
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
- **[
|
|
187
|
-
- **[
|
|
188
|
-
- **[
|
|
189
|
-
- **[
|
|
190
|
-
- **[
|
|
296
|
+
**Getting Started**
|
|
297
|
+
- **[Quick Start Guide](guide/quick-start-guide.en.md)** — Install, first workflow, key concepts
|
|
298
|
+
- **[Install Guide](guide/install-guide.md)** — Step-by-step installation, component selection, workspace setup
|
|
299
|
+
- **[Maestro Ralph Guide](guide/maestro-ralph-guide.en.md)** — Adaptive lifecycle engine, decision nodes, quality modes
|
|
300
|
+
|
|
301
|
+
**Workflow**
|
|
302
|
+
- **[Command Usage Guide](guide/command-usage-guide.en.md)** — All 64 commands with workflow diagrams and pipeline chaining
|
|
303
|
+
- **[CLI Commands Reference](guide/cli-commands-guide.en.md)** — All 32 terminal commands
|
|
304
|
+
- **[Workflow Structure Guide](guide/workflow-structure-guide.en.md)** — Command topology, chain composition
|
|
305
|
+
- **[Quality Pipeline Guide](guide/quality-pipeline-guide.en.md)** — Verify, review, test pipeline
|
|
306
|
+
- **[Maestro Coordinator Guide](guide/maestro-coordinator-guide.en.md)** — Multi-agent coordination patterns
|
|
307
|
+
|
|
308
|
+
**Knowledge**
|
|
309
|
+
- **[Knowledge Management Guide](guide/knowledge-management-guide.en.md)** — KG, specs, knowhow, wiki
|
|
310
|
+
- **[Search System Guide](guide/search-system-guide.md)** — Unified BM25F search, MaestroGraph integration, type filtering
|
|
311
|
+
- **[MaestroGraph Plan](guide/plan-maestrograph.md)** — Unified KG engine design, CodeGraph replacement, tree-sitter integration
|
|
312
|
+
- **[Domain Knowledge Plan](guide/plan-domain-knowledge.md)** — Semantic glossary, term relationships, concept layer
|
|
313
|
+
- **[Spec System Guide](guide/spec-system-guide.en.md)** — Spec entries, keyword loading, validation hooks
|
|
314
|
+
- **[Hooks Guide](guide/hooks-guide.en.md)** — 17 hooks, spec injection, context budget
|
|
315
|
+
- **[Learning Tools Guide](guide/learn-tools-guide.en.md)** — Retro, follow, decompose, investigate
|
|
316
|
+
|
|
317
|
+
**Advanced**
|
|
318
|
+
- **[Delegate Async Guide](guide/delegate-async-guide.en.md)** — Multi-CLI delegation, message injection, chaining
|
|
319
|
+
- **[Overlay Guide](guide/overlay-guide.en.md)** — Non-invasive command extensions
|
|
320
|
+
- **[Worktree Guide](guide/worktree-guide.en.md)** — Milestone-level parallel development
|
|
321
|
+
- **[Workspace Guide](guide/workspace-guide.md)** — Cross-workspace knowledge sharing, link/unlink
|
|
191
322
|
- **[MCP Tools Reference](guide/mcp-tools-guide.en.md)** — All 9 MCP endpoint tools
|
|
323
|
+
- **[Collab Guide](guide/team-lite-guide.en.md)** — 2-8 person team collaboration
|
|
192
324
|
|
|
193
325
|
---
|
|
194
326
|
|
|
@@ -196,7 +328,7 @@ maestro/
|
|
|
196
328
|
|
|
197
329
|
- **[GET SHIT DONE](https://github.com/gsd-build/get-shit-done)** by TACHES — The spec-driven development model and context engineering philosophy.
|
|
198
330
|
- **[Claude-Code-Workflow](https://github.com/catlog22/Claude-Code-Workflow)** — The predecessor that pioneered multi-CLI orchestration and skill-based workflow routing.
|
|
199
|
-
- **[Impeccable](https://github.com/pbakaus/impeccable)** by [@pbakaus](https://github.com/pbakaus) —
|
|
331
|
+
- **[Impeccable](https://github.com/pbakaus/impeccable)** by [@pbakaus](https://github.com/pbakaus) — UI design skill integrated as `maestro-impeccable`. Licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
200
332
|
|
|
201
333
|
## Contributors
|
|
202
334
|
|