bmad-plus 0.1.0
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/CHANGELOG.md +75 -0
- package/README.md +482 -0
- package/osint-agent-package/README.md +88 -0
- package/osint-agent-package/SETUP_KEYS.md +108 -0
- package/osint-agent-package/agents/osint-investigator.md +80 -0
- package/osint-agent-package/install.ps1 +87 -0
- package/osint-agent-package/install.sh +76 -0
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +260 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -0
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -0
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -0
- package/package.json +51 -0
- package/readme-international/README.de.md +392 -0
- package/readme-international/README.es.md +484 -0
- package/readme-international/README.fr.md +482 -0
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -0
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -0
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -0
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -0
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -0
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -0
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/data/role-triggers.yaml +209 -0
- package/src/bmad-plus/module-help.csv +10 -0
- package/src/bmad-plus/module.yaml +174 -0
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -0
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -0
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -0
- package/tools/bmad-plus-npx.js +33 -0
- package/tools/cli/bmad-plus-cli.js +50 -0
- package/tools/cli/commands/install.js +437 -0
- package/tools/cli/commands/uninstall.js +70 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# BMAD+ Auto-Activation Role Triggers
|
|
2
|
+
# These rules define when agents automatically switch roles based on context.
|
|
3
|
+
# Users can always override with "skip" or explicitly request a role change.
|
|
4
|
+
|
|
5
|
+
strategist:
|
|
6
|
+
default_role: pm
|
|
7
|
+
auto_triggers:
|
|
8
|
+
analyst:
|
|
9
|
+
# Level 1 — Pattern matching (keywords in user request)
|
|
10
|
+
patterns:
|
|
11
|
+
- "analyse"
|
|
12
|
+
- "analyze"
|
|
13
|
+
- "recherche"
|
|
14
|
+
- "research"
|
|
15
|
+
- "marché"
|
|
16
|
+
- "market"
|
|
17
|
+
- "benchmark"
|
|
18
|
+
- "requirements"
|
|
19
|
+
- "domain"
|
|
20
|
+
- "competitive"
|
|
21
|
+
- "SWOT"
|
|
22
|
+
- "stakeholder"
|
|
23
|
+
# Level 2 — Contextual (situations detected during work)
|
|
24
|
+
contexts:
|
|
25
|
+
- "new_project"
|
|
26
|
+
- "pivot"
|
|
27
|
+
- "competitor_mention"
|
|
28
|
+
- "unknown_domain"
|
|
29
|
+
# Level 3 — Reasoning chain (discoveries during execution)
|
|
30
|
+
reasoning:
|
|
31
|
+
- "user_need_unclear"
|
|
32
|
+
- "market_assumption_unvalidated"
|
|
33
|
+
|
|
34
|
+
pm:
|
|
35
|
+
patterns:
|
|
36
|
+
- "PRD"
|
|
37
|
+
- "product brief"
|
|
38
|
+
- "roadmap"
|
|
39
|
+
- "priorisation"
|
|
40
|
+
- "MVP"
|
|
41
|
+
- "user story"
|
|
42
|
+
- "personas"
|
|
43
|
+
- "brief"
|
|
44
|
+
contexts:
|
|
45
|
+
- "post_research"
|
|
46
|
+
- "planning_phase"
|
|
47
|
+
- "scope_definition"
|
|
48
|
+
reasoning:
|
|
49
|
+
- "research_complete_needs_specification"
|
|
50
|
+
|
|
51
|
+
architect-dev:
|
|
52
|
+
default_role: dev
|
|
53
|
+
auto_triggers:
|
|
54
|
+
architect:
|
|
55
|
+
patterns:
|
|
56
|
+
- "architecture"
|
|
57
|
+
- "design"
|
|
58
|
+
- "API"
|
|
59
|
+
- "schema"
|
|
60
|
+
- "structure"
|
|
61
|
+
- "stack"
|
|
62
|
+
- "scalab"
|
|
63
|
+
- "infrastructure"
|
|
64
|
+
- "database"
|
|
65
|
+
- "migration"
|
|
66
|
+
contexts:
|
|
67
|
+
- "multi_file_change_gt_5"
|
|
68
|
+
- "new_module"
|
|
69
|
+
- "security_domain"
|
|
70
|
+
- "performance_critical"
|
|
71
|
+
- "new_integration"
|
|
72
|
+
reasoning:
|
|
73
|
+
- "implementation_exposes_architectural_issue"
|
|
74
|
+
- "dependency_conflict_detected"
|
|
75
|
+
- "scale_concern_during_coding"
|
|
76
|
+
|
|
77
|
+
dev:
|
|
78
|
+
patterns:
|
|
79
|
+
- "implement"
|
|
80
|
+
- "implémente"
|
|
81
|
+
- "code"
|
|
82
|
+
- "build"
|
|
83
|
+
- "fix"
|
|
84
|
+
- "refactor"
|
|
85
|
+
- "develop"
|
|
86
|
+
- "créer"
|
|
87
|
+
contexts:
|
|
88
|
+
- "post_architecture"
|
|
89
|
+
- "story_assigned"
|
|
90
|
+
- "bug_fix"
|
|
91
|
+
reasoning:
|
|
92
|
+
- "architecture_approved_ready_to_code"
|
|
93
|
+
|
|
94
|
+
tech-writer:
|
|
95
|
+
patterns:
|
|
96
|
+
- "document"
|
|
97
|
+
- "README"
|
|
98
|
+
- "changelog"
|
|
99
|
+
- "explain"
|
|
100
|
+
- "documente"
|
|
101
|
+
- "API doc"
|
|
102
|
+
- "mermaid"
|
|
103
|
+
contexts:
|
|
104
|
+
- "post_implementation"
|
|
105
|
+
- "version_release"
|
|
106
|
+
- "onboarding_needed"
|
|
107
|
+
reasoning:
|
|
108
|
+
- "complex_feature_needs_explanation"
|
|
109
|
+
- "public_api_changed"
|
|
110
|
+
|
|
111
|
+
quality:
|
|
112
|
+
default_role: qa
|
|
113
|
+
auto_triggers:
|
|
114
|
+
qa:
|
|
115
|
+
patterns:
|
|
116
|
+
- "test"
|
|
117
|
+
- "QA"
|
|
118
|
+
- "review"
|
|
119
|
+
- "bug"
|
|
120
|
+
- "edge case"
|
|
121
|
+
- "coverage"
|
|
122
|
+
- "valide"
|
|
123
|
+
- "vérifie"
|
|
124
|
+
contexts:
|
|
125
|
+
- "post_implementation"
|
|
126
|
+
- "financial_calculations"
|
|
127
|
+
- "security_sensitive"
|
|
128
|
+
- "user_data_handling"
|
|
129
|
+
reasoning:
|
|
130
|
+
- "critical_logic_detected"
|
|
131
|
+
- "regression_risk"
|
|
132
|
+
- "complex_state_management"
|
|
133
|
+
|
|
134
|
+
ux-review:
|
|
135
|
+
patterns:
|
|
136
|
+
- "UX"
|
|
137
|
+
- "interface"
|
|
138
|
+
- "utilisateur"
|
|
139
|
+
- "responsive"
|
|
140
|
+
- "accessibilité"
|
|
141
|
+
- "accessibility"
|
|
142
|
+
- "design"
|
|
143
|
+
- "usability"
|
|
144
|
+
contexts:
|
|
145
|
+
- "frontend_changes"
|
|
146
|
+
- "new_component"
|
|
147
|
+
- "new_page"
|
|
148
|
+
- "mobile_layout"
|
|
149
|
+
reasoning:
|
|
150
|
+
- "user_facing_feature_delivered"
|
|
151
|
+
- "interaction_pattern_changed"
|
|
152
|
+
|
|
153
|
+
orchestrator:
|
|
154
|
+
default_role: scrum-master
|
|
155
|
+
auto_triggers:
|
|
156
|
+
scrum-master:
|
|
157
|
+
patterns:
|
|
158
|
+
- "sprint"
|
|
159
|
+
- "planning"
|
|
160
|
+
- "story"
|
|
161
|
+
- "retro"
|
|
162
|
+
- "backlog"
|
|
163
|
+
- "epic"
|
|
164
|
+
- "velocity"
|
|
165
|
+
contexts:
|
|
166
|
+
- "phase_transition"
|
|
167
|
+
- "milestone_reached"
|
|
168
|
+
- "team_sync"
|
|
169
|
+
|
|
170
|
+
quick-flow:
|
|
171
|
+
patterns:
|
|
172
|
+
- "rapide"
|
|
173
|
+
- "quick"
|
|
174
|
+
- "hotfix"
|
|
175
|
+
- "petit fix"
|
|
176
|
+
- "simple"
|
|
177
|
+
- "fast"
|
|
178
|
+
- "patch"
|
|
179
|
+
contexts:
|
|
180
|
+
- "single_file_change"
|
|
181
|
+
- "bug_report"
|
|
182
|
+
- "minor_feature"
|
|
183
|
+
|
|
184
|
+
autopilot:
|
|
185
|
+
patterns:
|
|
186
|
+
- "autopilot"
|
|
187
|
+
- "gère tout"
|
|
188
|
+
- "lance le projet"
|
|
189
|
+
- "full pipeline"
|
|
190
|
+
- "tout automatique"
|
|
191
|
+
- "from scratch"
|
|
192
|
+
contexts:
|
|
193
|
+
- "new_project_idea"
|
|
194
|
+
- "execution_mode_autopilot"
|
|
195
|
+
|
|
196
|
+
parallel-supervisor:
|
|
197
|
+
patterns:
|
|
198
|
+
- "parallèle"
|
|
199
|
+
- "parallel"
|
|
200
|
+
- "simultané"
|
|
201
|
+
- "concurrent"
|
|
202
|
+
- "batch"
|
|
203
|
+
contexts:
|
|
204
|
+
- "independent_stories_detected"
|
|
205
|
+
- "multi_task_queue"
|
|
206
|
+
- "parallel_execution_enabled"
|
|
207
|
+
reasoning:
|
|
208
|
+
- "stories_have_no_shared_dependencies"
|
|
209
|
+
- "workload_can_be_distributed"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
skill_name,help_text
|
|
2
|
+
bmad-plus-agent-strategist,"Talk to Atlas — your Strategy & Product Lead. Combines business analysis and product management. Use for brainstorming, market research, product briefs, and PRDs."
|
|
3
|
+
bmad-plus-agent-architect-dev,"Talk to Forge — your Architect & Developer. Designs architectures, implements code, and writes documentation. Use for technical design, story implementation, and code review."
|
|
4
|
+
bmad-plus-agent-quality,"Talk to Sentinel — your Quality & UX Guardian. Tests code, reviews UX, and catches edge cases. Use for QA, code review, and UX validation."
|
|
5
|
+
bmad-plus-agent-orchestrator,"Talk to Nexus — your Orchestrator & Sprint Lead. Manages sprints, runs autopilot pipelines, and coordinates parallel agents. Use for project management, autopilot mode, and parallel execution."
|
|
6
|
+
bmad-plus-autopilot,"Launch autopilot mode — give a project idea and Nexus handles the full pipeline from discovery to delivery with checkpoints for your approval."
|
|
7
|
+
bmad-plus-parallel,"Enable parallel execution for independent tasks. The orchestrator detects parallelizable work and supervises multiple agents simultaneously."
|
|
8
|
+
bmad-plus-agent-shadow,"Talk to Shadow — your OSINT Intelligence Analyst. Investigates people via 55+ Apify actors and 7 search APIs. Produces scored dossiers with psychoprofiles."
|
|
9
|
+
bmad-plus-sync,"Synchronize BMAD+ with upstream BMAD-METHOD. Check for updates, analyze changes via AI, and merge compatible updates. Uses VPS MCP Server for git operations."
|
|
10
|
+
bmad-plus-agent-maker,"Talk to Maker — your Agent Creator. Designs, builds, and packages new BMAD+ compatible agents from a natural language description. Outputs ready-to-integrate packages."
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
code: bmad-plus
|
|
2
|
+
name: "BMAD+ Streamlined AI-Driven Development"
|
|
3
|
+
description: "Augmented BMAD framework with multi-role agents, autopilot mode, and parallel execution"
|
|
4
|
+
default_selected: true
|
|
5
|
+
|
|
6
|
+
# Compatibility with upstream
|
|
7
|
+
extends: bmm
|
|
8
|
+
compatibility:
|
|
9
|
+
min_core_version: "6.0.0"
|
|
10
|
+
max_core_version: "7.0.0"
|
|
11
|
+
replaces_modules: ["bmm"]
|
|
12
|
+
keeps_core_skills: true
|
|
13
|
+
|
|
14
|
+
# ═══════════════════════════════════════════
|
|
15
|
+
# MODULAR PACK SYSTEM
|
|
16
|
+
# Core is always installed. Additional packs
|
|
17
|
+
# add specialized agents and skills.
|
|
18
|
+
# ═══════════════════════════════════════════
|
|
19
|
+
|
|
20
|
+
packs:
|
|
21
|
+
core:
|
|
22
|
+
name: "Core Development"
|
|
23
|
+
icon: "⚙️"
|
|
24
|
+
description: "4 multi-role agents for full development lifecycle"
|
|
25
|
+
required: true # Always installed
|
|
26
|
+
agents:
|
|
27
|
+
- agent-strategist
|
|
28
|
+
- agent-architect-dev
|
|
29
|
+
- agent-quality
|
|
30
|
+
- agent-orchestrator
|
|
31
|
+
skills:
|
|
32
|
+
- bmad-plus-autopilot
|
|
33
|
+
- bmad-plus-parallel
|
|
34
|
+
- bmad-plus-sync
|
|
35
|
+
data:
|
|
36
|
+
- role-triggers.yaml
|
|
37
|
+
|
|
38
|
+
osint:
|
|
39
|
+
name: "OSINT Intelligence"
|
|
40
|
+
icon: "🔍"
|
|
41
|
+
description: "Investigation, scraping, psychoprofiling (55+ Apify actors, 7 APIs)"
|
|
42
|
+
required: false
|
|
43
|
+
agents:
|
|
44
|
+
- agent-shadow
|
|
45
|
+
skills:
|
|
46
|
+
- bmad-osint-investigate
|
|
47
|
+
external_package: "osint-agent-package"
|
|
48
|
+
required_keys:
|
|
49
|
+
- APIFY_API_TOKEN
|
|
50
|
+
optional_keys:
|
|
51
|
+
- PERPLEXITY_API_KEY
|
|
52
|
+
- EXA_API_KEY
|
|
53
|
+
- TAVILY_API_KEY
|
|
54
|
+
- JINA_API_KEY
|
|
55
|
+
|
|
56
|
+
maker:
|
|
57
|
+
name: "Agent Creator"
|
|
58
|
+
icon: "🧬"
|
|
59
|
+
description: "Créer de nouveaux agents BMAD+ compatibles: design, build, package"
|
|
60
|
+
required: false
|
|
61
|
+
agents:
|
|
62
|
+
- agent-maker
|
|
63
|
+
skills: []
|
|
64
|
+
|
|
65
|
+
audit:
|
|
66
|
+
name: "Audit Sécurité"
|
|
67
|
+
icon: "🛡️"
|
|
68
|
+
description: "Scan vulnérabilités, audit code, compliance check (bientôt)"
|
|
69
|
+
required: false
|
|
70
|
+
status: coming_soon
|
|
71
|
+
agents:
|
|
72
|
+
- agent-shield
|
|
73
|
+
skills:
|
|
74
|
+
- bmad-audit-scan
|
|
75
|
+
- bmad-audit-report
|
|
76
|
+
|
|
77
|
+
install_packs:
|
|
78
|
+
prompt:
|
|
79
|
+
- "Quels packs additionnels souhaites-tu installer ?"
|
|
80
|
+
- "Core (Atlas, Forge, Sentinel, Nexus) est toujours inclus."
|
|
81
|
+
default: "none"
|
|
82
|
+
result: "{value}"
|
|
83
|
+
multi-select:
|
|
84
|
+
- value: "osint"
|
|
85
|
+
label: "🔍 OSINT — Agent Shadow (investigation, scraping, psychoprofil)"
|
|
86
|
+
- value: "maker"
|
|
87
|
+
label: "🧬 Agent Creator — Créer de nouveaux agents BMAD+ compatibles"
|
|
88
|
+
- value: "audit"
|
|
89
|
+
label: "🛡️ Audit Sécurité — Agent Shield (scan vulnérabilités) [bientôt]"
|
|
90
|
+
disabled: true
|
|
91
|
+
- value: "all"
|
|
92
|
+
label: "🤖 Tout installer"
|
|
93
|
+
- value: "none"
|
|
94
|
+
label: "Aucun — Core uniquement"
|
|
95
|
+
|
|
96
|
+
# Variables from Core Config inserted:
|
|
97
|
+
## user_name
|
|
98
|
+
## communication_language
|
|
99
|
+
## document_output_language
|
|
100
|
+
## output_folder
|
|
101
|
+
|
|
102
|
+
project_name:
|
|
103
|
+
prompt: "What is your project called?"
|
|
104
|
+
default: "{directory_name}"
|
|
105
|
+
result: "{value}"
|
|
106
|
+
|
|
107
|
+
user_skill_level:
|
|
108
|
+
prompt:
|
|
109
|
+
- "What is your development experience level?"
|
|
110
|
+
- "This affects how agents explain concepts in chat."
|
|
111
|
+
default: "expert"
|
|
112
|
+
result: "{value}"
|
|
113
|
+
single-select:
|
|
114
|
+
- value: "beginner"
|
|
115
|
+
label: "Beginner - Explain things clearly"
|
|
116
|
+
- value: "intermediate"
|
|
117
|
+
label: "Intermediate - Balance detail with speed"
|
|
118
|
+
- value: "expert"
|
|
119
|
+
label: "Expert - Be direct and technical"
|
|
120
|
+
|
|
121
|
+
execution_mode:
|
|
122
|
+
prompt:
|
|
123
|
+
- "How do you want to work with BMAD+ agents?"
|
|
124
|
+
- "Manual: you call agents when needed. Autopilot: orchestrator manages everything."
|
|
125
|
+
default: "manual"
|
|
126
|
+
result: "{value}"
|
|
127
|
+
single-select:
|
|
128
|
+
- value: "manual"
|
|
129
|
+
label: "Manual - Call agents yourself"
|
|
130
|
+
- value: "autopilot"
|
|
131
|
+
label: "Autopilot - Orchestrator manages the pipeline"
|
|
132
|
+
- value: "hybrid"
|
|
133
|
+
label: "Hybrid - Autopilot with frequent checkpoints"
|
|
134
|
+
|
|
135
|
+
auto_role_activation:
|
|
136
|
+
prompt: "Enable intelligent auto-activation of agent roles based on context?"
|
|
137
|
+
default: "true"
|
|
138
|
+
result: "{value}"
|
|
139
|
+
single-select:
|
|
140
|
+
- value: "true"
|
|
141
|
+
label: "Yes - Agents auto-switch roles when context demands it"
|
|
142
|
+
- value: "false"
|
|
143
|
+
label: "No - Only switch roles when I explicitly ask"
|
|
144
|
+
|
|
145
|
+
parallel_execution:
|
|
146
|
+
prompt: "Enable parallel multi-agent execution for independent tasks?"
|
|
147
|
+
default: "true"
|
|
148
|
+
result: "{value}"
|
|
149
|
+
single-select:
|
|
150
|
+
- value: "true"
|
|
151
|
+
label: "Yes - Run independent tasks in parallel"
|
|
152
|
+
- value: "false"
|
|
153
|
+
label: "No - Sequential execution only"
|
|
154
|
+
|
|
155
|
+
planning_artifacts:
|
|
156
|
+
prompt: "Where should planning artifacts be stored? (Discovery phase output)"
|
|
157
|
+
default: "{output_folder}/discovery"
|
|
158
|
+
result: "{project-root}/{value}"
|
|
159
|
+
|
|
160
|
+
implementation_artifacts:
|
|
161
|
+
prompt: "Where should implementation artifacts be stored? (Build & Ship phase output)"
|
|
162
|
+
default: "{output_folder}/build"
|
|
163
|
+
result: "{project-root}/{value}"
|
|
164
|
+
|
|
165
|
+
project_knowledge:
|
|
166
|
+
prompt: "Where should long-term project knowledge be stored?"
|
|
167
|
+
default: "docs"
|
|
168
|
+
result: "{project-root}/{value}"
|
|
169
|
+
|
|
170
|
+
# Directories to create during installation
|
|
171
|
+
directories:
|
|
172
|
+
- "{planning_artifacts}"
|
|
173
|
+
- "{implementation_artifacts}"
|
|
174
|
+
- "{project_knowledge}"
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-plus-autopilot
|
|
3
|
+
description: Launch autopilot mode — Nexus orchestrates the full pipeline from project idea to delivery with configurable checkpoints.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# BMAD+ Autopilot
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill enables full autopilot mode where the Orchestrator (Nexus) manages the entire development pipeline from a project idea to final delivery. The user provides a project concept, and Nexus sequences all agents through Discovery → Build → Ship phases with configurable checkpoints.
|
|
11
|
+
|
|
12
|
+
## How It Works
|
|
13
|
+
|
|
14
|
+
### Input
|
|
15
|
+
A project idea or brief description. Examples:
|
|
16
|
+
- "A SaaS for invoice management for SMBs"
|
|
17
|
+
- "Add a notification system to the existing app"
|
|
18
|
+
- "Refactor the authentication module to use OAuth2"
|
|
19
|
+
|
|
20
|
+
### Pipeline
|
|
21
|
+
|
|
22
|
+
The autopilot executes the following pipeline:
|
|
23
|
+
|
|
24
|
+
#### Phase 1: Discovery
|
|
25
|
+
1. **Strategist (Analyst role)** → Brainstorming & domain research
|
|
26
|
+
2. **Strategist (PM role)** → Product brief
|
|
27
|
+
3. **Strategist (PM role)** → PRD creation
|
|
28
|
+
4. **Quality (UX role)** → UX design spec
|
|
29
|
+
5. 🔴 **CHECKPOINT** → User reviews PRD + UX spec
|
|
30
|
+
|
|
31
|
+
#### Phase 2: Build
|
|
32
|
+
6. **Architect-Dev (Architect role)** → Architecture document
|
|
33
|
+
7. 🔴 **CHECKPOINT** → User reviews architecture
|
|
34
|
+
8. **Orchestrator (SM role)** → Epics & stories breakdown
|
|
35
|
+
9. **Orchestrator (SM role)** → Sprint planning
|
|
36
|
+
10. **For each story (parallelizable if independent):**
|
|
37
|
+
- **Architect-Dev (Dev role)** → Implement story
|
|
38
|
+
- **Quality (QA role)** → Test story
|
|
39
|
+
- If tests fail → loop back to Dev (max 3 retries)
|
|
40
|
+
- 🟡 **NOTIFY** → Story completion status
|
|
41
|
+
|
|
42
|
+
#### Phase 3: Ship
|
|
43
|
+
11. **Quality (QA role)** → Full code review
|
|
44
|
+
12. **Quality (UX role)** → UX review
|
|
45
|
+
13. **Architect-Dev (Tech Writer role)** → Documentation
|
|
46
|
+
14. **Orchestrator (SM role)** → Retrospective
|
|
47
|
+
15. 🔴 **CHECKPOINT** → User reviews final deliverable
|
|
48
|
+
|
|
49
|
+
### Checkpoint Behavior
|
|
50
|
+
|
|
51
|
+
Checkpoints are configurable via `module.yaml`:
|
|
52
|
+
|
|
53
|
+
- **require_approval** (🔴 STOP): Pause execution, send WhatsApp notification, wait for user approval.
|
|
54
|
+
- **notify_only** (🟡 INFO): Send notification, continue unless user intervenes.
|
|
55
|
+
- **auto** (🟢 AUTO): Continue automatically. Log for audit trail.
|
|
56
|
+
|
|
57
|
+
### State Management
|
|
58
|
+
|
|
59
|
+
Autopilot state is persisted in `.bmad-plus/orchestrator-state.yaml`:
|
|
60
|
+
|
|
61
|
+
```yaml
|
|
62
|
+
pipeline:
|
|
63
|
+
project: "Invoice SaaS"
|
|
64
|
+
started: "2026-03-17T12:00:00Z"
|
|
65
|
+
current_phase: build
|
|
66
|
+
current_step: 10
|
|
67
|
+
status: running
|
|
68
|
+
|
|
69
|
+
completed_steps:
|
|
70
|
+
- step: 1
|
|
71
|
+
agent: strategist
|
|
72
|
+
role: analyst
|
|
73
|
+
output: brainstorming-report.md
|
|
74
|
+
completed: "2026-03-17T12:05:00Z"
|
|
75
|
+
# ...
|
|
76
|
+
|
|
77
|
+
parallel_tasks:
|
|
78
|
+
- story: auth-api
|
|
79
|
+
status: completed
|
|
80
|
+
- story: dashboard
|
|
81
|
+
status: running
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
This enables `bmad-plus-autopilot --resume` to pick up where it left off.
|
|
85
|
+
|
|
86
|
+
## Invocation
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
bmad-plus-autopilot
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Or via the Orchestrator capabilities menu: `AP`
|
|
93
|
+
|
|
94
|
+
## Error Handling
|
|
95
|
+
|
|
96
|
+
- **Test failure**: Auto-retry up to 3 times, then escalate to user
|
|
97
|
+
- **Agent error**: Log error, notify user, skip to next step if non-critical
|
|
98
|
+
- **Conflict in parallel execution**: Pause conflicting agent, resolve, restart
|
|
99
|
+
- **User timeout at checkpoint**: Send reminder after 24h, pause pipeline
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-plus-parallel
|
|
3
|
+
description: Enable parallel multi-agent execution for independent tasks. The orchestrator detects and supervises parallelizable work.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# BMAD+ Parallel Execution
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill enables the Orchestrator (Nexus) to detect independent tasks and execute them in parallel using multiple agent instances. The Parallel Supervisor monitors all running agents, handles conflicts, and manages workload reallocation.
|
|
11
|
+
|
|
12
|
+
## Parallelization Detection
|
|
13
|
+
|
|
14
|
+
The Parallel Supervisor analyzes the task queue and identifies parallelizable work based on these rules:
|
|
15
|
+
|
|
16
|
+
### Parallelizable ✅
|
|
17
|
+
- Stories with no shared file dependencies
|
|
18
|
+
- Independent research tasks (market + technical)
|
|
19
|
+
- Tests running while documentation is being written
|
|
20
|
+
- Changes to separate modules/packages
|
|
21
|
+
|
|
22
|
+
### Sequential Only 🚫
|
|
23
|
+
- Stories that modify the same files
|
|
24
|
+
- Tasks where output B depends on output A
|
|
25
|
+
- Architecture decisions before implementation
|
|
26
|
+
- Code review after implementation
|
|
27
|
+
|
|
28
|
+
## Execution Model
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Orchestrator (Parallel Supervisor role)
|
|
32
|
+
├── Detects 3 independent stories
|
|
33
|
+
├── Launches Agent Instance 1 → Story A
|
|
34
|
+
├── Launches Agent Instance 2 → Story B
|
|
35
|
+
├── Launches Agent Instance 3 → Story C
|
|
36
|
+
├── Monitors all instances via orchestrator-state.yaml
|
|
37
|
+
├── Story A completes → launches QA for Story A
|
|
38
|
+
├── Story C fails → pauses, analyzes, restarts with fix
|
|
39
|
+
├── Story B completes → launches QA for Story B
|
|
40
|
+
└── All complete → sync point, proceed to next phase
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Supervision Actions
|
|
44
|
+
|
|
45
|
+
| Action | Trigger | Behavior |
|
|
46
|
+
|--------|---------|----------|
|
|
47
|
+
| **Launch** | Independent tasks detected | Start parallel agent sessions |
|
|
48
|
+
| **Monitor** | Continuous | Track progress via state file |
|
|
49
|
+
| **Pause** | Conflict detected | Stop conflicting agent |
|
|
50
|
+
| **Restart** | After conflict resolution | Resume with merged context |
|
|
51
|
+
| **Reallocate** | Agent finishes early | Assign next queued task |
|
|
52
|
+
| **Escalate** | 3 consecutive failures | Notify human, pause pipeline |
|
|
53
|
+
|
|
54
|
+
## State File
|
|
55
|
+
|
|
56
|
+
All parallel execution state is tracked in `.bmad-plus/orchestrator-state.yaml`:
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
parallel_tasks:
|
|
60
|
+
- id: task-001
|
|
61
|
+
agent: architect-dev
|
|
62
|
+
role: dev
|
|
63
|
+
story: story-auth-api.md
|
|
64
|
+
status: completed
|
|
65
|
+
started: "2026-03-17T12:00:00Z"
|
|
66
|
+
completed: "2026-03-17T12:15:00Z"
|
|
67
|
+
output_files: ["src/auth/api.js", "src/auth/api.test.js"]
|
|
68
|
+
|
|
69
|
+
- id: task-002
|
|
70
|
+
agent: architect-dev
|
|
71
|
+
role: dev
|
|
72
|
+
story: story-dashboard.md
|
|
73
|
+
status: running
|
|
74
|
+
started: "2026-03-17T12:00:00Z"
|
|
75
|
+
|
|
76
|
+
- id: task-003
|
|
77
|
+
agent: architect-dev
|
|
78
|
+
role: dev
|
|
79
|
+
story: story-invoices.md
|
|
80
|
+
status: restarted
|
|
81
|
+
attempt: 2
|
|
82
|
+
restart_reason: "Conflict with task-001 on shared model file"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Invocation
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
bmad-plus-parallel
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Or via the Orchestrator capabilities menu: `PL`
|
|
92
|
+
|
|
93
|
+
This skill is automatically invoked by the Autopilot when `{parallel_execution}` is enabled and independent tasks are detected.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-plus-sync
|
|
3
|
+
description: Synchronize BMAD+ with upstream BMAD-METHOD. Check for updates, analyze changes, and merge compatible updates.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# BMAD+ Upstream Sync
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill manages synchronization between your BMAD+ installation and the upstream BMAD-METHOD repository. It leverages the Audit 360° MCP Server (deployed on your VPS) for git operations, and the Gemini API for intelligent diff analysis.
|
|
11
|
+
|
|
12
|
+
## Capabilities
|
|
13
|
+
|
|
14
|
+
### Check for Updates
|
|
15
|
+
```
|
|
16
|
+
bmad-plus-sync check
|
|
17
|
+
```
|
|
18
|
+
Fetches upstream, compares with last sync, and reports:
|
|
19
|
+
- 🟢 Compatible changes — safe to merge
|
|
20
|
+
- 🟡 Review needed — may affect custom agents
|
|
21
|
+
- 🔴 Breaking — requires manual intervention
|
|
22
|
+
|
|
23
|
+
### Apply Compatible Updates
|
|
24
|
+
```
|
|
25
|
+
bmad-plus-sync apply
|
|
26
|
+
```
|
|
27
|
+
Auto-merges compatible upstream changes into BMAD+ core (leaves `src/bmad-plus/` untouched).
|
|
28
|
+
|
|
29
|
+
### Full Report
|
|
30
|
+
```
|
|
31
|
+
bmad-plus-sync report
|
|
32
|
+
```
|
|
33
|
+
Generates a detailed report of all upstream changes since last sync, with AI analysis.
|
|
34
|
+
|
|
35
|
+
## Architecture
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
bmad-plus-sync
|
|
39
|
+
├─ Uses MCP Server (VPS) for:
|
|
40
|
+
│ ├─ git_clone_repo — clone upstream on VPS
|
|
41
|
+
│ ├─ git_pull — fetch latest changes
|
|
42
|
+
│ ├─ git_diff — compare versions
|
|
43
|
+
│ ├─ git_log — commit history
|
|
44
|
+
│ ├─ github_create_pr — auto-PR for compatible changes
|
|
45
|
+
│ └─ github_push_files — update BMAD+ repo
|
|
46
|
+
│
|
|
47
|
+
├─ Uses Gemini API for:
|
|
48
|
+
│ └─ AI-powered change classification
|
|
49
|
+
│
|
|
50
|
+
└─ Notifies via:
|
|
51
|
+
└─ WhatsApp (Evolution API) or Email
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Protected Paths
|
|
55
|
+
|
|
56
|
+
The sync NEVER modifies these BMAD+ custom paths:
|
|
57
|
+
- `src/bmad-plus/` — custom module (agents, skills, data)
|
|
58
|
+
- `monitor/` — monitoring system
|
|
59
|
+
- `mcp-server/` — MCP server
|
|
60
|
+
- `osint-agent-package/` — OSINT package
|
|
61
|
+
|
|
62
|
+
## Invocation
|
|
63
|
+
|
|
64
|
+
Invoke via the Orchestrator (Nexus) or directly:
|
|
65
|
+
```
|
|
66
|
+
bmad-plus-sync
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
This skill is also called automatically by the VPS weekly cron job.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* BMAD+ CLI — npx execution wrapper
|
|
5
|
+
* Ensures proper execution when run via npx from npm registry
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { execSync } = require('node:child_process');
|
|
9
|
+
const path = require('node:path');
|
|
10
|
+
const fs = require('node:fs');
|
|
11
|
+
|
|
12
|
+
const isNpxExecution = __dirname.includes('_npx') || __dirname.includes('.npm');
|
|
13
|
+
|
|
14
|
+
if (isNpxExecution) {
|
|
15
|
+
const args = process.argv.slice(2);
|
|
16
|
+
const cliPath = path.join(__dirname, 'cli', 'bmad-plus-cli.js');
|
|
17
|
+
|
|
18
|
+
if (!fs.existsSync(cliPath)) {
|
|
19
|
+
console.error('Error: Could not find bmad-plus-cli.js at', cliPath);
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
try {
|
|
24
|
+
execSync(`node "${cliPath}" ${args.join(' ')}`, {
|
|
25
|
+
stdio: 'inherit',
|
|
26
|
+
cwd: process.cwd(),
|
|
27
|
+
});
|
|
28
|
+
} catch (error) {
|
|
29
|
+
process.exit(error.status || 1);
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
require('./cli/bmad-plus-cli.js');
|
|
33
|
+
}
|