bmad-plus 0.17.0 → 0.17.1

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 (57) hide show
  1. package/CHANGELOG.md +90 -29
  2. package/README.md +21 -21
  3. package/SECURITY.md +9 -1
  4. package/osint-agent-package/README.md +13 -0
  5. package/osint-agent-package/SETUP_KEYS.md +13 -0
  6. package/package.json +30 -8
  7. package/readme-international/README.de.md +134 -542
  8. package/readme-international/README.es.md +136 -561
  9. package/readme-international/README.fr.md +135 -558
  10. package/src/bmad-plus/agents/agent-shadow/SKILL.md +6 -0
  11. package/src/bmad-plus/packs/pack-memory/README.md +1 -1
  12. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +1 -1
  13. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +1 -1
  14. package/src/bmad-plus/packs/pack-shield/README.md +2 -0
  15. package/src/bmad-plus/packs/pack-shield/SKILL.md +2 -0
  16. package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +6 -0
  17. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +4 -0
  18. package/tools/build/adapters.config.js +1 -1
  19. package/tools/build/generate-adapters.js +186 -60
  20. package/tools/build/generate.js +49 -13
  21. package/tools/cli/bmad-plus-cli.js +3 -6
  22. package/tools/cli/commands/autoconfig.js +62 -22
  23. package/tools/cli/commands/install.js +620 -356
  24. package/tools/cli/commands/memory.js +40 -13
  25. package/tools/cli/commands/scan.js +94 -30
  26. package/tools/cli/commands/uninstall.js +65 -16
  27. package/tools/cli/commands/update-check.js +8 -3
  28. package/tools/cli/commands/update-policy.js +14 -5
  29. package/tools/cli/commands/update.js +89 -20
  30. package/tools/cli/i18n.js +120 -68
  31. package/tools/cli/lib/ide-config.js +3 -1
  32. package/tools/cli/lib/install-manifest.js +13 -6
  33. package/tools/cli/lib/installation-health.js +33 -1
  34. package/tools/cli/lib/installed-adapters.js +29 -6
  35. package/tools/cli/lib/memory-init.js +19 -4
  36. package/tools/cli/lib/packs.js +17 -28
  37. package/tools/cli/lib/path-hash.js +5 -1
  38. package/tools/cli/lib/python-provision.js +51 -12
  39. package/tools/cli/lib/stack-detect.js +51 -25
  40. package/tools/cli/lib/update-check.js +132 -34
  41. package/tools/cli/lib/update-dispatch.js +2 -2
  42. package/tools/cli/lib/update-policy.js +57 -19
  43. package/tools/cli/lib/update-transaction.js +439 -85
  44. package/tools/build/README.md +0 -78
  45. package/tools/build/check-counts.js +0 -626
  46. package/tools/build/check-install-contract.js +0 -648
  47. package/tools/build/generated-adapters/.codex/AGENTS.md +0 -134
  48. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +0 -139
  49. package/tools/build/generated-adapters/.opencode/AGENTS.md +0 -134
  50. package/tools/build/generated-adapters/AGENTS.md +0 -132
  51. package/tools/build/generated-adapters/CLAUDE.md +0 -135
  52. package/tools/build/generated-adapters/CONVENTIONS.md +0 -134
  53. package/tools/build/generated-adapters/GEMINI.md +0 -139
  54. package/tools/build/generated-adapters/README.md +0 -79
  55. package/tools/maintain/upstream-candidate.js +0 -456
  56. package/tools/release/publication-content.js +0 -904
  57. package/tools/release/supply-chain.js +0 -282
@@ -1,78 +0,0 @@
1
- # BMAD+ Build — Registry Generator (Pillar 1)
2
-
3
- `registry.yaml` at the repo root is the **single source of truth** for the
4
- 9 packs, their agents, skills, data files, install layout, runtimes, and
5
- compliance tags. Until now this data was hand-replicated in 5 places
6
- (`tools/cli/lib/packs.js`, `src/bmad-plus/module.yaml`, `install.js`,
7
- `ide-config.js`, `i18n.js`) — and they drifted.
8
-
9
- `tools/build/generate.js` reads `registry.yaml` and generates the pack data
10
- consumed by the CLI. The migration proof (`tests/unit/generate.test.js`)
11
- asserts the generated `PACKS` / `PACK_ORDER` / `EXPECTED_AGENTS` are
12
- **deep-strict-equal** to the hand-written `tools/cli/lib/packs.js`, so the
13
- registry provably captures current reality before anything is replaced.
14
-
15
- ## Usage
16
-
17
- ```bash
18
- # Print the generated packs module source (drop-in packs.js replacement)
19
- node tools/build/generate.js
20
-
21
- # Print PACKS / PACK_ORDER / EXPECTED_AGENTS as JSON
22
- node tools/build/generate.js --json
23
-
24
- # Write the generated module to a file
25
- node tools/build/generate.js --out tools/cli/lib/packs.generated.js
26
-
27
- # CI drift gate: exit 1 if registry.yaml no longer reproduces packs.js
28
- # (also asserts product.version == package.json version)
29
- node tools/build/generate.js --check
30
- ```
31
-
32
- ## Registry contract (fields the generator consumes)
33
-
34
- Per pack under `packs:` in `registry.yaml`:
35
-
36
- | Field | Maps to | Notes |
37
- | --- | --- | --- |
38
- | `order` | `PACK_ORDER` position | integer, unique |
39
- | `cli.name` / `cli.icon` / `cli.desc` | `PACKS[id].name/icon/desc` | exact CLI strings (icon = glyph letter) |
40
- | `agents` | `PACKS[id].agents` | agent ids the installer copies |
41
- | `skills` | `PACKS[id].skills` | defaults to `[]` |
42
- | `data` | `PACKS[id].data` | **key presence is significant** — only core & maker declare it |
43
- | `external_package` | `PACKS[id].externalPackage` | osint only |
44
- | `pack_dir` / `pack_src_dir` | `PACKS[id].packDir/packSrcDir` | `pack_src_dir` defaults to `packs` |
45
- | `required` | `PACKS[id].required` | emitted **only when `true`** (packs.js omits it otherwise) |
46
- | `install_layout` | `EXPECTED_AGENTS[id]` | `loose` → agents as directories, `packDir: null`; `packaged` → `packDir` + `doctor.pack_agents` |
47
- | `doctor.pack_agents` | `EXPECTED_AGENTS[id].packAgents` | agent **filenames** inside `pack_dir` (packaged only) |
48
-
49
- Everything else in `registry.yaml` (`display_name`, `icon_emoji`, `summary`,
50
- `runtime`, `categories`, `workflows`, `governance`, `compliance_tags`,
51
- `targets`, `runtimes`, `memory`, `eval`) is north-star metadata consumed by
52
- future generators (module.yaml, README count tables, per-CLI adapters,
53
- role-triggers) — declared once here so counts are derived, never typed.
54
-
55
- ## Editing workflow
56
-
57
- 1. Edit `registry.yaml` (never the generated data).
58
- 2. Run `node tools/build/generate.js --check`.
59
- 3. While `packs.js` is still hand-written (migration phase), sync it via
60
- `node tools/build/generate.js --out tools/cli/lib/packs.js` or apply the
61
- equivalent hand edit — `--check` and `tests/unit/generate.test.js`
62
- (`npx jest tests/unit/generate.test.js`) both fail on any divergence.
63
-
64
- ## Migration end-state (for the orchestrator)
65
-
66
- Once integration is approved, `tools/cli/lib/packs.js` becomes either:
67
-
68
- - a checked-in generated file (`generate.js --out tools/cli/lib/packs.js`,
69
- with `--check` as a CI/pre-commit gate), or
70
- - a thin runtime re-export:
71
-
72
- ```js
73
- const { loadRegistry, buildAll } = require('../../build/generate');
74
- module.exports = buildAll(loadRegistry());
75
- ```
76
-
77
- Both keep the exact `{ PACKS, PACK_ORDER, EXPECTED_AGENTS }` shape every CLI
78
- command already imports, so no call site changes.