bmad-plus 0.9.0 → 0.9.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/CHANGELOG.md +36 -0
- package/LICENSE +21 -21
- package/README.md +106 -86
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -266
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +30 -3
- package/readme-international/README.de.md +8 -3
- package/readme-international/README.es.md +8 -3
- package/readme-international/README.fr.md +8 -3
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/packs/pack-seo/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/SKILL.md +82 -82
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +168 -168
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +190 -190
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +86 -86
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +240 -240
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +122 -122
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +210 -210
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +139 -139
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +156 -156
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +72 -72
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +207 -207
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +116 -116
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +261 -261
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +191 -191
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +356 -356
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +499 -499
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +236 -236
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +162 -162
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +228 -228
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +255 -255
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +153 -153
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/cli/bmad-plus-cli.js +5 -3
- package/tools/cli/commands/autoconfig.js +23 -59
- package/tools/cli/commands/doctor.js +14 -0
- package/tools/cli/commands/install.js +29 -128
- package/tools/cli/commands/memory.js +1 -0
- package/tools/cli/commands/scan.js +44 -42
- package/tools/cli/commands/uninstall.js +10 -5
- package/tools/cli/commands/update.js +21 -3
- package/tools/cli/lib/ide-config.js +259 -0
- package/tools/cli/lib/memory-init.js +0 -1
- package/tools/cli/lib/pack-copy.js +84 -84
- package/tools/cli/lib/packs.js +16 -8
- package/tools/cli/lib/stack-detect.js +102 -0
- package/tools/cli/lib/validate.js +50 -0
|
@@ -1,99 +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
|
|
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
|
|
@@ -1,93 +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.
|
|
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.
|
|
@@ -1,69 +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.
|
|
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.
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const { program } = require('commander');
|
|
9
|
-
const path = require('node:path');
|
|
10
9
|
const packageJson = require('../../package.json');
|
|
11
10
|
|
|
12
11
|
// Fix stdin for Windows
|
|
@@ -17,7 +16,9 @@ if (process.stdin.isTTY) {
|
|
|
17
16
|
if (process.platform === 'win32') {
|
|
18
17
|
process.stdin.on('error', () => {});
|
|
19
18
|
}
|
|
20
|
-
} catch {
|
|
19
|
+
} catch {
|
|
20
|
+
// stdin may be unavailable (piped/detached); safe to ignore.
|
|
21
|
+
}
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
// Register commands
|
|
@@ -30,7 +31,8 @@ const memory = require('./commands/memory');
|
|
|
30
31
|
|
|
31
32
|
program
|
|
32
33
|
.version(packageJson.version)
|
|
33
|
-
.description('BMAD+ — Augmented AI-Driven Development Framework')
|
|
34
|
+
.description('BMAD+ — Augmented AI-Driven Development Framework')
|
|
35
|
+
.option('-l, --lang <code>', 'Language code: en, fr, es, de, pt-br, ru, zh, he, ja, it');
|
|
34
36
|
|
|
35
37
|
// Install command
|
|
36
38
|
const installCmd = program
|
|
@@ -8,69 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
const path = require('node:path');
|
|
10
10
|
const fs = require('node:fs');
|
|
11
|
-
const os = require('node:os');
|
|
12
|
-
const fsExtra = require('fs-extra');
|
|
13
11
|
const clack = require('@clack/prompts');
|
|
14
12
|
const pc = require('picocolors');
|
|
13
|
+
const { detectStack } = require('../lib/stack-detect');
|
|
14
|
+
const { IDE_CONFIGS } = require('../lib/ide-config');
|
|
15
15
|
|
|
16
16
|
// ── Project Analysis Engine ──
|
|
17
17
|
|
|
18
|
-
function detectStack(dir) {
|
|
19
|
-
const result = {
|
|
20
|
-
language: null,
|
|
21
|
-
framework: null,
|
|
22
|
-
runtime: null,
|
|
23
|
-
packageManager: null,
|
|
24
|
-
hasTypeScript: false,
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// Package.json analysis
|
|
28
|
-
const pkgPath = path.join(dir, 'package.json');
|
|
29
|
-
if (fs.existsSync(pkgPath)) {
|
|
30
|
-
try {
|
|
31
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
32
|
-
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
33
|
-
result.runtime = 'Node.js';
|
|
34
|
-
result.language = deps['typescript'] || fs.existsSync(path.join(dir, 'tsconfig.json')) ? 'TypeScript' : 'JavaScript';
|
|
35
|
-
result.hasTypeScript = result.language === 'TypeScript';
|
|
36
|
-
|
|
37
|
-
// Framework detection
|
|
38
|
-
if (deps['next']) result.framework = 'Next.js';
|
|
39
|
-
else if (deps['nuxt']) result.framework = 'Nuxt';
|
|
40
|
-
else if (deps['@angular/core']) result.framework = 'Angular';
|
|
41
|
-
else if (deps['react']) result.framework = 'React';
|
|
42
|
-
else if (deps['vue']) result.framework = 'Vue.js';
|
|
43
|
-
else if (deps['svelte']) result.framework = 'Svelte';
|
|
44
|
-
else if (deps['express']) result.framework = 'Express';
|
|
45
|
-
else if (deps['fastify']) result.framework = 'Fastify';
|
|
46
|
-
else if (deps['hono']) result.framework = 'Hono';
|
|
47
|
-
else if (deps['electron']) result.framework = 'Electron';
|
|
48
|
-
else if (deps['tauri']) result.framework = 'Tauri';
|
|
49
|
-
else if (deps['react-native']) result.framework = 'React Native';
|
|
50
|
-
|
|
51
|
-
// Package manager
|
|
52
|
-
if (fs.existsSync(path.join(dir, 'pnpm-lock.yaml'))) result.packageManager = 'pnpm';
|
|
53
|
-
else if (fs.existsSync(path.join(dir, 'yarn.lock'))) result.packageManager = 'yarn';
|
|
54
|
-
else if (fs.existsSync(path.join(dir, 'bun.lockb'))) result.packageManager = 'bun';
|
|
55
|
-
else result.packageManager = 'npm';
|
|
56
|
-
} catch (e) {
|
|
57
|
-
console.warn('autoconfig: Failed to parse package.json in detectStack', e.message);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// Other languages
|
|
62
|
-
if (!result.runtime) {
|
|
63
|
-
if (fs.existsSync(path.join(dir, 'Cargo.toml'))) { result.language = 'Rust'; result.runtime = 'Rust'; }
|
|
64
|
-
else if (fs.existsSync(path.join(dir, 'pyproject.toml')) || fs.existsSync(path.join(dir, 'requirements.txt'))) { result.language = 'Python'; result.runtime = 'Python'; }
|
|
65
|
-
else if (fs.existsSync(path.join(dir, 'go.mod'))) { result.language = 'Go'; result.runtime = 'Go'; }
|
|
66
|
-
else if (fs.existsSync(path.join(dir, 'composer.json'))) { result.language = 'PHP'; result.runtime = 'PHP'; }
|
|
67
|
-
else if (fs.existsSync(path.join(dir, 'Gemfile'))) { result.language = 'Ruby'; result.runtime = 'Ruby'; }
|
|
68
|
-
else if (fs.existsSync(path.join(dir, 'pom.xml')) || fs.existsSync(path.join(dir, 'build.gradle'))) { result.language = 'Java'; result.runtime = 'JVM'; }
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
18
|
function analyzeStructure(dir) {
|
|
75
19
|
const structure = {
|
|
76
20
|
hasSrc: false,
|
|
@@ -247,6 +191,7 @@ module.exports = {
|
|
|
247
191
|
description: 'Smart project bootstrap — auto-detect, install, and configure',
|
|
248
192
|
options: [
|
|
249
193
|
['-d, --directory <path>', 'Project directory (default: current directory)'],
|
|
194
|
+
['-l, --lang <code>', 'Language code: en, fr, es, de, pt-br, ru, zh, he, ja, it'],
|
|
250
195
|
['-y, --yes', 'Accept all recommendations without prompting'],
|
|
251
196
|
],
|
|
252
197
|
action: async (options) => {
|
|
@@ -338,7 +283,23 @@ module.exports = {
|
|
|
338
283
|
|
|
339
284
|
// Use the install module directly
|
|
340
285
|
const installModule = require('./install');
|
|
341
|
-
|
|
286
|
+
|
|
287
|
+
// NODE-06: only generate IDE configs for IDEs this project actually uses.
|
|
288
|
+
// - If IDE config files already exist, preserve them ('none').
|
|
289
|
+
// - Otherwise detect IDE markers and pass only those; never let install's
|
|
290
|
+
// --yes fallback write ALL three configs into a project that uses none.
|
|
291
|
+
let toolsArg;
|
|
292
|
+
if (structure.hasIdeConfigs.length > 0) {
|
|
293
|
+
toolsArg = 'none';
|
|
294
|
+
} else {
|
|
295
|
+
const detectedIDEs = [];
|
|
296
|
+
for (const [id, ide] of Object.entries(IDE_CONFIGS)) {
|
|
297
|
+
if (ide.detect.some(marker => fs.existsSync(path.join(projectDir, marker)))) {
|
|
298
|
+
detectedIDEs.push(id);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
toolsArg = detectedIDEs.length > 0 ? detectedIDEs.join(',') : 'none';
|
|
302
|
+
}
|
|
342
303
|
|
|
343
304
|
// Build install args
|
|
344
305
|
try {
|
|
@@ -347,6 +308,7 @@ module.exports = {
|
|
|
347
308
|
packs: packs.join(','),
|
|
348
309
|
yes: true,
|
|
349
310
|
tools: toolsArg,
|
|
311
|
+
lang: options.lang,
|
|
350
312
|
});
|
|
351
313
|
} catch (e) {
|
|
352
314
|
clack.log.error(`Autoconfig install failed: ${e.message}`);
|
|
@@ -448,6 +410,7 @@ module.exports = {
|
|
|
448
410
|
directory: projectDir,
|
|
449
411
|
packs: packs.join(','),
|
|
450
412
|
yes: true,
|
|
413
|
+
lang: options.lang,
|
|
451
414
|
});
|
|
452
415
|
} catch (e) {
|
|
453
416
|
clack.log.error(`Autoconfig install failed: ${e.message}`);
|
|
@@ -504,5 +467,6 @@ module.exports = {
|
|
|
504
467
|
recommendPacks,
|
|
505
468
|
generateRecommendations,
|
|
506
469
|
getProjectName,
|
|
470
|
+
newProjectWizard,
|
|
507
471
|
},
|
|
508
472
|
};
|