bmad-plus 0.12.0 → 0.12.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.
Files changed (160) hide show
  1. package/CHANGELOG.md +612 -554
  2. package/README.md +557 -577
  3. package/osint-agent-package/agents/osint-investigator.md +12 -0
  4. package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +491 -482
  5. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +126 -126
  6. package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/lawful-basis-record.md +48 -48
  7. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
  8. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/gdpr-osint.md +48 -48
  9. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
  13. package/package.json +104 -91
  14. package/readme-international/README.de.md +596 -589
  15. package/readme-international/README.es.md +613 -606
  16. package/readme-international/README.fr.md +611 -604
  17. package/src/bmad-plus/agents/agent-shadow/SKILL.md +18 -0
  18. package/src/bmad-plus/data/role-triggers.yaml +52 -0
  19. package/src/bmad-plus/module.yaml +283 -283
  20. package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -325
  21. package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -55
  22. package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -71
  23. package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -51
  24. package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
  77. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
  78. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
  79. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
  80. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
  81. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
  82. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
  83. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
  84. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
  85. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
  86. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
  87. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
  88. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +14 -0
  89. package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -171
  90. package/src/bmad-plus/packs/pack-seo/checklist.md +140 -140
  91. package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -320
  92. package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -187
  93. package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -87
  94. package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -123
  95. package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -167
  96. package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -153
  97. package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -133
  98. package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -91
  99. package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -356
  100. package/src/bmad-plus/packs/pack-seo/requirements.txt +17 -0
  101. package/src/bmad-plus/packs/pack-seo/scripts/seo_apis.py +456 -0
  102. package/src/bmad-plus/packs/pack-seo/scripts/seo_crawl.py +359 -0
  103. package/src/bmad-plus/packs/pack-seo/scripts/seo_fetch.py +304 -0
  104. package/src/bmad-plus/packs/pack-seo/scripts/seo_parse.py +255 -0
  105. package/src/bmad-plus/packs/pack-seo/scripts/seo_report.py +410 -0
  106. package/src/bmad-plus/packs/pack-seo/scripts/seo_screenshot.py +202 -0
  107. package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -294
  108. package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -241
  109. package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -171
  110. package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -241
  111. package/src/bmad-plus/packs/pack-shield/README.md +6 -6
  112. package/src/bmad-plus/packs/pack-shield/SKILL.md +2 -2
  113. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +11 -11
  114. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +11 -11
  115. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +11 -11
  116. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +11 -11
  117. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +11 -11
  118. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +11 -11
  119. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +11 -11
  120. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +11 -11
  121. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +11 -11
  122. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +11 -11
  123. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +11 -11
  124. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +11 -11
  125. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +11 -11
  126. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +11 -11
  127. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +11 -11
  128. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +11 -11
  129. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +11 -11
  130. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +11 -11
  131. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +11 -11
  132. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +11 -11
  133. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +11 -11
  134. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +11 -11
  135. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +1 -1
  136. package/tools/build/check-counts.js +628 -0
  137. package/tools/build/generated-adapters/.codex/AGENTS.md +1 -1
  138. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +1 -1
  139. package/tools/build/generated-adapters/.opencode/AGENTS.md +1 -1
  140. package/tools/build/generated-adapters/AGENTS.md +1 -1
  141. package/tools/build/generated-adapters/CLAUDE.md +1 -1
  142. package/tools/build/generated-adapters/CONVENTIONS.md +1 -1
  143. package/tools/build/generated-adapters/GEMINI.md +1 -1
  144. package/tools/cli/commands/autoconfig.js +470 -472
  145. package/tools/cli/commands/doctor.js +233 -233
  146. package/tools/cli/commands/install.js +598 -495
  147. package/tools/cli/commands/memory-journal-cmd.js +311 -311
  148. package/tools/cli/commands/memory.js +195 -195
  149. package/tools/cli/commands/scan.js +348 -364
  150. package/tools/cli/commands/uninstall.js +101 -101
  151. package/tools/cli/commands/update.js +134 -134
  152. package/tools/cli/i18n.js +845 -845
  153. package/tools/cli/lib/README-memory-journal.md +125 -125
  154. package/tools/cli/lib/ide-config.js +267 -259
  155. package/tools/cli/lib/memory-init.js +204 -113
  156. package/tools/cli/lib/packs.js +209 -209
  157. package/tools/cli/lib/path-hash.js +39 -0
  158. package/tools/cli/lib/python-provision.js +508 -508
  159. package/tools/cli/lib/stack-detect.js +102 -102
  160. package/tools/cli/lib/validate.js +50 -50
package/CHANGELOG.md CHANGED
@@ -1,554 +1,612 @@
1
- # Changelog
2
-
3
- All notable changes to BMAD+ will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [0.12.0] — 2026-07-02
9
-
10
- ### Added — Load-bearing activation (north-star Pillars 3, 4, 5)
11
- - **Pillar 4 executable:** `evals/_runner/providers.py` — a provider-neutral model gateway (anthropic / openai / generic-HTTP adapters selected by `BMAD_EVAL_PROVIDER`, default deterministic **mock** so `--self-check` and CI never hit the network). `run_agent(spec, model)` now routes through it; the eval harness genuinely runs (3/3 specs pass).
12
- - **Pillar 3 portable via MCP:** `mcp-server/tools/memory_tools.py` exposes `memory.recall` / `memory.write` / `memory.reinforce` as MCP tools that shell out to the same `bmad mem --json` CLI (single source of truth) MCP-capable CLIs and the CLI can never diverge. Registered additively in `server.py`.
13
- - **Pillar 5 adopt mode:** `tools/build/generate-adapters.js --adopt` can generate the REAL repo-root adapters + AGENTS.md spine from the registry; hand-authored instructions live in `tools/build/adapters.config.js` and are injected so no tool loses content. `.gitattributes` pins LF on the adopted files (avoids the CRLF drift class). Root adoption is opt-in and NOT applied in this release.
14
-
15
- ### Fixed
16
- - Adapter `--check` is now EOL-insensitive; `.gitattributes` pins LF on `tools/build/**` + registry so a Windows clone doesn't false-positive drift. Verified from a **fresh clone**: `npm ci` + `npm test` (333/333) + both drift-checks green.
17
-
18
- ### Verified
19
- - `npm test` **333 passed / 16 suites**; `build:check` + `generate-adapters --check` no drift; `run.py --self-check` 3/3; edited Python parses.
20
-
21
- ## [0.11.0] — 2026-07-02
22
-
23
- ### Added Karpathy loop CLI + multi-CLI adapters (north-star Pillars 3 & 5)
24
- - **`bmad mem` command (Pillar 3):** `recall <query>` / `write` / `reinforce` expose the memory-journal (append/recall + Elo reward + governance guard) from the CLI, so the learning loop is usable from any driving tool. `tests/unit/memory-journal-cmd.test.js`.
25
- - **Multi-CLI adapter generator (Pillar 5):** `tools/build/generate-adapters.js` generates the per-CLI wrappers (CLAUDE.md, GEMINI.md, `.codex/AGENTS.md`, `.cursor/rules`, `.opencode/AGENTS.md`, CONVENTIONS.md) from `registry.yaml` — counts/names computed, never typed — with a `--check` drift gate. Generated previews live under `tools/build/generated-adapters/`. `tests/unit/generate-adapters.test.js`.
26
-
27
- ### Changed Compliance (govern, don't cut)
28
- - **CG-02 OSINT pack governed:** added a mandatory **Phase −1 Lawful Basis Gate** to the OSINT skill (lawful basis Art. 6, Art. 9 condition for psychoprofiles, purpose, retention, DSAR) + a lawful-basis/ROPA record template + a GDPR-OSINT reference + a governance block in the dossier template. The capability is kept in full; lawful use is now explicit and auditable. See `audit/2026-07-01/CG-RESOLUTION.md`.
29
- - **CG-01 — trademark:** `bmad-plus` name kept by owner decision.
30
-
31
- ### Verified
32
- - `npm test` **325 passed / 16 suites**; `npm run build:check` no drift; `generate-adapters.js --check` no drift.
33
-
34
- ## [0.10.0] — 2026-07-02
35
-
36
- ### Added Platform-spine foundations (north-star Phase 2)
37
- Built as **new files only** (no existing core file modified); test suite grew from 176/10 to **258 passed / 13 suites**. Cut nothing; multi-tool/multi-model preserved.
38
-
39
- - **Registry-as-SSOT (Pillar 1) — ACTIVE:** `registry.yaml` (repo root) is now the single source of truth for all 9 packs. `tools/cli/lib/packs.js` is **generated from it** (`npm run build`), no longer hand-maintained. `tools/build/generate.js` provides the generator + `npm run build:check` drift gate; `tests/unit/generate.test.js` (14 tests) proves the generated `PACKS`/`PACK_ORDER`/`EXPECTED_AGENTS` strictly equal the shipped module. This kills the 5-place pack-registry drift at its root.
40
- - **Python provisioning (Pillar 2):** `tools/cli/lib/python-provision.js` — detect python≥3.11, pick uv/pipx/venv, create isolated env, install requirements, verify entry (shell-safe, testable).
41
- - **Karpathy learning layer (Pillar 3):** `tools/cli/lib/memory-journal.js` `journal.ndjson` append/recall, Elo/decayed reward update (eval+acceptance+ci), governance guard (promotions PROPOSED, never auto-applied).
42
- - **Eval harness (Pillar 4 — the moat):** `evals/` schema + Forge/Shield/Sentinel golden specs + fixtures + `run.py --self-check`, provider-neutral model backend seam.
43
- - **CI:** `.github/workflows/platform.yml` — registry drift-check + eval self-check, blocking, SHA-pinned.
44
-
45
- Pillar 1 is wired (packs.js generated + `npm run build`/`build:check`). Remaining integration (provisioning called from install, memory exposed via MCP, generated multi-CLI adapters) lands next as its own tested commit — see `audit/2026-07-01/PHASE-2-STATUS.md`.
46
-
47
- ## [0.9.2] 2026-07-01
48
-
49
- ### SecurityPhase 1 remediation (exploitable findings)
50
- - **RCE closed** (`ci_cd.py`): command allowlist now uses exact-token matching (shlex.split) + realpath/commonpath containment instead of prefix/`startswith`defeats argument injection (`make -f attacker.mk`) and sibling-path bypass; `shell=False` throughout; dead Makefile fallback removed.
51
- - **SSRF hardened** (`seo_fetch.py`): fails **closed** on DNS error, blocks private/loopback/reserved/link-local IPs (incl. IPv4-mapped IPv6), re-validates every redirect hop manually.
52
- - **Stored + DOM XSS closed** (`seo_report.py`, `dashboard.html`): all audited/external values HTML-escaped in the report; dashboard renders via `textContent`/`createElement` + `addEventListener` instead of `innerHTML`/inline `onclick`.
53
- - **MCP server** (`server.py`): constant-time `hmac.compare_digest` for token + dashboard password; app assembled in module-level `create_app()` so `uvicorn server:app` runs with auth intact; dead `verify_mcp_token` removed; rate-limit map eviction.
54
- - **XXE**: `seo_crawl.py` hard-fails without `defusedxml` (no unsafe stdlib fallback).
55
-
56
- ### Supply chain
57
- - `requests>=2.32.4` (CVE-2024-35195) across all requirements files.
58
- - `PyPDF2`→`pypdf==4.3.1` (dep + consumer import in `gamma_report.py`).
59
- - `defusedxml==0.7.1` added; Dockerfile non-root user + tag pin; docker-compose off `:latest`; GitHub Actions pinned to commit SHAs; Dependabot covers pip + docker + github-actions.
60
-
61
- ### Fixedrobustness
62
- - Non-destructive install (backs up existing CLAUDE/GEMINI/AGENTS.md); marker-based uninstall; IDE-scoped autoconfig; `doctor` no longer emits false "Missing agent" warnings; guarded manifest `JSON.parse`; Windows-safe project-path hashing; hardened `validateUserName`; lazy RAG model load; async gamma polling; repo-URL validation; `git_ops` path confinement.
63
-
64
- ### Notes
65
- - Documented residual follow-ups (SSRF crawler-class redirect hops, DNS-rebinding IP pinning, Dockerfile digest pin) are tracked in `audit/2026-07-01/PHASE-1-STATUS.md`.
66
- - Verified: `npm test` 176/176, `npm run lint` 0 errors, all edited Python parses; SEO report smoke-tested (renders + XSS escaped).
67
-
68
- ## [0.9.1] 2026-07-01
69
-
70
- ### FixedCredibility (honest status)
71
- - **Real CI on push/PR** (`.github/workflows/ci.yml`): lint + test + npm audit, all blocking. Previously the only workflow ran at release-tag and swallowed failures with `|| echo`.
72
- - **Test harness repaired**: mock ESM `@clack/prompts` so Jest loads the autoconfig suite — `npm test` now genuinely passes (176 tests, 10/10 suites). It did not before.
73
- - **Lint restored**: added flat `eslint.config.js` (ESLint v9); removed legacy `.eslintrc.json` + deprecated `--ext`. `npm run lint` runs with 0 errors.
74
- - **Lockfile resynced** to the correct version with full devDependency tree `npm ci` works from a clean clone.
75
- - Publish workflow no longer masks `npm publish` failures; npm audit is blocking.
76
- - Removed hardcoded VPS IP from `mcp-server/server.py` docstring.
77
-
78
- ### DocumentationHonesty correction
79
- - Removed the unverifiable **"143 tests / 0 vulnerabilities / Score A+"** badges from README and README-DIST.
80
- - Fixed the corrupted version-history table (0.9.0/0.8.0 were duplicated).
81
- - **Note on 0.9.0 below:** the "64/64 fixed, score A+" and "auth on all endpoints" claims in the 0.9.0 entry were **overstated**. A 2026-07-01 adversarial re-audit (see `audit/2026-07-01/`) found 102 open findings and re-graded the project **C+**. The MCP token *is* checked by middleware on `/sse` and `/messages/`, but the prior "all endpoints" phrasing and the A+ score were not accurate. This release begins the honest remediation.
82
-
83
- ## [0.9.0] — 2026-06-24
84
-
85
- ### Security
86
- - Full audit remediation: 64/64 findings fixed, score C- → A+
87
- - P0: Command injection eliminated (execSync → spawnSync in CLI entry point)
88
- - P0: MCP Server authentication added (token-validated middleware on all endpoints)
89
- - CI/CD hardened: PAT removed, force-push eliminated, npm audit gate blocking
90
- - MCP allowlist hardened, path traversal protection, URL hostname validation
91
- - VPS IP env var, TLS deployment docs, SSRF/XXE protection
92
- - 0 npm audit vulnerabilities
93
-
94
- ### Changed
95
- - Shared PACKS module — single source of truth for all 9 packs
96
- - install.js 740→300 lines: extracted memory-init.js + pack-copy.js
97
- - print() → logging, time.sleep → asyncio.sleep, empty catch blocks filled
98
- - Dynamic version in i18n.js (reads from package.json)
99
-
100
- ### Removed
101
- - Duplicate agents/pack-{seo,animated,backup}/ directories
102
-
103
- ### Documentation
104
- - Maker + Zecher in all config files, CHANGELOG v0.7.2 added
105
- - French README fix, version history synced to all translations
106
- - 7 audit reports in audit/ folder
107
-
108
- ### Tests
109
- - 143/143 tests passing
110
-
111
- ## [0.8.0] 2026-06-24
112
-
113
- ### Added
114
- - 3 new packs: pack-animated (web animation agent), pack-backup (universal backup agent), pack-seo (full SEO audit 15 files with agents, refs, templates, playbooks)
115
- - `extract_frames.py` script for animated-website (263 lines, ffprobe/ffmpeg)
116
-
117
- ### Security
118
- - P0 remediation: fix command injection, path traversal, token-in-URL, wildcard hosts, error leak (Shield GRC v2.0)
119
- - CI: add npm audit gate with continue-on-error, remove silent-fail pattern
120
-
121
- ### Changed
122
- - README.de.md: full sync (+131 lines) Pack System, Autopilot, Project Structure, Credits
123
- - All Torah-named references removed from Dev Studio, module.yaml, READMEs
124
- - Dev Studio: cleaned references in orchestrator, bwml-spec, upstream-sync
125
- - process-info.md: updated (oveanet-pack not in npm package)
126
- - CI: Windows %TEMP% → tmp/ in .npmignore and CI workflow
127
- - Badge shields: version 0.7.5 → 0.8.0 across all 5 READMEs
128
-
129
- ### Fixed
130
- - Broken TOC anchor links across all 5 READMEs (#the-56-agents)
131
- - oveanet ↔ .agents mirror directories sync (31 files)
132
-
133
- ### Tests
134
- - 143/143 tests passing ✅
135
-
136
- ## [0.7.5] 2026-05-17
137
-
138
- ### 🩺 Quality & Compliance
139
-
140
- ### Added
141
- - **MIT LICENSE** Proper license file matching `package.json` declaration
142
- - **PACKS↔module.yaml sync check** — New Check 9 in `npx bmad-plus doctor` that cross-validates install.js PACKS object against module.yaml packs, preventing invisible pack bugs
143
- - **30 new unit tests** — Total now 97:
144
- - `scan.js` module validation (markers, skip dirs, options)
145
- - `autoconfig.js` function checks (detectStack, analyzeStructure, calculateHealth, recommendPacks)
146
- - `memory.js` subcommand and health score validation
147
- - PACKS↔module.yaml bidirectional sync (count + key match)
148
- - LICENSE file integrity
149
- - **Global brain consolidation** — Promoted cross-project wisdom:
150
- - 1 lesson (PowerShell UTF-8 corruption)
151
- - 2 decisions (anti-regression protocol, i18n-first CLI)
152
- - 2 patterns (dual-tier memory, surgical edit protocol)
153
-
154
- ## [0.7.4] 2026-05-17
155
-
156
- ### 🧠 Smart Autoconfig
157
-
158
- ### Added
159
- - **`npx bmad-plus autoconfig`** — Smart project bootstrap:
160
- - **Existing projects**: analyzes stack, structure, health; auto-selects packs; populates memory
161
- - **New projects**: interactive wizard (type + description); initializes everything
162
- - Auto-preserves existing IDE configs (`--tools none` when configs detected)
163
- - Writes `context.md` with full project analysis for agent continuity
164
- - Shows contextual recommendations ("Talk to Forge to...", "Talk to Sentinel to...")
165
-
166
- ### Fixed
167
- - `--tools none` installer crash (undefined IDE name)
168
-
169
- ## [0.7.3] — 2026-05-17
170
-
171
- ### 🎨 Scan UX Improvements
172
-
173
- ### Added
174
- - **Scan legend** — Color-coded status legend displayed before the project table
175
- - **`--active-days <n>`** Custom threshold for "active" status (default: 30 days)
176
- - **`--paused-days <n>`** Custom threshold for "paused" status (default: 180 days)
177
-
178
- ## [0.7.2] - 2026-06-XX
179
- ### Fixed
180
- - `scan` command: `bmad-plus scan <path>` now accepts a positional path argument
181
-
182
- ## [0.7.1] — 2026-05-17
183
-
184
- ### 🛠️ CLI Commands & Guardrails Injection
185
-
186
- ### Added
187
- - **`npx bmad-plus scan [path]`** — Interactive project scanner
188
- - Recursive directory scan with stack auto-detection (Node.js, Rust, Python, Go, PHP, Ruby, Java)
189
- - Framework detection (Next.js, Nuxt, React, Vue, Svelte, Express, Electron, Tauri)
190
- - Status tracking (active/paused/archived based on last modified)
191
- - Interactive validation: index all, select, or skip
192
- - Auto-generates `projects-index.md` in global brain
193
- - **`npx bmad-plus memory status`** Memory health report
194
- - Shows project memory + global brain status
195
- - Entry counts, last modified dates, health score
196
- - Brain link detection
197
- - **`npx bmad-plus memory export`** — Export brain as portable Markdown archive
198
- - **Karpathy Guardrails injection** — 4 principles auto-injected into CLAUDE.md/GEMINI.md/AGENTS.md when Memory pack is installed
199
- - **i18n** Memory + Dev Studio keys for EN and FR (other languages use fallback)
200
-
201
- ## [0.7.0] 2026-05-17
202
-
203
- ### 🧠 Pack Memory Persistent Brain
204
-
205
- ### Added
206
- - **Pack Memory** — Persistent cross-session memory system with brain detection
207
- - 🧠 **Zecher Agent** (זכר, "remembrance") — Memory archivist for consolidation, project scanning, context recall
208
- - 📁 **Project Memory** (`.agents/memory/`) decisions.md, lessons.md, patterns.md, context.md, sessions/
209
- - 🌐 **Global Brain** (`~/.bmad-plus/brain/`) Cross-project knowledge, identity, project index
210
- - 🔍 **Project Scanner** Scan directories/disks, detect stacks, interactive validation, auto-index
211
- - 🛡️ **Karpathy Guardrails** 4 behavioral principles (Think, Simplify, Surgical, Goal-driven) woven into agents
212
- - 📋 **Memory Protocol** Complete read/write rules for when agents use memory
213
- - 🔗 **Brain Detection** Detects existing `_brain/`, `~/.claude/memory/`, links instead of overwrites
214
- - 📝 **6 templates** — decisions, lessons, patterns, context, session-handoff, identity.yaml
215
-
216
- ### Changed
217
- - CLI installer: brain detection step (4.5) with merge-safe logic
218
- - IDE config generation: Zecher agent listed when memory pack selected
219
- - Install guide: memory-specific examples (Zecher commands)
220
-
221
- ## [0.6.0] — 2026-05-17
222
-
223
- ### 🏗️ Pack Dev Studio Full Software Development Lifecycle
224
-
225
- ### Added
226
- - **Pack Dev Studio** — 6 specialized agents + 30 workflows covering the complete SDLC
227
- - 📊 **Analysis** (8): Miriam (Business Analyst), Huldah (Tech Writer), Product Brief, PRFAQ, Market/Domain/Technical Research
228
- - 📋 **Planning** (7): Yosef (Product Manager), Rachel (UX Designer), PRD Create/Edit/Validate, UX Design
229
- - 🏗️ **Architecture** (5+9 steps): Bezalel (System Architect), Create Architecture (8-step workflow), Epics & Stories, Readiness Check
230
- - 💻 **Implementation** (12): Oholiab (Senior Engineer), Sprint Planning, Dev Story (TDD cycle), Code Review, Quick Dev, Investigate
231
- - 🔧 **Utilities** (12): Distillator, Party Mode, Adversarial Review, Edge Case Hunter, Editorial Reviews, Advanced Elicitation
232
- - **BWML** (BMAD+ Workflow Markup Language) — Proprietary DSL extending BMAD v6 XML with 12 new primitives:
233
- `<agent>`, `<parallel>`, `<loop>`, `<validate>`, `<guard>`, `<emit>`, `<context>`, `<memory>`, `<escalate>`, `<retry>`, `<fallback>`, `<metric>`
234
- - **Dev Studio Orchestrator** — Intelligent routing across 5 phases with BWML-powered workflow definitions
235
- - **Torah-named Personas** — Agents named after Torah figures matching their roles: Miriam, Huldah, Yosef, Rachel, Bezalel, Oholiab
236
- - **Upstream Sync** Tracking config for BMAD-METHOD v6.6.0 updates (commit `0f852a3`)
237
- - **64 files** 59 .md skills, module-help.csv, BWML spec, orchestrator, README, upstream-sync
238
-
239
- ### Changed
240
- - **module.yaml** Added dev-studio pack with 5 categories and cohabitation warning for Core pack
241
- - **install.js** — IDE configs now include 6 Torah-named agents when Dev Studio is selected
242
- - **Version reference** Updated from BMAD-METHOD v6.2.0 to v6.6.0
243
-
244
- ## [0.5.0] 2026-05-17
245
-
246
- ### 🛡️ Pack ShieldGRC Compliance (38 agents)
247
-
248
- ### Added
249
- - **Pack Shield** — 38 expert compliance agents covering 25+ regulatory frameworks
250
- - 🔐 **Data Privacy** (5): GDPR, CCPA/CPRA, LGPD, DPDPA, ISO 27701
251
- - 🛡️ **Cybersecurity** (6): ISO 27001, NIST CSF 2.0, NIST 800-53, CIS Controls v8, NIS2, ISM
252
- - 🏢 **Industry Compliance** (6): SOC 2, PCI DSS v4.0, HIPAA, SWIFT CSP, DORA, FedRAMP
253
- - 🔒 **Defense & Export** (4): CMMC 2.0, ITAR, EAR, TSA
254
- - 🤖 **AI Governance** (3): EU AI Act, ISO 42001, NIST AI RMF
255
- - **Accessibility & ESG** (3): WCAG, Section 508, CSRD
256
- - 📋 **GDPR & AI Act Workflows** (11): DPIA, Breach Response, LIA, Privacy Notices/Policies, Cookie Compliance, AI Act Classification/Roles/FRIA/Incidents
257
- - **Shield Orchestrator** — Intelligent routing across all 38 agents with cross-framework mapping
258
- - **85 Reference Files** — Deep regulatory knowledge extracted from upstream Claude Skills archives
259
- - **3 Shared Templates** — Gap Analysis, Cross-Framework Mapper, Audit Report
260
- - **Upstream Sync System** — Tracking configuration for Sushegaad GRC skill updates
261
- - **module.yaml** — Full shield pack definition with 7 categories and per-category agent lists
262
- - **CLI Integration** — Shield pack selectable in `npx bmad-plus install` with 3 localized example commands
263
- - **IDE Config** — Shield agent advertised in generated AGENTS.md/GEMINI.md
264
-
265
- ### Changed
266
- - **install_packs** All packs now listed in multiselect (seo, backup, animated were missing)
267
- - **module.yaml** Replaced old `audit` (coming_soon) stub with fully realized `shield` pack
268
-
269
- ### Attribution
270
- - Based on [Claude Skills for GRC](https://github.com/Sushegaad/Claude-Skills-Governance-Risk-and-Compliance) by Hemant Naik — MIT License
271
- - GDPR/EU AI Act workflows inspired by [Lawve.ai](https://lawve.ai) professional skills catalog
272
-
273
- ---
274
-
275
- ## [0.4.4]2026-05-17
276
-
277
- ### 🔧 Encoding Fix + i18n Complete + Tests
278
-
279
- ### Fixed
280
- - **UTF-8 encoding** Fixed double-encoding corruption in `i18n.js` caused by PowerShell `Set-Content`
281
- - **Credits URL** — Now points to public repo `github.com/lrochetta/BMAD-PLUS`
282
- - **npm re-publish** v0.4.3 had corrupted Unicode on npm; this release replaces it
283
-
284
- ### Added
285
- - **Complete i18n** — CLI guide strings (commands, examples) now translated in all 10 languages (no more EN fallbacks)
286
- - **Unit tests** — 53+ tests covering i18n, CLI modules, package.json integrity, module.yaml, source files, version consistency
287
- - **`npm test`** — Jest test script added to package.json
288
-
289
- ---
290
-
291
- ## [0.4.3] 2026-05-17
292
-
293
- ### 🔧 CLI Commands + Security Hardening + UX Enhancements
294
-
295
- ### Added
296
- - **`bmad-plus update`** Update agents & skills while preserving config, IDE configs, and output directories
297
- - **`bmad-plus doctor`** Check installation integrity (version, agents, configs, pack health)
298
- - **Internationalized `uninstall`** Uses i18n system from install manifest language (10 languages)
299
- - **Credits at startup** Author attribution displayed immediately when installer launches
300
- - **Enriched post-install guide** CLI commands section + pack-specific usage examples in selected language
301
- - **i18n strings for update/uninstall/doctor** — EN, FR, ES, DE, PT-BR, RU, ZH, HE, JA, IT
302
- - **CLI guide strings** — `guide_cli_title`, `guide_examples_title`, pack examples for SEO/Backup/Animated/OSINT
303
-
304
- ### Fixed
305
- - **Security** — Added `mcp-server/.env` to `.gitignore`, created `.env.example` template
306
- - **Manifest version** — Now reads from `package.json` dynamically (was hardcoded `0.4.0`)
307
- - **`module.yaml` sync** — Added missing SEO, Backup, Animated pack definitions
308
- - **`package.json` cleanup** Removed `oveanet-pack` from `files[]` (already excluded by `.npmignore`)
309
- - **CI/CD reliability** Removed `continue-on-error` from npm publish step
310
- - **Comment accuracy** Updated "9 languages" "10 languages" in install.js header
311
- - **Installer title** Now reads version from `package.json` dynamically
312
-
313
- ### Changed
314
- - **Dependencies** Updated `@clack/prompts` 1.1.0 1.4.0, `fs-extra` 11.3.4 11.3.5
315
- - **npm scripts** — Added `update:bmad` and `doctor:bmad` scripts
316
-
317
- ---
318
-
319
- ## [0.4.2]2026-03-19
320
-
321
- ### 📦 Public Packs SEO/Backup/Animated now in npm
322
-
323
- ### Added
324
- - **Public pack agents** — SEO Audit 360, Universal Backup, Animated Website agent files now included in npm package
325
- - Agent files copied from `oveanet-pack/` to `src/bmad-plus/agents/pack-seo/`, `pack-backup/`, `pack-animated/`
326
- - Installer `packDir` system replaces `oveanetAgent` for proper npm distribution
327
-
328
- ---
329
-
330
- ## [0.4.1] — 2026-03-19
331
-
332
- ### 🌐 CLI Internationalization + DevOps Hardening
333
-
334
- ### Added
335
- - **10-language CLI installer** EN, FR, ES, DE, PT-BR, RU, ZH, HE, JA, IT with language selector at startup
336
- - **CI/CD pipeline** — `publish-distribution.yml` GitHub Action (Golden → Public repo scrubbing)
337
- - **`.npmignore`** — Excludes private directories from npm package
338
- - **`/deploy` workflow** — Mandatory pre-deployment checklist
339
- - **Post-install guide** — Enriched with all packs (SEO, Backup, Animated Website)
340
-
341
- ### Fixed
342
- - **Security** — Purged `secrets/github_pat.txt` from git history, fixed `.gitignore` UTF-16 corruption
343
- - **Version badges** — Updated from 0.1.0 0.4.1 across all 5 READMEs
344
- - **Project structure** — Updated trees in both Golden and Distribution READMEs
345
-
346
- ---
347
-
348
- ## [0.4.0] — 2026-03-19
349
-
350
- ### 🏢 SEO Engine — Enterprise Extensions (Sprint 4)
351
-
352
- ### Added
353
- - **Google Search Console extension** — OAuth2 client for organic search data (queries, pages, coverage, sitemaps)
354
- - **Google Analytics 4 extension** GA4 Data API client for organic traffic, landing pages, and engagement metrics
355
- - Both extensions include setup guides, Python clients, and separate requirements
356
-
357
- ### Notes
358
- - Extensions are **optional** and require OAuth2 setup (see `EXTENSION.md` in each directory)
359
- - Core SEO Engine (SKILL.md + 3 agents + Python toolkit) works without extensions
360
- - GSC and GA4 share OAuth2 credentials for simplified auth flow
361
-
362
- ---
363
-
364
- ## [0.3.3] — 2026-03-19
365
-
366
- ### 🧪 SEO Engine Quality & Security (Sprint 3)
367
-
368
- ### Added
369
- - **Unit tests** — 50 pytest tests covering all Python scripts (fetch, parse, crawl, APIs)
370
- - **Pre-commit hook** — `hooks/seo-check.sh` validates HTML for title, meta, alt, H1 before commit
371
- - **Audit JSON schema** — `ref/audit-schema.json` standardized export format for dashboard/API integration
372
- - **Test fixture** — `tests/fixtures/sample_page.html` with known SEO elements
373
-
374
- ---
375
-
376
- ## [0.3.2] — 2026-03-19
377
-
378
- ### 📊 SEO Engine — Reports, Competitor & Hreflang (Sprint 2)
379
-
380
- ### Added
381
- - **seo_report.py** — Professional HTML report generator with inline SVG radar chart, color-coded issue cards, quick wins section, and print-friendly CSS
382
- - **Benchmarker role** — Added to Chief agent for `/seo competitor` command (side-by-side site comparison with delta scoring)
383
- - **hreflang-rules.md** Complete hreflang audit reference with 7 validation rules, 6 common error patterns, and 12-point checklist
384
-
385
- ---
386
-
387
- ## [0.3.1] — 2026-03-19
388
-
389
- ### 🔧 SEO Engine Enhancements (Sprint 1)
390
-
391
- ### Added
392
- - **SKILL.md orchestrator** — Single entry point routing 15 `/seo` commands to the right agents
393
- - **seo_apis.py** — Google APIs client (PageSpeed Insights, CrUX field data, Rich Results Test)
394
- - **requirements.txt** — Python dependencies (requests, beautifulsoup4, lxml)
395
- - **install.sh + install.ps1** Cross-platform dependency installer with venv support
396
-
397
- ---
398
-
399
- ## [0.3.0] — 2026-03-19
400
-
401
- ### 🚀 SEO Engine v2.0 Complete Rewrite
402
-
403
- ### Added
404
- - **3 multi-role SEO agents** (replacing single monolithic agent):
405
- - 🔎 **Scout** — Technical scanner (Crawler, Inspector, Photographer)
406
- - ⚖️ **Judge** Content & AI analyst (Content Expert, Schema Master, GEO Analyst)
407
- - 👑 **Chief** — Strategist & reporter (Scorer, Strategist, Reporter)
408
- - **4 Python scripts** (new toolkit):
409
- - `seo_fetch.py` — Secure HTTP fetcher with SSRF protection and multi-UA support
410
- - `seo_parse.py` — HTML parser for meta, schema, links, images, word count
411
- - `seo_crawl.py`Recursive mini-crawler with sitemap parsing and orphan detection
412
- - `seo_screenshot.py`Playwright viewport screenshots with above-fold analysis
413
- - **6 reference documents**:
414
- - Core Web Vitals 2026 thresholds (LCP subparts, INP, CLS)
415
- - Schema.org v29.4 type catalog with deprecation status
416
- - E-E-A-T scoring grid (100-point evaluation)
417
- - GEO signals for AI search optimization (Google AI Overviews, ChatGPT, Perplexity)
418
- - Quality gates with content thresholds by page type
419
- - 14 ready-to-use JSON-LD schema templates
420
- - **6-phase audit workflow** with PageSpeed perfection loop
421
- - **SEO Health Score (0–100)** with 7 weighted categories
422
- - **Auto-generated code fixes** for common SEO issues
423
- - **13 user commands** (`/seo full`, `/seo quick`, `/seo pagespeed`, etc.)
424
- - **Monitoring system** with historical score comparison
425
-
426
- ### Changed
427
- - SEO Audit 360 pack upgraded from v1.0 to v2.0
428
- - Architecture: single SKILL.md 3 specialized agents with parallel execution
429
-
430
- ### Preserved
431
- - `pagespeed-playbook.md` — Battle-tested oveanet.ch PageSpeed optimization loop
432
- - `checklist.md` — Original PageSpeed perfection checklist
433
-
434
- ---
435
-
436
- ## [0.2.0]2026-03-18
437
-
438
- ### 🔀 Oveanet Fusion
439
-
440
- ### Added
441
- - **3 new utility packs** from oveanet-agents:
442
- - 🔍 **SEO Audit 360** — 9-category audit for search engines + AI engines (by Oveanet)
443
- - 🗂️ **Universal Backup** — Timestamped ZIP backup with smart exclusions (by Oveanet)
444
- - 🎬 **Animated Website** — Luxury scroll-driven website from video (by Oveanet)
445
- - `oveanet-pack/` directory as source for oveanet agent content
446
- - Oveanet sync documentation in `process-info.md`
447
-
448
- ### Changed
449
- - Installer now shows 7 packs (Core + OSINT + Maker + Audit + SEO + Backup + Animated)
450
- - `package.json` includes `oveanet-pack` in npm distribution
451
-
452
- ### Removed
453
- - `pour etudier/` directory (content migrated to `oveanet-pack/`)
454
-
455
- ---
456
-
457
- ## [0.1.3] — 2026-03-18
458
-
459
- ### 🔧 Cross-Platform Fix
460
-
461
- ### Fixed
462
- - LF line endings for `bin` scripts (fixes `npx` execution on macOS/Linux)
463
- - Added `.gitattributes` to enforce LF on executable scripts
464
-
465
- ---
466
-
467
- ## [0.1.2]2026-03-17
468
-
469
- ### 📝 Credits Update
470
-
471
- ### Changed
472
- - Author credits translated to English in CLI installer and READMEs
473
- - Added LinkedIn link to credits section
474
-
475
- ---
476
-
477
- ## [0.1.1] 2026-03-17
478
-
479
- ### 👤 Author Attribution
480
-
481
- ### Added
482
- - Laurent Rochetta credit in `README.md`, `README-DIST.md`, and CLI success message
483
- - GitHub and LinkedIn links in credits section
484
-
485
- ---
486
-
487
- ## [0.1.0] — 2026-03-17
488
-
489
- ### 🎉 Initial Release Foundation
490
-
491
- First release of BMAD+, an augmented fork of BMAD-METHOD v6.2.0.
492
-
493
- ### Added
494
-
495
- #### Core Module (`src/bmad-plus/`)
496
- - **module.yaml** Module configuration with execution mode, auto-role activation, parallel execution, and modular pack system
497
- - **module-help.csv** — Contextual help for all 8 registered skills/agents
498
-
499
- #### 5 Multi-Role Agents
500
- - **Atlas (Strategist)** — Fuses Analyst + PM into 2 switchable roles with auto-activation
501
- - **Forge (Architect-Dev)** — Fuses Architect + Dev + Tech Writer into 3 switchable roles
502
- - **Sentinel (Quality)** — Fuses QA + UX Designer into 2 switchable roles
503
- - **Nexus (Orchestrator)** — Fuses SM + Quick-Flow + new Autopilot Controller + new Parallel Supervisor (4 roles)
504
- - **Shadow (OSINT)** Converted from legacy XML agent to BMAD+ v6 format (pack: osint)
505
-
506
- #### 3 Custom Skills
507
- - **bmad-plus-autopilot** Full pipeline automation (Discovery Build Ship) with configurable checkpoints
508
- - **bmad-plus-parallel** Multi-agent parallel execution with orchestrator supervision (launch/stop/restart/reallocate/escalate)
509
- - **bmad-plus-sync** — Upstream synchronization via VPS MCP Server
510
-
511
- #### Auto-Activation System
512
- - **role-triggers.yaml** — 3-level intelligent role switching:
513
- - Level 1: Pattern matching (keywords in user requests)
514
- - Level 2: Contextual analysis (domain detection during work)
515
- - Level 3: Reasoning chains (logical discoveries during execution)
516
-
517
- #### Modular Pack System
518
- - **Core pack** (required) — 4 agents, 3 skills, role-triggers
519
- - **OSINT pack** (optional) — Shadow agent + OSINT investigation skills
520
- - **Maker pack** (optional) — Maker meta-agent for creating new BMAD+ compatible agents (4-phase pipeline: Discovery Design → Generation → Validation)
521
- - **Audit pack** (coming soon) Shield agent placeholder
522
- - Multi-select installer menu with per-pack API key requirements
523
-
524
- #### `npx bmad-plus install` CLI
525
- - Interactive installer with pack selection, IDE auto-detection, user config
526
- - Contextual post-install guide adapted to installed packs
527
- - `--packs`, `--yes`, `--tools`, `--directory` flags for non-interactive use
528
- - Uninstall command: `npx bmad-plus uninstall`
529
-
530
- #### Monitoring System (`monitor/`)
531
- - **weekly-check.py** Weekly upstream monitoring script (cron)
532
- - **ai_analyzer.py** — Gemini API-powered diff analysis (compatible/review/breaking)
533
- - **notifier.py** — WhatsApp notifications via Evolution API + email fallback
534
- - **mcp_bridge.py** — Bridge to Audit 360° MCP Server for VPS git/github operations
535
- - **docker-compose.yml**Evolution API container configuration
536
- - **config.example.yaml** — Configuration template
537
-
538
- #### Multi-IDE Support
539
- - **CLAUDE.md** — Claude Code configuration
540
- - **GEMINI.md** Gemini CLI configuration
541
- - **AGENTS.md** Codex CLI / OpenCode configuration
542
-
543
- #### Integration
544
- - Integrated existing **osint-agent-package** (Shadow agent, 55+ Apify actors, 7 APIs)
545
- - Integrated existing **mcp-server** (Audit 360° with 35 tools) via MCP Bridge
546
-
547
- ### Upstream Compatibility
548
- - Based on BMAD-METHOD v6.2.0 (2026-03-15)
549
- - Compatible with core versions 6.0.0 7.0.0
550
- - Replaces `bmm` module while keeping core skills
551
-
552
- ---
553
-
554
- *For earlier history, see the upstream [BMAD-METHOD CHANGELOG](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md).*
1
+ # Changelog
2
+
3
+ All notable changes to BMAD+ will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.12.2] - 2026-07-16
11
+
12
+ ### Addedcapabilities now actually delivered
13
+ - **SEO pack works from npm (was broken-on-arrival for three cycles).** The SEO Python toolkit — `seo_fetch.py`, `seo_crawl.py`, `seo_parse.py`, `seo_apis.py`, `seo_screenshot.py`, `seo_report.py` + `requirements.txt` is now **embarked** in `src/bmad-plus/packs/pack-seo/scripts/`, so it ships in the npm tarball (`files[]="src/bmad-plus"`) and is copied into user projects by pack-copy. `install.js --provision-python` and `registry.yaml` `python_package` point at the in-pack copy; the SKILL.md's `scripts/*.py` and `agent/*.md` load paths now resolve in the shipped, flat packaged layout. Regression-gated by `tests/unit/seo-pack-shipping.test.js` (asserts every SKILL-commanded script/agent ships and the installer path stays in-pack).
14
+ - **SEO agents auto-activate.** `data/role-triggers.yaml` gained a `seo` block (Scout / Chief / Judge) so the three dedicated agents are reachable by keyword, not only by name.
15
+ - **Monitor is rebuildable from committed docs.** New `monitor/requirements.txt` pinning the modern **`google-genai`** SDK (matches `ai_analyzer.py`); `DEPLOY.md` installs `-r requirements.txt` (previously installed the deprecated `google-generativeai`) with an import sanity check. Dependabot pip entries added for `/monitor` and `/src/bmad-plus/packs/pack-seo`.
16
+
17
+ ### Fixed
18
+ - **Hand-typed count drift (blocking `check:counts`):** `README.md` "360 Tests" → **472** (real suite total), `module.yaml` Dev Studio "30 workflows" → **38**, `pack-shield/SKILL.md` "85 regulatory reference files" → **79** (derived count). `check:counts` now green unarmed and armed (`BMAD_PLUS_TEST_COUNT=472`).
19
+ - **OSINT lawful-basis gate reaches every personal-data path (GRC-03, third cycle).** The Phase Router now routes the direct extraction / psychoprofile / contact-enrichment entries through the mandatory Phase −1 Lawful Basis Gate (GDPR Art. 6, plus Art. 9 for psychoprofiling); `osint-investigator.md` and `agent-shadow/SKILL.md` carry an explicit gate rule for the `[LI]/[IG]/[FB]/[PP]/[CE]` menu items. No menu item removed — the gate governs, it does not restrict lawful use. Regression-gated by `tests/unit/osint-lawful-basis-gate.test.js`.
20
+ - `SECURITY.md`: supported version `0.7.x` → **`0.12.x`**; runtime dependency count `6` → **5** (matches `package.json`).
21
+
22
+ ### Testing
23
+ - **mcp-server security logic is now really tested + gated in CI (QA-02).** The dead `test_server.py` (tautological, asserted on nonexistent `_bmad/bmm/**` paths, ran in no lane) is replaced with 23 tests against a new `mcp-server/security.py` the password policy, constant-time secret comparison, Basic-Auth parsing, and Bearer-token expiry extracted from `server.py` so they are unit-testable without fastmcp/starlette or runtime env vars. `server.py`'s auth middleware now delegates to these (behavior-identical). A blocking Python pytest lane in `ci.yml` runs them + the SEO toolkit's 69 tests (incl. `TestSSRFProtection`) on every push/PR and, via `workflow_call`, every release.
24
+ - **CLI maintenance commands are no longer untested (QA-03).** New `tests/unit/cli-commands.test.js` (11 tests) drives the real `action()` of `uninstall`, `update`, and `doctor` — previously **zero executed lines** — across not-installed exit, full install, corrupt/again-current manifests, confirm/cancel, and a real update that rewrites the manifest. Per-file `coverageThreshold` entries (60–90% lines) make the gap visible to the gate.
25
+
26
+ ### Security
27
+ - **SEO crawler redirect-SSRF closed (SEC-02).** `seo_crawl.py` now follows redirects manually (`allow_redirects=False`) with a per-hop `is_safe_url` revalidation shared across all three network paths (`fetch`, `fetch_robots_txt`, `parse_sitemap`) via a `_safe_get` helper — a public URL that 302s to an internal/metadata endpoint is refused. `seo_fetch.py` was already fail-closed.
28
+ - `.gitignore`: exclude Graphify graph artifacts (`graphify-out/`, `.graphify/`, `.agents/graph/` safeguard 7, graph indexes are strictly local) and root `.venv/` / `.pytest_cache/`.
29
+
30
+ ### Verified
31
+ - `npm test` **483/483** (21 suites); Python `pytest` **92/92** (mcp-server security 23 + SEO 69); `check:counts` green (unarmed + armed 483); `eslint` 0 errors; `generate.js --check` + `generate-adapters.js --check` no drift; `py_compile` clean; `dependabot.yml` + `ci.yml` valid YAML.
32
+
33
+ ## [0.12.1] - 2026-07-12
34
+
35
+ ### Added
36
+ - **Portfolio brain detection** (`memory-init.js`): brain resolution now honors, in order, the `BMAD_PLUS_BRAIN` env var → a `_brain/` directory in the project dir **or any ancestor** (portfolio brain shared by sibling projects under a workspace root) → `~/.bmad-plus/brain` `~/.claude/memory`. Previously `~/.bmad-plus/brain` always won once it existed, silently splitting memory away from an existing workspace-level brain. `.brain-link` now records a `brain_type` (`portfolio` / `bmad-global` / `claude-memory`). `resolveBrain()` is exported with 4 new unit tests; `pack-memory/shared/memory-protocol.md` documents the portfolio-brain rule.
37
+
38
+ ### Fixed
39
+ - **Brain detection state machine (`memory-init.js`) — five defects (audit MEM-01..05 + JS-08):** the `projects/` index was written into `~/.bmad-plus/brain` unconditionally while identity/global-memory creation was skipped whenever any brain was detected, leaving a permanent identity-less "half brain" (now: idempotent `ensureGlobalBrain()` self-heals on every touch); `.brain-link` is now written on creation too (was: detection branch only non-idempotent re-runs); brain candidates must be directories and `~/.claude/memory` must be non-empty (was: a stray *file* named `_brain` could be linked as a brain); project indexing now only targets the global brain when it is the linked brain (portfolio installs no longer write orphan entries); path hashing unified in `tools/cli/lib/path-hash.js` shared with `scan.js` (drive-letter casing no longer double-indexes projects); `initMemory` takes an injectable `homeDir` and the test suite runs against a temp home (was: every `npm test` polluted the real user brain 454 junk entries live-confirmed); the install-time call is try/catch-wrapped so a read-only home warns instead of aborting pre-manifest. 15 unit tests. See `audit/2026-07-10/14-addendum-memory-init.md`.
40
+ - **GitHub Actions red on master since v0.10.0:** `package-lock.json` was missing `@emnapi/core`/`@emnapi/runtime` entries required by npm 10 (Node 20 runners) an npm 10 vs 11 ideal-tree divergence invisible to local (npm 11) validation, including fresh clones. Lock regenerated with `npm@10`; **CI + Platform now green on master for the first time**. New standing rule: locks are regenerated with `npx npm@10 install --package-lock-only` and validated with both npm 10 and npm 11 `ci --dry-run`.
41
+ - `platform.yml`: the two adapter drift gates (`generate-adapters.js --check` and `--check --adopt`) joined the spine as blocking checks; the eval self-check job now installs its `pyyaml` dependency (it had none on the runner and failed every push).
42
+ - Dependabot: removed the dead `docker` entry for `/monitor` (no Dockerfile there the update job failed every weekly cycle).
43
+
44
+ ### Security — supply chain
45
+ - `mcp-server/Dockerfile`: base image now **pinned by multi-arch index digest** (`python:3.11.15-slim@sha256:b27df584…`) closes the PHASE-1 "Dockerfile digest pin" residual and picks up ~18 months of CPython security patches (3.11.9 3.11.15).
46
+ - GitHub Actions bumped and SHA-pinned across all workflows: `checkout` v7.0.0, `setup-node` v6.4.0, `setup-python` v6.3.0.
47
+ - Python pins raised: mcp-server `uvicorn` 0.49.0, `gitpython` 3.1.50, `pyyaml` 6.0.3, `requests>=2.34.2`; seo-audit-360 `requests>=2.34.2`, `beautifulsoup4` 4.15.0, `lxml` 6.1.1; Google extensions `google-auth` 2.55.1, `google-auth-oauthlib` 1.4.0, `google-analytics-data` 0.23.0, `google-api-python-client` 2.198.0. Validated in clean venvs (install + import/parse smoke).
48
+
49
+ ### Changeddependency governance
50
+ - npm: `eslint` 9 10 (flat config; `@eslint/js` now a declared devDependencyit was consumed transitively and broke under eslint 10), `js-yaml` 4 5.2.1 (CJS export intact, full suite green), `fs-extra` 11.3.6.
51
+ - **Removed `chalk`** declared but never imported (the CLI uses picocolors); removal beats chasing the ESM-only v5.
52
+ - Declined with rationale (dependabot `ignore` rules added): `commander` 15 (ESM-only, requires Node ≥22.12; CLI is CommonJS on Node 20), fastmcp/chromadb/sentence-transformers at ALL levels (deliberate pins — breaking across minors, zero CI coverage; joint upgrade tracked as the mcp-server ML-stack modernization task), `pypdf` majors (5.x removed `PdfMerger`, used by `gamma_report.py`), docker `python` major/minor. Dependabot queue: 26+9 PRs → **0 open**.
53
+
54
+ ### Verified
55
+ - `npm test` 333/333 (16 suites); lint 0 errors under eslint 10; both `npx npm@10 ci --dry-run` and `npm ci --dry-run` green; CI + Platform workflows green on GOLDEN master.
56
+
57
+ ## [0.12.0] — 2026-07-02
58
+
59
+ ### Added Load-bearing activation (north-star Pillars 3, 4, 5)
60
+ - **Pillar 4 executable:** `evals/_runner/providers.py` — a provider-neutral model gateway (anthropic / openai / generic-HTTP adapters selected by `BMAD_EVAL_PROVIDER`, default deterministic **mock** so `--self-check` and CI never hit the network). `run_agent(spec, model)` now routes through it; the eval harness genuinely runs (3/3 specs pass).
61
+ - **Pillar 3 portable via MCP:** `mcp-server/tools/memory_tools.py` exposes `memory.recall` / `memory.write` / `memory.reinforce` as MCP tools that shell out to the same `bmad mem --json` CLI (single source of truth) MCP-capable CLIs and the CLI can never diverge. Registered additively in `server.py`.
62
+ - **Pillar 5 adopt mode:** `tools/build/generate-adapters.js --adopt` can generate the REAL repo-root adapters + AGENTS.md spine from the registry; hand-authored instructions live in `tools/build/adapters.config.js` and are injected so no tool loses content. `.gitattributes` pins LF on the adopted files (avoids the CRLF drift class). Root adoption is opt-in and NOT applied in this release.
63
+
64
+ ### Fixed
65
+ - Adapter `--check` is now EOL-insensitive; `.gitattributes` pins LF on `tools/build/**` + registry so a Windows clone doesn't false-positive drift. Verified from a **fresh clone**: `npm ci` + `npm test` (333/333) + both drift-checks green.
66
+
67
+ ### Verified
68
+ - `npm test` **333 passed / 16 suites**; `build:check` + `generate-adapters --check` no drift; `run.py --self-check` 3/3; edited Python parses.
69
+
70
+ ## [0.11.0]2026-07-02
71
+
72
+ ### Added Karpathy loop CLI + multi-CLI adapters (north-star Pillars 3 & 5)
73
+ - **`bmad mem` command (Pillar 3):** `recall <query>` / `write` / `reinforce` expose the memory-journal (append/recall + Elo reward + governance guard) from the CLI, so the learning loop is usable from any driving tool. `tests/unit/memory-journal-cmd.test.js`.
74
+ - **Multi-CLI adapter generator (Pillar 5):** `tools/build/generate-adapters.js` generates the per-CLI wrappers (CLAUDE.md, GEMINI.md, `.codex/AGENTS.md`, `.cursor/rules`, `.opencode/AGENTS.md`, CONVENTIONS.md) from `registry.yaml` counts/names computed, never typed — with a `--check` drift gate. Generated previews live under `tools/build/generated-adapters/`. `tests/unit/generate-adapters.test.js`.
75
+
76
+ ### Changed Compliance (govern, don't cut)
77
+ - **CG-02 — OSINT pack governed:** added a mandatory **Phase −1 Lawful Basis Gate** to the OSINT skill (lawful basis Art. 6, Art. 9 condition for psychoprofiles, purpose, retention, DSAR) + a lawful-basis/ROPA record template + a GDPR-OSINT reference + a governance block in the dossier template. The capability is kept in full; lawful use is now explicit and auditable. See `audit/2026-07-01/CG-RESOLUTION.md`.
78
+ - **CG-01trademark:** `bmad-plus` name kept by owner decision.
79
+
80
+ ### Verified
81
+ - `npm test` **325 passed / 16 suites**; `npm run build:check` no drift; `generate-adapters.js --check` no drift.
82
+
83
+ ## [0.10.0] — 2026-07-02
84
+
85
+ ### Added — Platform-spine foundations (north-star Phase 2)
86
+ Built as **new files only** (no existing core file modified); test suite grew from 176/10 to **258 passed / 13 suites**. Cut nothing; multi-tool/multi-model preserved.
87
+
88
+ - **Registry-as-SSOT (Pillar 1) ACTIVE:** `registry.yaml` (repo root) is now the single source of truth for all 9 packs. `tools/cli/lib/packs.js` is **generated from it** (`npm run build`), no longer hand-maintained. `tools/build/generate.js` provides the generator + `npm run build:check` drift gate; `tests/unit/generate.test.js` (14 tests) proves the generated `PACKS`/`PACK_ORDER`/`EXPECTED_AGENTS` strictly equal the shipped module. This kills the 5-place pack-registry drift at its root.
89
+ - **Python provisioning (Pillar 2):** `tools/cli/lib/python-provision.js` detect python≥3.11, pick uv/pipx/venv, create isolated env, install requirements, verify entry (shell-safe, testable).
90
+ - **Karpathy learning layer (Pillar 3):** `tools/cli/lib/memory-journal.js` — `journal.ndjson` append/recall, Elo/decayed reward update (eval+acceptance+ci), governance guard (promotions PROPOSED, never auto-applied).
91
+ - **Eval harness (Pillar 4 the moat):** `evals/` schema + Forge/Shield/Sentinel golden specs + fixtures + `run.py --self-check`, provider-neutral model backend seam.
92
+ - **CI:** `.github/workflows/platform.yml` registry drift-check + eval self-check, blocking, SHA-pinned.
93
+
94
+ Pillar 1 is wired (packs.js generated + `npm run build`/`build:check`). Remaining integration (provisioning called from install, memory exposed via MCP, generated multi-CLI adapters) lands next as its own tested commit — see `audit/2026-07-01/PHASE-2-STATUS.md`.
95
+
96
+ ## [0.9.2] 2026-07-01
97
+
98
+ ### Security Phase 1 remediation (exploitable findings)
99
+ - **RCE closed** (`ci_cd.py`): command allowlist now uses exact-token matching (shlex.split) + realpath/commonpath containment instead of prefix/`startswith` — defeats argument injection (`make -f attacker.mk`) and sibling-path bypass; `shell=False` throughout; dead Makefile fallback removed.
100
+ - **SSRF hardened** (`seo_fetch.py`): fails **closed** on DNS error, blocks private/loopback/reserved/link-local IPs (incl. IPv4-mapped IPv6), re-validates every redirect hop manually.
101
+ - **Stored + DOM XSS closed** (`seo_report.py`, `dashboard.html`): all audited/external values HTML-escaped in the report; dashboard renders via `textContent`/`createElement` + `addEventListener` instead of `innerHTML`/inline `onclick`.
102
+ - **MCP server** (`server.py`): constant-time `hmac.compare_digest` for token + dashboard password; app assembled in module-level `create_app()` so `uvicorn server:app` runs with auth intact; dead `verify_mcp_token` removed; rate-limit map eviction.
103
+ - **XXE**: `seo_crawl.py` hard-fails without `defusedxml` (no unsafe stdlib fallback).
104
+
105
+ ### Supply chain
106
+ - `requests>=2.32.4` (CVE-2024-35195) across all requirements files.
107
+ - `PyPDF2`→`pypdf==4.3.1` (dep + consumer import in `gamma_report.py`).
108
+ - `defusedxml==0.7.1` added; Dockerfile non-root user + tag pin; docker-compose off `:latest`; GitHub Actions pinned to commit SHAs; Dependabot covers pip + docker + github-actions.
109
+
110
+ ### Fixed — robustness
111
+ - Non-destructive install (backs up existing CLAUDE/GEMINI/AGENTS.md); marker-based uninstall; IDE-scoped autoconfig; `doctor` no longer emits false "Missing agent" warnings; guarded manifest `JSON.parse`; Windows-safe project-path hashing; hardened `validateUserName`; lazy RAG model load; async gamma polling; repo-URL validation; `git_ops` path confinement.
112
+
113
+ ### Notes
114
+ - Documented residual follow-ups (SSRF crawler-class redirect hops, DNS-rebinding IP pinning, Dockerfile digest pin) are tracked in `audit/2026-07-01/PHASE-1-STATUS.md`.
115
+ - Verified: `npm test` 176/176, `npm run lint` 0 errors, all edited Python parses; SEO report smoke-tested (renders + XSS escaped).
116
+
117
+ ## [0.9.1] — 2026-07-01
118
+
119
+ ### Fixed Credibility (honest status)
120
+ - **Real CI on push/PR** (`.github/workflows/ci.yml`): lint + test + npm audit, all blocking. Previously the only workflow ran at release-tag and swallowed failures with `|| echo`.
121
+ - **Test harness repaired**: mock ESM `@clack/prompts` so Jest loads the autoconfig suite — `npm test` now genuinely passes (176 tests, 10/10 suites). It did not before.
122
+ - **Lint restored**: added flat `eslint.config.js` (ESLint v9); removed legacy `.eslintrc.json` + deprecated `--ext`. `npm run lint` runs with 0 errors.
123
+ - **Lockfile resynced** to the correct version with full devDependency tree — `npm ci` works from a clean clone.
124
+ - Publish workflow no longer masks `npm publish` failures; npm audit is blocking.
125
+ - Removed hardcoded VPS IP from `mcp-server/server.py` docstring.
126
+
127
+ ### Documentation Honesty correction
128
+ - Removed the unverifiable **"143 tests / 0 vulnerabilities / Score A+"** badges from README and README-DIST.
129
+ - Fixed the corrupted version-history table (0.9.0/0.8.0 were duplicated).
130
+ - **Note on 0.9.0 below:** the "64/64 fixed, score A+" and "auth on all endpoints" claims in the 0.9.0 entry were **overstated**. A 2026-07-01 adversarial re-audit (see `audit/2026-07-01/`) found 102 open findings and re-graded the project **C+**. The MCP token *is* checked by middleware on `/sse` and `/messages/`, but the prior "all endpoints" phrasing and the A+ score were not accurate. This release begins the honest remediation.
131
+
132
+ ## [0.9.0] — 2026-06-24
133
+
134
+ ### Security
135
+ - Full audit remediation: 64/64 findings fixed, score C- → A+
136
+ - P0: Command injection eliminated (execSync → spawnSync in CLI entry point)
137
+ - P0: MCP Server authentication added (token-validated middleware on all endpoints)
138
+ - CI/CD hardened: PAT removed, force-push eliminated, npm audit gate blocking
139
+ - MCP allowlist hardened, path traversal protection, URL hostname validation
140
+ - VPS IP → env var, TLS deployment docs, SSRF/XXE protection
141
+ - 0 npm audit vulnerabilities
142
+
143
+ ### Changed
144
+ - Shared PACKS module single source of truth for all 9 packs
145
+ - install.js 740→300 lines: extracted memory-init.js + pack-copy.js
146
+ - print() → logging, time.sleep asyncio.sleep, empty catch blocks filled
147
+ - Dynamic version in i18n.js (reads from package.json)
148
+
149
+ ### Removed
150
+ - Duplicate agents/pack-{seo,animated,backup}/ directories
151
+
152
+ ### Documentation
153
+ - Maker + Zecher in all config files, CHANGELOG v0.7.2 added
154
+ - French README fix, version history synced to all translations
155
+ - 7 audit reports in audit/ folder
156
+
157
+ ### Tests
158
+ - 143/143 tests passing
159
+
160
+ ## [0.8.0] 2026-06-24
161
+
162
+ ### Added
163
+ - 3 new packs: pack-animated (web animation agent), pack-backup (universal backup agent), pack-seo (full SEO audit — 15 files with agents, refs, templates, playbooks)
164
+ - `extract_frames.py` script for animated-website (263 lines, ffprobe/ffmpeg)
165
+
166
+ ### Security
167
+ - P0 remediation: fix command injection, path traversal, token-in-URL, wildcard hosts, error leak (Shield GRC v2.0)
168
+ - CI: add npm audit gate with continue-on-error, remove silent-fail pattern
169
+
170
+ ### Changed
171
+ - README.de.md: full sync (+131 lines) — Pack System, Autopilot, Project Structure, Credits
172
+ - All Torah-named references removed from Dev Studio, module.yaml, READMEs
173
+ - Dev Studio: cleaned references in orchestrator, bwml-spec, upstream-sync
174
+ - process-info.md: updated (oveanet-pack not in npm package)
175
+ - CI: Windows %TEMP% tmp/ in .npmignore and CI workflow
176
+ - Badge shields: version 0.7.5 0.8.0 across all 5 READMEs
177
+
178
+ ### Fixed
179
+ - Broken TOC anchor links across all 5 READMEs (#the-56-agents)
180
+ - oveanet .agents mirror directories sync (31 files)
181
+
182
+ ### Tests
183
+ - 143/143 tests passing ✅
184
+
185
+ ## [0.7.5] — 2026-05-17
186
+
187
+ ### 🩺 Quality & Compliance
188
+
189
+ ### Added
190
+ - **MIT LICENSE** Proper license file matching `package.json` declaration
191
+ - **PACKS↔module.yaml sync check** New Check 9 in `npx bmad-plus doctor` that cross-validates install.js PACKS object against module.yaml packs, preventing invisible pack bugs
192
+ - **30 new unit tests** — Total now 97:
193
+ - `scan.js` module validation (markers, skip dirs, options)
194
+ - `autoconfig.js` function checks (detectStack, analyzeStructure, calculateHealth, recommendPacks)
195
+ - `memory.js` subcommand and health score validation
196
+ - PACKS↔module.yaml bidirectional sync (count + key match)
197
+ - LICENSE file integrity
198
+ - **Global brain consolidation** — Promoted cross-project wisdom:
199
+ - 1 lesson (PowerShell UTF-8 corruption)
200
+ - 2 decisions (anti-regression protocol, i18n-first CLI)
201
+ - 2 patterns (dual-tier memory, surgical edit protocol)
202
+
203
+ ## [0.7.4]2026-05-17
204
+
205
+ ### 🧠 Smart Autoconfig
206
+
207
+ ### Added
208
+ - **`npx bmad-plus autoconfig`**Smart project bootstrap:
209
+ - **Existing projects**: analyzes stack, structure, health; auto-selects packs; populates memory
210
+ - **New projects**: interactive wizard (type + description); initializes everything
211
+ - Auto-preserves existing IDE configs (`--tools none` when configs detected)
212
+ - Writes `context.md` with full project analysis for agent continuity
213
+ - Shows contextual recommendations ("Talk to Forge to...", "Talk to Sentinel to...")
214
+
215
+ ### Fixed
216
+ - `--tools none` installer crash (undefined IDE name)
217
+
218
+ ## [0.7.3] 2026-05-17
219
+
220
+ ### 🎨 Scan UX Improvements
221
+
222
+ ### Added
223
+ - **Scan legend** Color-coded status legend displayed before the project table
224
+ - **`--active-days <n>`** — Custom threshold for "active" status (default: 30 days)
225
+ - **`--paused-days <n>`** — Custom threshold for "paused" status (default: 180 days)
226
+
227
+ ## [0.7.2] - 2026-06-XX
228
+ ### Fixed
229
+ - `scan` command: `bmad-plus scan <path>` now accepts a positional path argument
230
+
231
+ ## [0.7.1] 2026-05-17
232
+
233
+ ### 🛠️ CLI Commands & Guardrails Injection
234
+
235
+ ### Added
236
+ - **`npx bmad-plus scan [path]`** Interactive project scanner
237
+ - Recursive directory scan with stack auto-detection (Node.js, Rust, Python, Go, PHP, Ruby, Java)
238
+ - Framework detection (Next.js, Nuxt, React, Vue, Svelte, Express, Electron, Tauri)
239
+ - Status tracking (active/paused/archived based on last modified)
240
+ - Interactive validation: index all, select, or skip
241
+ - Auto-generates `projects-index.md` in global brain
242
+ - **`npx bmad-plus memory status`** Memory health report
243
+ - Shows project memory + global brain status
244
+ - Entry counts, last modified dates, health score
245
+ - Brain link detection
246
+ - **`npx bmad-plus memory export`** Export brain as portable Markdown archive
247
+ - **Karpathy Guardrails injection** — 4 principles auto-injected into CLAUDE.md/GEMINI.md/AGENTS.md when Memory pack is installed
248
+ - **i18n** — Memory + Dev Studio keys for EN and FR (other languages use fallback)
249
+
250
+ ## [0.7.0] 2026-05-17
251
+
252
+ ### 🧠 Pack Memory Persistent Brain
253
+
254
+ ### Added
255
+ - **Pack Memory** Persistent cross-session memory system with brain detection
256
+ - 🧠 **Zecher Agent** (זכר, "remembrance") Memory archivist for consolidation, project scanning, context recall
257
+ - 📁 **Project Memory** (`.agents/memory/`) decisions.md, lessons.md, patterns.md, context.md, sessions/
258
+ - 🌐 **Global Brain** (`~/.bmad-plus/brain/`) Cross-project knowledge, identity, project index
259
+ - 🔍 **Project Scanner** — Scan directories/disks, detect stacks, interactive validation, auto-index
260
+ - 🛡️ **Karpathy Guardrails** — 4 behavioral principles (Think, Simplify, Surgical, Goal-driven) woven into agents
261
+ - 📋 **Memory Protocol** — Complete read/write rules for when agents use memory
262
+ - 🔗 **Brain Detection** — Detects existing `_brain/`, `~/.claude/memory/`, links instead of overwrites
263
+ - 📝 **6 templates** — decisions, lessons, patterns, context, session-handoff, identity.yaml
264
+
265
+ ### Changed
266
+ - CLI installer: brain detection step (4.5) with merge-safe logic
267
+ - IDE config generation: Zecher agent listed when memory pack selected
268
+ - Install guide: memory-specific examples (Zecher commands)
269
+
270
+ ## [0.6.0] 2026-05-17
271
+
272
+ ### 🏗️ Pack Dev Studio — Full Software Development Lifecycle
273
+
274
+ ### Added
275
+ - **Pack Dev Studio** 6 specialized agents + 30 workflows covering the complete SDLC
276
+ - 📊 **Analysis** (8): Miriam (Business Analyst), Huldah (Tech Writer), Product Brief, PRFAQ, Market/Domain/Technical Research
277
+ - 📋 **Planning** (7): Yosef (Product Manager), Rachel (UX Designer), PRD Create/Edit/Validate, UX Design
278
+ - 🏗️ **Architecture** (5+9 steps): Bezalel (System Architect), Create Architecture (8-step workflow), Epics & Stories, Readiness Check
279
+ - 💻 **Implementation** (12): Oholiab (Senior Engineer), Sprint Planning, Dev Story (TDD cycle), Code Review, Quick Dev, Investigate
280
+ - 🔧 **Utilities** (12): Distillator, Party Mode, Adversarial Review, Edge Case Hunter, Editorial Reviews, Advanced Elicitation
281
+ - **BWML** (BMAD+ Workflow Markup Language) Proprietary DSL extending BMAD v6 XML with 12 new primitives:
282
+ `<agent>`, `<parallel>`, `<loop>`, `<validate>`, `<guard>`, `<emit>`, `<context>`, `<memory>`, `<escalate>`, `<retry>`, `<fallback>`, `<metric>`
283
+ - **Dev Studio Orchestrator** — Intelligent routing across 5 phases with BWML-powered workflow definitions
284
+ - **Torah-named Personas** — Agents named after Torah figures matching their roles: Miriam, Huldah, Yosef, Rachel, Bezalel, Oholiab
285
+ - **Upstream Sync** — Tracking config for BMAD-METHOD v6.6.0 updates (commit `0f852a3`)
286
+ - **64 files** — 59 .md skills, module-help.csv, BWML spec, orchestrator, README, upstream-sync
287
+
288
+ ### Changed
289
+ - **module.yaml** — Added dev-studio pack with 5 categories and cohabitation warning for Core pack
290
+ - **install.js** — IDE configs now include 6 Torah-named agents when Dev Studio is selected
291
+ - **Version reference** — Updated from BMAD-METHOD v6.2.0 to v6.6.0
292
+
293
+ ## [0.5.0] 2026-05-17
294
+
295
+ > **Correction (2026-07-15)** — as published, this section announced "38 expert compliance agents"
296
+ > and "85 Reference Files". Both were false on the day they were written, so they are corrected
297
+ > below rather than preserved. What v0.5.0 shipped has not changed: **27 compliance agents across
298
+ > 6 categories, plus 11 GDPR & AI Act workflows**. 38 was those two different things summed into
299
+ > one dimensionthe per-category breakdown below (5+6+6+4+3+3 agents, then 11 workflows) always
300
+ > added up to 27+11 and contradicted its own headline. The pack has 79 reference files and always
301
+ > has (79 added at once, none ever removed). Verified three ways: `registry.yaml`, the files on
302
+ > disk, and `git ls-files`. Now enforced by `tools/build/check-counts.js`.
303
+
304
+ ### 🛡️ Pack Shield — GRC Compliance (27 agents + 11 workflows)
305
+
306
+ ### Added
307
+ - **Pack Shield** — 27 compliance agents across 6 categories, plus 11 GDPR & AI Act workflows, covering 25+ regulatory frameworks
308
+ - 🔐 **Data Privacy** (5): GDPR, CCPA/CPRA, LGPD, DPDPA, ISO 27701
309
+ - 🛡️ **Cybersecurity** (6): ISO 27001, NIST CSF 2.0, NIST 800-53, CIS Controls v8, NIS2, ISM
310
+ - 🏢 **Industry Compliance** (6): SOC 2, PCI DSS v4.0, HIPAA, SWIFT CSP, DORA, FedRAMP
311
+ - 🔒 **Defense & Export** (4): CMMC 2.0, ITAR, EAR, TSA
312
+ - 🤖 **AI Governance** (3): EU AI Act, ISO 42001, NIST AI RMF
313
+ - ♿ **Accessibility & ESG** (3): WCAG, Section 508, CSRD
314
+ - 📋 **GDPR & AI Act Workflows** (11): DPIA, Breach Response, LIA, Privacy Notices/Policies, Cookie Compliance, AI Act Classification/Roles/FRIA/Incidents
315
+ - **Shield Orchestrator** — Intelligent routing across all 27 agents and 11 workflows with cross-framework mapping
316
+ - **79 Reference Files** — Deep regulatory knowledge extracted from upstream Claude Skills archives
317
+ - **3 Shared Templates** — Gap Analysis, Cross-Framework Mapper, Audit Report
318
+ - **Upstream Sync System** — Tracking configuration for Sushegaad GRC skill updates
319
+ - **module.yaml**Full shield pack definition with 7 category blocks — the 6 agent categories plus a `workflows` block — each carrying an `agents:` list
320
+ - **CLI Integration** — Shield pack selectable in `npx bmad-plus install` with 3 localized example commands
321
+ - **IDE Config**Shield agent advertised in generated AGENTS.md/GEMINI.md
322
+
323
+ ### Changed
324
+ - **install_packs** — All packs now listed in multiselect (seo, backup, animated were missing)
325
+ - **module.yaml** Replaced old `audit` (coming_soon) stub with fully realized `shield` pack
326
+
327
+ ### Attribution
328
+ - Based on [Claude Skills for GRC](https://github.com/Sushegaad/Claude-Skills-Governance-Risk-and-Compliance) by Hemant Naik — MIT License
329
+ - GDPR/EU AI Act workflows inspired by [Lawve.ai](https://lawve.ai) professional skills catalog
330
+
331
+ ---
332
+
333
+ ## [0.4.4] — 2026-05-17
334
+
335
+ ### 🔧 Encoding Fix + i18n Complete + Tests
336
+
337
+ ### Fixed
338
+ - **UTF-8 encoding** — Fixed double-encoding corruption in `i18n.js` caused by PowerShell `Set-Content`
339
+ - **Credits URL** — Now points to public repo `github.com/lrochetta/BMAD-PLUS`
340
+ - **npm re-publish** — v0.4.3 had corrupted Unicode on npm; this release replaces it
341
+
342
+ ### Added
343
+ - **Complete i18n** — CLI guide strings (commands, examples) now translated in all 10 languages (no more EN fallbacks)
344
+ - **Unit tests** — 53+ tests covering i18n, CLI modules, package.json integrity, module.yaml, source files, version consistency
345
+ - **`npm test`** — Jest test script added to package.json
346
+
347
+ ---
348
+
349
+ ## [0.4.3] — 2026-05-17
350
+
351
+ ### 🔧 CLI Commands + Security Hardening + UX Enhancements
352
+
353
+ ### Added
354
+ - **`bmad-plus update`**Update agents & skills while preserving config, IDE configs, and output directories
355
+ - **`bmad-plus doctor`** Check installation integrity (version, agents, configs, pack health)
356
+ - **Internationalized `uninstall`** — Uses i18n system from install manifest language (10 languages)
357
+ - **Credits at startup** — Author attribution displayed immediately when installer launches
358
+ - **Enriched post-install guide** CLI commands section + pack-specific usage examples in selected language
359
+ - **i18n strings for update/uninstall/doctor** EN, FR, ES, DE, PT-BR, RU, ZH, HE, JA, IT
360
+ - **CLI guide strings** `guide_cli_title`, `guide_examples_title`, pack examples for SEO/Backup/Animated/OSINT
361
+
362
+ ### Fixed
363
+ - **Security** — Added `mcp-server/.env` to `.gitignore`, created `.env.example` template
364
+ - **Manifest version** — Now reads from `package.json` dynamically (was hardcoded `0.4.0`)
365
+ - **`module.yaml` sync** — Added missing SEO, Backup, Animated pack definitions
366
+ - **`package.json` cleanup**Removed `oveanet-pack` from `files[]` (already excluded by `.npmignore`)
367
+ - **CI/CD reliability** — Removed `continue-on-error` from npm publish step
368
+ - **Comment accuracy** — Updated "9 languages" → "10 languages" in install.js header
369
+ - **Installer title** — Now reads version from `package.json` dynamically
370
+
371
+ ### Changed
372
+ - **Dependencies** — Updated `@clack/prompts` 1.1.0 → 1.4.0, `fs-extra` 11.3.4 11.3.5
373
+ - **npm scripts** — Added `update:bmad` and `doctor:bmad` scripts
374
+
375
+ ---
376
+
377
+ ## [0.4.2] — 2026-03-19
378
+
379
+ ### 📦 Public Packs — SEO/Backup/Animated now in npm
380
+
381
+ ### Added
382
+ - **Public pack agents** — SEO Audit 360, Universal Backup, Animated Website agent files now included in npm package
383
+ - Agent files copied from `oveanet-pack/` to `src/bmad-plus/agents/pack-seo/`, `pack-backup/`, `pack-animated/`
384
+ - Installer `packDir` system replaces `oveanetAgent` for proper npm distribution
385
+
386
+ ---
387
+
388
+ ## [0.4.1] — 2026-03-19
389
+
390
+ ### 🌐 CLI Internationalization + DevOps Hardening
391
+
392
+ ### Added
393
+ - **10-language CLI installer** — EN, FR, ES, DE, PT-BR, RU, ZH, HE, JA, IT with language selector at startup
394
+ - **CI/CD pipeline** — `publish-distribution.yml` GitHub Action (Golden Public repo scrubbing)
395
+ - **`.npmignore`**Excludes private directories from npm package
396
+ - **`/deploy` workflow** — Mandatory pre-deployment checklist
397
+ - **Post-install guide** — Enriched with all packs (SEO, Backup, Animated Website)
398
+
399
+ ### Fixed
400
+ - **Security** — Purged `secrets/github_pat.txt` from git history, fixed `.gitignore` UTF-16 corruption
401
+ - **Version badges** Updated from 0.1.0 0.4.1 across all 5 READMEs
402
+ - **Project structure** — Updated trees in both Golden and Distribution READMEs
403
+
404
+ ---
405
+
406
+ ## [0.4.0]2026-03-19
407
+
408
+ ### 🏢 SEO Engine — Enterprise Extensions (Sprint 4)
409
+
410
+ ### Added
411
+ - **Google Search Console extension** OAuth2 client for organic search data (queries, pages, coverage, sitemaps)
412
+ - **Google Analytics 4 extension** GA4 Data API client for organic traffic, landing pages, and engagement metrics
413
+ - Both extensions include setup guides, Python clients, and separate requirements
414
+
415
+ ### Notes
416
+ - Extensions are **optional** and require OAuth2 setup (see `EXTENSION.md` in each directory)
417
+ - Core SEO Engine (SKILL.md + 3 agents + Python toolkit) works without extensions
418
+ - GSC and GA4 share OAuth2 credentials for simplified auth flow
419
+
420
+ ---
421
+
422
+ ## [0.3.3] 2026-03-19
423
+
424
+ ### 🧪 SEO Engine Quality & Security (Sprint 3)
425
+
426
+ ### Added
427
+ - **Unit tests** 50 pytest tests covering all Python scripts (fetch, parse, crawl, APIs)
428
+ - **Pre-commit hook** — `hooks/seo-check.sh` validates HTML for title, meta, alt, H1 before commit
429
+ - **Audit JSON schema** — `ref/audit-schema.json` standardized export format for dashboard/API integration
430
+ - **Test fixture** — `tests/fixtures/sample_page.html` with known SEO elements
431
+
432
+ ---
433
+
434
+ ## [0.3.2] — 2026-03-19
435
+
436
+ ### 📊 SEO Engine Reports, Competitor & Hreflang (Sprint 2)
437
+
438
+ ### Added
439
+ - **seo_report.py** — Professional HTML report generator with inline SVG radar chart, color-coded issue cards, quick wins section, and print-friendly CSS
440
+ - **Benchmarker role** — Added to Chief agent for `/seo competitor` command (side-by-side site comparison with delta scoring)
441
+ - **hreflang-rules.md** Complete hreflang audit reference with 7 validation rules, 6 common error patterns, and 12-point checklist
442
+
443
+ ---
444
+
445
+ ## [0.3.1] 2026-03-19
446
+
447
+ ### 🔧 SEO Engine Enhancements (Sprint 1)
448
+
449
+ ### Added
450
+ - **SKILL.md orchestrator** — Single entry point routing 15 `/seo` commands to the right agents
451
+ - **seo_apis.py** — Google APIs client (PageSpeed Insights, CrUX field data, Rich Results Test)
452
+ - **requirements.txt** — Python dependencies (requests, beautifulsoup4, lxml)
453
+ - **install.sh + install.ps1** Cross-platform dependency installer with venv support
454
+
455
+ ---
456
+
457
+ ## [0.3.0] — 2026-03-19
458
+
459
+ ### 🚀 SEO Engine v2.0 — Complete Rewrite
460
+
461
+ ### Added
462
+ - **3 multi-role SEO agents** (replacing single monolithic agent):
463
+ - 🔎 **Scout** Technical scanner (Crawler, Inspector, Photographer)
464
+ - ⚖️ **Judge** — Content & AI analyst (Content Expert, Schema Master, GEO Analyst)
465
+ - 👑 **Chief** — Strategist & reporter (Scorer, Strategist, Reporter)
466
+ - **4 Python scripts** (new toolkit):
467
+ - `seo_fetch.py`Secure HTTP fetcher with SSRF protection and multi-UA support
468
+ - `seo_parse.py` — HTML parser for meta, schema, links, images, word count
469
+ - `seo_crawl.py` Recursive mini-crawler with sitemap parsing and orphan detection
470
+ - `seo_screenshot.py` — Playwright viewport screenshots with above-fold analysis
471
+ - **6 reference documents**:
472
+ - Core Web Vitals 2026 thresholds (LCP subparts, INP, CLS)
473
+ - Schema.org v29.4 type catalog with deprecation status
474
+ - E-E-A-T scoring grid (100-point evaluation)
475
+ - GEO signals for AI search optimization (Google AI Overviews, ChatGPT, Perplexity)
476
+ - Quality gates with content thresholds by page type
477
+ - 14 ready-to-use JSON-LD schema templates
478
+ - **6-phase audit workflow** with PageSpeed perfection loop
479
+ - **SEO Health Score (0–100)** with 7 weighted categories
480
+ - **Auto-generated code fixes** for common SEO issues
481
+ - **13 user commands** (`/seo full`, `/seo quick`, `/seo pagespeed`, etc.)
482
+ - **Monitoring system** with historical score comparison
483
+
484
+ ### Changed
485
+ - SEO Audit 360 pack upgraded from v1.0 to v2.0
486
+ - Architecture: single SKILL.md → 3 specialized agents with parallel execution
487
+
488
+ ### Preserved
489
+ - `pagespeed-playbook.md` Battle-tested oveanet.ch PageSpeed optimization loop
490
+ - `checklist.md` — Original PageSpeed perfection checklist
491
+
492
+ ---
493
+
494
+ ## [0.2.0] — 2026-03-18
495
+
496
+ ### 🔀 Oveanet Fusion
497
+
498
+ ### Added
499
+ - **3 new utility packs** from oveanet-agents:
500
+ - 🔍 **SEO Audit 360** — 9-category audit for search engines + AI engines (by Oveanet)
501
+ - 🗂️ **Universal Backup** — Timestamped ZIP backup with smart exclusions (by Oveanet)
502
+ - 🎬 **Animated Website** — Luxury scroll-driven website from video (by Oveanet)
503
+ - `oveanet-pack/` directory as source for oveanet agent content
504
+ - Oveanet sync documentation in `process-info.md`
505
+
506
+ ### Changed
507
+ - Installer now shows 7 packs (Core + OSINT + Maker + Audit + SEO + Backup + Animated)
508
+ - `package.json` includes `oveanet-pack` in npm distribution
509
+
510
+ ### Removed
511
+ - `pour etudier/` directory (content migrated to `oveanet-pack/`)
512
+
513
+ ---
514
+
515
+ ## [0.1.3] 2026-03-18
516
+
517
+ ### 🔧 Cross-Platform Fix
518
+
519
+ ### Fixed
520
+ - LF line endings for `bin` scripts (fixes `npx` execution on macOS/Linux)
521
+ - Added `.gitattributes` to enforce LF on executable scripts
522
+
523
+ ---
524
+
525
+ ## [0.1.2] 2026-03-17
526
+
527
+ ### 📝 Credits Update
528
+
529
+ ### Changed
530
+ - Author credits translated to English in CLI installer and READMEs
531
+ - Added LinkedIn link to credits section
532
+
533
+ ---
534
+
535
+ ## [0.1.1]2026-03-17
536
+
537
+ ### 👤 Author Attribution
538
+
539
+ ### Added
540
+ - Laurent Rochetta credit in `README.md`, `README-DIST.md`, and CLI success message
541
+ - GitHub and LinkedIn links in credits section
542
+
543
+ ---
544
+
545
+ ## [0.1.0] 2026-03-17
546
+
547
+ ### 🎉 Initial Release — Foundation
548
+
549
+ First release of BMAD+, an augmented fork of BMAD-METHOD v6.2.0.
550
+
551
+ ### Added
552
+
553
+ #### Core Module (`src/bmad-plus/`)
554
+ - **module.yaml** Module configuration with execution mode, auto-role activation, parallel execution, and modular pack system
555
+ - **module-help.csv** — Contextual help for all 8 registered skills/agents
556
+
557
+ #### 5 Multi-Role Agents
558
+ - **Atlas (Strategist)** — Fuses Analyst + PM into 2 switchable roles with auto-activation
559
+ - **Forge (Architect-Dev)** — Fuses Architect + Dev + Tech Writer into 3 switchable roles
560
+ - **Sentinel (Quality)** — Fuses QA + UX Designer into 2 switchable roles
561
+ - **Nexus (Orchestrator)** — Fuses SM + Quick-Flow + new Autopilot Controller + new Parallel Supervisor (4 roles)
562
+ - **Shadow (OSINT)** — Converted from legacy XML agent to BMAD+ v6 format (pack: osint)
563
+
564
+ #### 3 Custom Skills
565
+ - **bmad-plus-autopilot** — Full pipeline automation (Discovery → Build → Ship) with configurable checkpoints
566
+ - **bmad-plus-parallel** — Multi-agent parallel execution with orchestrator supervision (launch/stop/restart/reallocate/escalate)
567
+ - **bmad-plus-sync** — Upstream synchronization via VPS MCP Server
568
+
569
+ #### Auto-Activation System
570
+ - **role-triggers.yaml** — 3-level intelligent role switching:
571
+ - Level 1: Pattern matching (keywords in user requests)
572
+ - Level 2: Contextual analysis (domain detection during work)
573
+ - Level 3: Reasoning chains (logical discoveries during execution)
574
+
575
+ #### Modular Pack System
576
+ - **Core pack** (required) — 4 agents, 3 skills, role-triggers
577
+ - **OSINT pack** (optional) — Shadow agent + OSINT investigation skills
578
+ - **Maker pack** (optional) — Maker meta-agent for creating new BMAD+ compatible agents (4-phase pipeline: Discovery → Design → Generation → Validation)
579
+ - **Audit pack** (coming soon) — Shield agent placeholder
580
+ - Multi-select installer menu with per-pack API key requirements
581
+
582
+ #### `npx bmad-plus install` CLI
583
+ - Interactive installer with pack selection, IDE auto-detection, user config
584
+ - Contextual post-install guide adapted to installed packs
585
+ - `--packs`, `--yes`, `--tools`, `--directory` flags for non-interactive use
586
+ - Uninstall command: `npx bmad-plus uninstall`
587
+
588
+ #### Monitoring System (`monitor/`)
589
+ - **weekly-check.py** — Weekly upstream monitoring script (cron)
590
+ - **ai_analyzer.py** — Gemini API-powered diff analysis (compatible/review/breaking)
591
+ - **notifier.py** — WhatsApp notifications via Evolution API + email fallback
592
+ - **mcp_bridge.py** — Bridge to Audit 360° MCP Server for VPS git/github operations
593
+ - **docker-compose.yml** — Evolution API container configuration
594
+ - **config.example.yaml** — Configuration template
595
+
596
+ #### Multi-IDE Support
597
+ - **CLAUDE.md** — Claude Code configuration
598
+ - **GEMINI.md** — Gemini CLI configuration
599
+ - **AGENTS.md** — Codex CLI / OpenCode configuration
600
+
601
+ #### Integration
602
+ - Integrated existing **osint-agent-package** (Shadow agent, 55+ Apify actors, 7 APIs)
603
+ - Integrated existing **mcp-server** (Audit 360° with 35 tools) via MCP Bridge
604
+
605
+ ### Upstream Compatibility
606
+ - Based on BMAD-METHOD v6.2.0 (2026-03-15)
607
+ - Compatible with core versions 6.0.0 — 7.0.0
608
+ - Replaces `bmm` module while keeping core skills
609
+
610
+ ---
611
+
612
+ *For earlier history, see the upstream [BMAD-METHOD CHANGELOG](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/CHANGELOG.md).*