@devo-bmad-custom/agent-orchestration 1.0.1 → 1.0.2
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/lib/installer.js +11 -11
- package/package.json +1 -1
- package/src/.claude/commands/bmad-track-compact.md +1 -1
- package/src/.claude/commands/bmad-track-extended.md +1 -1
- package/src/.claude/commands/bmad-track-large.md +1 -1
- package/src/.claude/commands/bmad-track-medium.md +1 -1
- package/src/.claude/commands/bmad-track-nano.md +1 -1
- package/src/.claude/commands/bmad-track-rv.md +1 -1
- package/src/.claude/commands/bmad-track-small.md +1 -1
- package/src/bmm/agents/review-agent.md +1 -1
- package/src/core/agents/master-orchestrator.md +3 -3
package/lib/installer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
3
|
* bmad-package/lib/installer.js
|
|
4
|
-
* Core installer — copies src/ files into
|
|
4
|
+
* Core installer — copies src/ files into _devo-bmad-custom/ of the target project,
|
|
5
5
|
* tracks installed files in a manifest, removes orphaned files on update,
|
|
6
6
|
* generates config.yaml, and writes IDE integration files for all supported platforms.
|
|
7
7
|
*/
|
|
@@ -17,7 +17,7 @@ const SRC_DIR = path.join(__dirname, '..', 'src');
|
|
|
17
17
|
// Modules available in src/
|
|
18
18
|
const AVAILABLE_MODULES = ['bmm', 'bmb', 'core', '_memory'];
|
|
19
19
|
|
|
20
|
-
// Manifest file location (relative to
|
|
20
|
+
// Manifest file location (relative to _devo-bmad-custom/)
|
|
21
21
|
const MANIFEST_FILE = '_config/manifest.yaml';
|
|
22
22
|
const FILES_MANIFEST_FILE = '_config/files-manifest.csv';
|
|
23
23
|
|
|
@@ -119,7 +119,7 @@ async function install(opts) {
|
|
|
119
119
|
} = opts;
|
|
120
120
|
|
|
121
121
|
const projectRoot = path.resolve(directory);
|
|
122
|
-
const bmadDir = path.join(projectRoot, '
|
|
122
|
+
const bmadDir = path.join(projectRoot, '_devo-bmad-custom');
|
|
123
123
|
const chalk = (await import('chalk')).default;
|
|
124
124
|
|
|
125
125
|
// ── Detect existing installation ──────────────────────────────────────────
|
|
@@ -264,7 +264,7 @@ async function install(opts) {
|
|
|
264
264
|
const config = buildModuleConfig(mod, resolvedUserName || 'Developer', outputFolder);
|
|
265
265
|
await fs.ensureDir(path.dirname(configPath));
|
|
266
266
|
await fs.writeFile(configPath, yaml.stringify(config), 'utf8');
|
|
267
|
-
console.log(chalk.green(` ✓ config.yaml →
|
|
267
|
+
console.log(chalk.green(` ✓ config.yaml → _devo-bmad-custom/${mod}/`));
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
|
|
@@ -293,7 +293,7 @@ async function install(opts) {
|
|
|
293
293
|
await writeFilesManifest(bmadDir, newFileEntries);
|
|
294
294
|
|
|
295
295
|
console.log(`\n${chalk.bold.green('✓ Done!')} ${installedCount} files ${isUpdate ? 'updated' : 'installed'}.`);
|
|
296
|
-
console.log(` BMAD is ready at ${chalk.cyan('
|
|
296
|
+
console.log(` BMAD is ready at ${chalk.cyan('_devo-bmad-custom/')}\n`);
|
|
297
297
|
|
|
298
298
|
// ── Open workflows overview in default browser ─────────────────────────────
|
|
299
299
|
const overviewHtml = path.join(bmadDir, '_memory', 'master-orchestrator-sidecar', 'workflows-overview.html');
|
|
@@ -313,7 +313,7 @@ async function install(opts) {
|
|
|
313
313
|
async function status(opts) {
|
|
314
314
|
const { directory = process.cwd() } = opts;
|
|
315
315
|
const projectRoot = path.resolve(directory);
|
|
316
|
-
const bmadDir = path.join(projectRoot, '
|
|
316
|
+
const bmadDir = path.join(projectRoot, '_devo-bmad-custom');
|
|
317
317
|
const chalk = (await import('chalk')).default;
|
|
318
318
|
|
|
319
319
|
if (!await fs.pathExists(bmadDir)) {
|
|
@@ -520,11 +520,11 @@ function buildBmadRulesEntry(modules) {
|
|
|
520
520
|
'',
|
|
521
521
|
'## BMAD Method',
|
|
522
522
|
'',
|
|
523
|
-
'BMAD agents, skills, and workflows are installed in `
|
|
523
|
+
'BMAD agents, skills, and workflows are installed in `_devo-bmad-custom/`.',
|
|
524
524
|
'Key modules: ' + modules.join(', '),
|
|
525
525
|
'',
|
|
526
526
|
'To use an agent, load its `.md` file and follow its activation instructions.',
|
|
527
|
-
'Agent configs are in `
|
|
527
|
+
'Agent configs are in `_devo-bmad-custom/{module}/config.yaml`.',
|
|
528
528
|
'Skills are in `.agents/skills/` and `_bmad/_memory/skills/`.',
|
|
529
529
|
'',
|
|
530
530
|
].join('\n');
|
|
@@ -576,7 +576,7 @@ function buildTmuxEntry() {
|
|
|
576
576
|
async function writeClaudeAgentStubs(projectRoot, agentDir, chalk) {
|
|
577
577
|
const agentsDest = path.join(projectRoot, agentDir);
|
|
578
578
|
const bmadAgentsGlob = await glob('**/*.agent.md', {
|
|
579
|
-
cwd: path.join(projectRoot, '
|
|
579
|
+
cwd: path.join(projectRoot, '_devo-bmad-custom'),
|
|
580
580
|
nodir: true,
|
|
581
581
|
});
|
|
582
582
|
|
|
@@ -586,7 +586,7 @@ async function writeClaudeAgentStubs(projectRoot, agentDir, chalk) {
|
|
|
586
586
|
let written = 0;
|
|
587
587
|
|
|
588
588
|
for (const rel of bmadAgentsGlob) {
|
|
589
|
-
const agentPath = path.join(projectRoot, '
|
|
589
|
+
const agentPath = path.join(projectRoot, '_devo-bmad-custom', rel);
|
|
590
590
|
const raw = await fs.readFile(agentPath, 'utf8');
|
|
591
591
|
|
|
592
592
|
// Extract name + description from frontmatter if present
|
|
@@ -605,7 +605,7 @@ async function writeClaudeAgentStubs(projectRoot, agentDir, chalk) {
|
|
|
605
605
|
'You must fully embody this agent\'s persona when activated.',
|
|
606
606
|
'',
|
|
607
607
|
`<agent-activation CRITICAL="TRUE">`,
|
|
608
|
-
`1. LOAD the full agent file from {project-root}/
|
|
608
|
+
`1. LOAD the full agent file from {project-root}/_devo-bmad-custom/${rel}`,
|
|
609
609
|
'2. READ its entire contents before responding.',
|
|
610
610
|
'3. FOLLOW all activation instructions within it.',
|
|
611
611
|
'</agent-activation>',
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ description: 'Start a Compact track session — master-orchestrator activated, t
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Compact** — skip complexity triage entirely
|
|
@@ -6,7 +6,7 @@ description: 'Start an Extended track session — master-orchestrator activated,
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Extended** — skip complexity triage entirely
|
|
@@ -6,7 +6,7 @@ description: 'Start a Large track session — master-orchestrator activated, tra
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Large** — skip complexity triage entirely
|
|
@@ -6,7 +6,7 @@ description: 'Start a Medium track session — master-orchestrator activated, tr
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Medium** — skip complexity triage entirely
|
|
@@ -6,7 +6,7 @@ description: 'Start a Nano track session — master-orchestrator activated, trac
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Nano** — skip complexity triage entirely
|
|
@@ -6,7 +6,7 @@ description: 'Start a Review Track session — master-orchestrator activated, tr
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Review Track [RV]** — skip all triage, go directly to target definition
|
|
@@ -6,7 +6,7 @@ description: 'Start a Small track session — master-orchestrator activated, tra
|
|
|
6
6
|
You must fully embody the Conductor master-orchestrator persona and follow all activation instructions exactly. NEVER break character until given an exit command.
|
|
7
7
|
|
|
8
8
|
<agent-activation CRITICAL="TRUE">
|
|
9
|
-
1. LOAD the FULL agent file from {project-root}/
|
|
9
|
+
1. LOAD the FULL agent file from {project-root}/_devo-bmad-custom/core/agents/master-orchestrator.md
|
|
10
10
|
2. READ its entire contents
|
|
11
11
|
3. EXECUTE every critical_action in order (load all sidecar files)
|
|
12
12
|
4. TRACK IS PRE-SELECTED: **Small** — skip complexity triage entirely
|
|
@@ -43,7 +43,7 @@ You must fully embody this agent's persona and follow all activation instruction
|
|
|
43
43
|
<r>STAYS IN SPLIT PANE for full cycle — do not close until verdict is emitted and Master Orchestrator receives it.</r>
|
|
44
44
|
<r>Sub-agents run in-process (same conversation context injection). They are spawned, execute their task, report findings, and close. You collect their output.</r>
|
|
45
45
|
<r>On 🔴 escalation after 1 fix attempt: HALT and present the escalation block. Do not auto-proceed past persistent 🔴 findings.</r>
|
|
46
|
-
<r>TRACKING: Format tasks, bugs, decisions using structured trackingStatus YAML per {project-root}/{project-root}/
|
|
46
|
+
<r>TRACKING: Format tasks, bugs, decisions using structured trackingStatus YAML per {project-root}/{project-root}/_devo-bmad-custom/_memory/skills/{tracking-skill}/SKILL.md.</r>
|
|
47
47
|
<r>SAVE session_id to _bmad-output/parallel/{session_id}/agent-sessions.md before closing.</r>
|
|
48
48
|
<r>SIDECAR tracks: cycle_log (list of sub-agents invoked, finding counts per sub, final verdict), session_id, artifact_reviewed, track_context.</r>
|
|
49
49
|
</rules>
|
|
@@ -9,11 +9,11 @@ You must fully embody this agent's persona and follow all activation instruction
|
|
|
9
9
|
<agent id="master-orchestrator.agent.yaml" name="Conductor" title="Master Orchestrator" icon="🎯" module="core" hasSidecar="true" sidecarFile="_bmad/_memory/master-orchestrator-sidecar/instructions.md" capabilities="workflow orchestration, triage, track routing, review gate coordination, session management, parallel agent coordination">
|
|
10
10
|
<activation>
|
|
11
11
|
<step n="1">Load persona from this current agent file (already in context)</step>
|
|
12
|
-
<step n="2" critical="true">Load {project-root}/
|
|
13
|
-
<step n="3" critical="true">Load sidecar: {project-root}/
|
|
12
|
+
<step n="2" critical="true">Load {project-root}/_devo-bmad-custom/core/config.yaml. Store: {user_name}, {communication_language}, {output_folder}. HALT if config fails to load.</step>
|
|
13
|
+
<step n="3" critical="true">Load sidecar: {project-root}/_devo-bmad-custom/_memory/master-orchestrator-sidecar/instructions.md. This file contains all routing rules, triage logic, track definitions, and protocol specifications. HALT if not found.</step>
|
|
14
14
|
<step n="4">Load supporting sidecar files: memories.md, triage-history.md, docs-index.md from the same sidecar directory.</step>
|
|
15
15
|
<step n="5">Run Bootstrap Sequence as defined in instructions.md (silently, before greeting).</step>
|
|
16
|
-
<step n="6">SKILLS DETECTION (MANDATORY): Scan {project-root}/.agents/skills/ and {project-root}/
|
|
16
|
+
<step n="6">SKILLS DETECTION (MANDATORY): Scan {project-root}/.agents/skills/ and {project-root}/_devo-bmad-custom/_memory/skills/ for all SKILL.md files.</step>
|
|
17
17
|
<step n="7">Display greeting per instructions.md Greeting Script (Branch A, B, or C based on session state).</step>
|
|
18
18
|
<step n="8">STOP and WAIT for user input — do NOT execute menu items automatically.</step>
|
|
19
19
|
<step n="9">On user input: Number → menu item[n] | Text → substring match | [NT] → new task triage | [RS] → resume session | Other commands → per instructions.md routing table.</step>
|