maestro-flow 0.4.16 → 0.4.17
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/skills/maestro-init/SKILL.md +1 -1
- package/.agents/skills/maestro-ralph-beta/SKILL.md +893 -0
- package/.agy/skills/maestro-init/SKILL.md +1 -1
- package/.agy/skills/maestro-ralph-beta/SKILL.md +889 -0
- package/.claude/commands/maestro-init.md +1 -1
- package/.claude/commands/maestro-ralph-beta.md +891 -0
- package/.codex/skills/maestro-ralph/SKILL.md +93 -73
- package/.codex/skills/maestro-ralph-beta/SKILL.md +891 -0
- package/.codex/skills/maestro-ralph-execute/SKILL.md +243 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +23 -4
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/ralph.d.ts.map +1 -1
- package/dist/src/commands/ralph.js +3 -1
- package/dist/src/commands/ralph.js.map +1 -1
- package/dist/src/ralph/cmd-next.d.ts.map +1 -1
- package/dist/src/ralph/cmd-next.js +44 -1
- package/dist/src/ralph/cmd-next.js.map +1 -1
- package/dist/src/ralph/cmd-skills.d.ts +2 -0
- package/dist/src/ralph/cmd-skills.d.ts.map +1 -1
- package/dist/src/ralph/cmd-skills.js +11 -4
- package/dist/src/ralph/cmd-skills.js.map +1 -1
- package/dist/src/ralph/skill-scanner.d.ts +7 -2
- package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
- package/dist/src/ralph/skill-scanner.js +39 -24
- package/dist/src/ralph/skill-scanner.js.map +1 -1
- package/dist/src/ralph/status-schema.d.ts +2 -0
- package/dist/src/ralph/status-schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/config.json +21 -33
- package/workflows/init.md +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-skills.js","sourceRoot":"","sources":["../../../src/ralph/cmd-skills.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"cmd-skills.js","sourceRoot":"","sources":["../../../src/ralph/cmd-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
export type SkillPlatform = 'claude' | 'codex';
|
|
1
2
|
export interface ScannedSkill {
|
|
2
3
|
type: 'command' | 'skill';
|
|
3
4
|
scope: 'global' | 'project';
|
|
5
|
+
platform: SkillPlatform;
|
|
4
6
|
name: string;
|
|
5
7
|
filePath: string;
|
|
6
8
|
description: string;
|
|
@@ -9,7 +11,10 @@ export interface ScannedSkill {
|
|
|
9
11
|
deferredCount: number;
|
|
10
12
|
missingRequired: string[];
|
|
11
13
|
}
|
|
12
|
-
export
|
|
14
|
+
export interface ScanOptions {
|
|
15
|
+
platform?: SkillPlatform;
|
|
16
|
+
}
|
|
17
|
+
export declare function scanAllSkills(workflowRoot?: string, opts?: ScanOptions): ScannedSkill[];
|
|
13
18
|
/** Look up a single skill/command by name. Returns null if not found. */
|
|
14
|
-
export declare function findSkill(name: string, type?: 'command' | 'skill'): ScannedSkill | null;
|
|
19
|
+
export declare function findSkill(name: string, type?: 'command' | 'skill', platform?: SkillPlatform): ScannedSkill | null;
|
|
15
20
|
//# sourceMappingURL=skill-scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-scanner.d.ts","sourceRoot":"","sources":["../../../src/ralph/skill-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skill-scanner.d.ts","sourceRoot":"","sources":["../../../src/ralph/skill-scanner.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAC3B,YAAY,GAAE,MAA+B,EAC7C,IAAI,GAAE,WAAgB,GACrB,YAAY,EAAE,CAyDhB;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,EAC1B,QAAQ,CAAC,EAAE,aAAa,GACvB,YAAY,GAAG,IAAI,CAGrB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
|
-
// Skill scanner — discovers commands + skills
|
|
2
|
+
// Skill scanner — discovers commands + skills across claude and codex platforms.
|
|
3
3
|
//
|
|
4
|
-
// Sources (project overrides global by `name`):
|
|
5
|
-
// - <cwd>/.claude/commands/*.md type: command, scope: project
|
|
6
|
-
// - ~/.claude/commands/*.md type: command, scope: global
|
|
7
|
-
// - <cwd>/.claude/skills/*/SKILL.md type: skill, scope: project
|
|
8
|
-
// - ~/.claude/skills/*/SKILL.md type: skill, scope: global
|
|
4
|
+
// Sources (project overrides global by `(platform, name)`):
|
|
5
|
+
// - <cwd>/.claude/commands/*.md type: command, scope: project, platform: claude
|
|
6
|
+
// - ~/.claude/commands/*.md type: command, scope: global, platform: claude
|
|
7
|
+
// - <cwd>/.claude/skills/*/SKILL.md type: skill, scope: project, platform: claude
|
|
8
|
+
// - ~/.claude/skills/*/SKILL.md type: skill, scope: global, platform: claude
|
|
9
|
+
// - <cwd>/.codex/skills/*/SKILL.md type: skill, scope: project, platform: codex
|
|
10
|
+
// - ~/.codex/skills/*/SKILL.md type: skill, scope: global, platform: codex
|
|
9
11
|
//
|
|
10
12
|
// Agents are explicitly NOT scanned.
|
|
11
13
|
// ---------------------------------------------------------------------------
|
|
@@ -43,7 +45,7 @@ function collectSkillFiles(dir) {
|
|
|
43
45
|
}
|
|
44
46
|
return out;
|
|
45
47
|
}
|
|
46
|
-
function scanOne(filePath, type, scope, fallbackName) {
|
|
48
|
+
function scanOne(filePath, type, scope, platform, fallbackName) {
|
|
47
49
|
try {
|
|
48
50
|
const m = parseSkillManifest(filePath);
|
|
49
51
|
const fmName = (m.frontmatter.name ?? '').toString().trim();
|
|
@@ -52,6 +54,7 @@ function scanOne(filePath, type, scope, fallbackName) {
|
|
|
52
54
|
return {
|
|
53
55
|
type,
|
|
54
56
|
scope,
|
|
57
|
+
platform,
|
|
55
58
|
name: fmName || fallbackName,
|
|
56
59
|
filePath,
|
|
57
60
|
description,
|
|
@@ -63,50 +66,62 @@ function scanOne(filePath, type, scope, fallbackName) {
|
|
|
63
66
|
}
|
|
64
67
|
catch {
|
|
65
68
|
return {
|
|
66
|
-
type, scope, name: fallbackName, filePath,
|
|
69
|
+
type, scope, platform, name: fallbackName, filePath,
|
|
67
70
|
description: '(parse error)', argumentHint: '',
|
|
68
71
|
requiredCount: 0, deferredCount: 0, missingRequired: [],
|
|
69
72
|
};
|
|
70
73
|
}
|
|
71
74
|
}
|
|
72
|
-
export function scanAllSkills(workflowRoot = resolve(process.cwd())) {
|
|
75
|
+
export function scanAllSkills(workflowRoot = resolve(process.cwd()), opts = {}) {
|
|
73
76
|
const home = homedir();
|
|
74
|
-
const
|
|
77
|
+
const commandName = (p) => p.split(/[\\/]/).pop().replace(/\.md$/, '');
|
|
78
|
+
const skillName = (p) => p.split(/[\\/]/).slice(-2, -1)[0];
|
|
79
|
+
const allSources = [
|
|
80
|
+
// Claude platform
|
|
75
81
|
{
|
|
76
82
|
files: collectCommandFiles(join(home, '.claude', 'commands')),
|
|
77
|
-
type: 'command', scope: 'global',
|
|
78
|
-
nameFn: p => p.split(/[\\/]/).pop().replace(/\.md$/, ''),
|
|
83
|
+
type: 'command', scope: 'global', platform: 'claude', nameFn: commandName,
|
|
79
84
|
},
|
|
80
85
|
{
|
|
81
86
|
files: collectCommandFiles(join(workflowRoot, '.claude', 'commands')),
|
|
82
|
-
type: 'command', scope: 'project',
|
|
83
|
-
nameFn: p => p.split(/[\\/]/).pop().replace(/\.md$/, ''),
|
|
87
|
+
type: 'command', scope: 'project', platform: 'claude', nameFn: commandName,
|
|
84
88
|
},
|
|
85
89
|
{
|
|
86
90
|
files: collectSkillFiles(join(home, '.claude', 'skills')),
|
|
87
|
-
type: 'skill', scope: 'global',
|
|
88
|
-
nameFn: p => p.split(/[\\/]/).slice(-2, -1)[0],
|
|
91
|
+
type: 'skill', scope: 'global', platform: 'claude', nameFn: skillName,
|
|
89
92
|
},
|
|
90
93
|
{
|
|
91
94
|
files: collectSkillFiles(join(workflowRoot, '.claude', 'skills')),
|
|
92
|
-
type: 'skill', scope: 'project',
|
|
93
|
-
|
|
95
|
+
type: 'skill', scope: 'project', platform: 'claude', nameFn: skillName,
|
|
96
|
+
},
|
|
97
|
+
// Codex platform
|
|
98
|
+
{
|
|
99
|
+
files: collectSkillFiles(join(home, '.codex', 'skills')),
|
|
100
|
+
type: 'skill', scope: 'global', platform: 'codex', nameFn: skillName,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
files: collectSkillFiles(join(workflowRoot, '.codex', 'skills')),
|
|
104
|
+
type: 'skill', scope: 'project', platform: 'codex', nameFn: skillName,
|
|
94
105
|
},
|
|
95
106
|
];
|
|
96
|
-
|
|
107
|
+
const sources = opts.platform
|
|
108
|
+
? allSources.filter(s => s.platform === opts.platform)
|
|
109
|
+
: allSources;
|
|
110
|
+
// Project overrides global per (platform, type, name).
|
|
97
111
|
const merged = new Map();
|
|
98
112
|
for (const src of sources) {
|
|
99
113
|
for (const file of src.files) {
|
|
100
|
-
const entry = scanOne(file, src.type, src.scope, src.nameFn(file));
|
|
101
|
-
const key = `${entry.type}::${entry.name}`;
|
|
114
|
+
const entry = scanOne(file, src.type, src.scope, src.platform, src.nameFn(file));
|
|
115
|
+
const key = `${entry.platform}::${entry.type}::${entry.name}`;
|
|
102
116
|
const existing = merged.get(key);
|
|
103
|
-
// Project entries always replace global entries.
|
|
104
117
|
if (!existing || (existing.scope === 'global' && entry.scope === 'project')) {
|
|
105
118
|
merged.set(key, entry);
|
|
106
119
|
}
|
|
107
120
|
}
|
|
108
121
|
}
|
|
109
122
|
return Array.from(merged.values()).sort((a, b) => {
|
|
123
|
+
if (a.platform !== b.platform)
|
|
124
|
+
return a.platform.localeCompare(b.platform);
|
|
110
125
|
if (a.type !== b.type)
|
|
111
126
|
return a.type.localeCompare(b.type);
|
|
112
127
|
if (a.scope !== b.scope)
|
|
@@ -115,8 +130,8 @@ export function scanAllSkills(workflowRoot = resolve(process.cwd())) {
|
|
|
115
130
|
});
|
|
116
131
|
}
|
|
117
132
|
/** Look up a single skill/command by name. Returns null if not found. */
|
|
118
|
-
export function findSkill(name, type) {
|
|
119
|
-
const all = scanAllSkills();
|
|
133
|
+
export function findSkill(name, type, platform) {
|
|
134
|
+
const all = scanAllSkills(undefined, platform ? { platform } : {});
|
|
120
135
|
return all.find(s => s.name === name && (!type || s.type === type)) ?? null;
|
|
121
136
|
}
|
|
122
137
|
//# sourceMappingURL=skill-scanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-scanner.js","sourceRoot":"","sources":["../../../src/ralph/skill-scanner.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"skill-scanner.js","sourceRoot":"","sources":["../../../src/ralph/skill-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export type StepStatus = 'pending' | 'running' | 'completed' | 'skipped' | 'fail
|
|
|
3
3
|
export type CompletionStatus = 'DONE' | 'DONE_WITH_CONCERNS' | 'NEEDS_RETRY' | 'BLOCKED';
|
|
4
4
|
export type SessionStatus = 'running' | 'paused' | 'completed' | 'failed';
|
|
5
5
|
export type CommandScope = 'global' | 'project' | 'missing' | null;
|
|
6
|
+
export type SessionPlatform = 'claude' | 'codex';
|
|
6
7
|
export interface RalphStepLoad {
|
|
7
8
|
loaded_at: string | null;
|
|
8
9
|
required_files: string[];
|
|
@@ -68,6 +69,7 @@ export interface RalphSession {
|
|
|
68
69
|
analyze_macro_id?: string | null;
|
|
69
70
|
blueprint_id?: string | null;
|
|
70
71
|
cli_tool?: string;
|
|
72
|
+
platform?: SessionPlatform;
|
|
71
73
|
passed_gates?: string[];
|
|
72
74
|
context?: RalphSessionContext;
|
|
73
75
|
steps: RalphStep[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-schema.d.ts","sourceRoot":"","sources":["../../../src/ralph/status-schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"status-schema.d.ts","sourceRoot":"","sources":["../../../src/ralph/status-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/templates/config.json
CHANGED
|
@@ -1,60 +1,48 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mode": "interactive",
|
|
3
|
-
"granularity": "standard",
|
|
4
|
-
"model_profile": "balanced",
|
|
5
|
-
|
|
6
2
|
"workflow": {
|
|
7
3
|
"research": true,
|
|
8
|
-
"
|
|
9
|
-
"verify_after_execute": true,
|
|
10
|
-
"nyquist_validation": true,
|
|
11
|
-
"auto_sync": true,
|
|
12
|
-
"reflection": true,
|
|
13
|
-
"decision_protocol": true,
|
|
14
|
-
"auto_advance": false
|
|
4
|
+
"reflection": true
|
|
15
5
|
},
|
|
16
6
|
|
|
17
7
|
"execution": {
|
|
18
|
-
"method": "
|
|
19
|
-
"parallel": true,
|
|
20
|
-
"max_concurrent": 3,
|
|
8
|
+
"method": "auto",
|
|
21
9
|
"auto_commit": true,
|
|
22
|
-
"
|
|
10
|
+
"default_executor": ""
|
|
23
11
|
},
|
|
24
12
|
|
|
25
13
|
"git": {
|
|
26
|
-
"branching": "none",
|
|
27
14
|
"commit_docs": true
|
|
28
15
|
},
|
|
29
16
|
|
|
30
17
|
"gates": {
|
|
31
|
-
"confirm_project": true,
|
|
32
18
|
"confirm_roadmap": true,
|
|
33
|
-
"confirm_plan": true
|
|
34
|
-
"confirm_execute": true,
|
|
35
|
-
"confirm_transition": true
|
|
19
|
+
"confirm_plan": true
|
|
36
20
|
},
|
|
37
21
|
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"always_confirm_external_services": true
|
|
22
|
+
"codebase": {
|
|
23
|
+
"auto_sync_after_execute": true
|
|
41
24
|
},
|
|
42
25
|
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
26
|
+
"guard": {
|
|
27
|
+
"enabled": false,
|
|
28
|
+
"mode": "allow",
|
|
29
|
+
"paths": []
|
|
46
30
|
},
|
|
47
31
|
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
32
|
+
"collab": {
|
|
33
|
+
"preflight_mode": "warn",
|
|
34
|
+
"preflight_window_min": 30,
|
|
35
|
+
"auto_preflight": true
|
|
36
|
+
},
|
|
37
|
+
|
|
38
|
+
"specInjection": {},
|
|
39
|
+
|
|
40
|
+
"dashboard": {
|
|
41
|
+
"port": 3001
|
|
52
42
|
},
|
|
53
43
|
|
|
54
44
|
"worktree": {
|
|
55
|
-
"enabled": true,
|
|
56
45
|
"root": ".worktrees",
|
|
57
|
-
"branch_prefix": "milestone/"
|
|
58
|
-
"auto_cleanup": true
|
|
46
|
+
"branch_prefix": "milestone/"
|
|
59
47
|
}
|
|
60
48
|
}
|
package/workflows/init.md
CHANGED
|
@@ -54,18 +54,18 @@ state.json exists → Path C (existing) | source files exist → Path B (brownfi
|
|
|
54
54
|
|
|
55
55
|
2. **Workflow Preferences** -- Configure project workflow settings:
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
- Git Tracking: Commit planning docs to git?
|
|
61
|
-
|
|
62
|
-
Round 2 — Workflow agents:
|
|
63
|
-
- Research: Research before planning each phase?
|
|
64
|
-
- Plan Check: Verify plans achieve goals?
|
|
65
|
-
- Verifier: Verify work after each phase?
|
|
57
|
+
Single round (AskUserQuestion):
|
|
58
|
+
- Research: Research before planning each phase? (`workflow.research`)
|
|
59
|
+
- Reflection: Reflect on results after each phase? (`workflow.reflection`)
|
|
60
|
+
- Git Tracking: Commit planning docs to git? (`git.commit_docs`)
|
|
61
|
+
- Auto-sync: Sync codebase docs after execute? (`codebase.auto_sync_after_execute`)
|
|
66
62
|
|
|
67
63
|
Write `.workflow/config.json` from template + user selections.
|
|
68
|
-
|
|
64
|
+
Other segments (`execution`, `gates`, `guard`, `collab`, `specInjection`, `dashboard`)
|
|
65
|
+
stay at template defaults; user can edit later or configure via dedicated commands
|
|
66
|
+
(`/maestro-guard`, `maestro spec injection set`).
|
|
67
|
+
|
|
68
|
+
If `--auto`: use template defaults (all the above on).
|
|
69
69
|
|
|
70
70
|
3. **Research** (optional, based on config.workflow.research) -- Spawn 4 parallel `workflow-project-researcher` agents writing to `.workflow/research/`: STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md.
|
|
71
71
|
|
|
@@ -139,7 +139,7 @@ Verify all required directories and files exist:
|
|
|
139
139
|
1. If git repo and config.git.commit_docs: commit all `.workflow/` files with message `"chore: initialize project workflow"`
|
|
140
140
|
2. Display initialization summary:
|
|
141
141
|
- Project name and core value
|
|
142
|
-
- Config highlights (
|
|
142
|
+
- Config highlights (research/reflection/commit_docs/auto_sync_after_execute toggles)
|
|
143
143
|
- Research summary (if research was run)
|
|
144
144
|
3. Route next steps:
|
|
145
145
|
- "Run `/maestro-roadmap --mode full` to create full spec package with roadmap (heavy path)"
|