bmad-plus 0.8.0 → 0.9.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.
- package/CHANGELOG.md +45 -1
- package/LICENSE +21 -21
- package/README.md +107 -85
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -266
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +30 -3
- package/readme-international/README.de.md +18 -5
- package/readme-international/README.es.md +40 -12
- package/readme-international/README.fr.md +36 -8
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/packs/pack-seo/bmad-skill-manifest.yaml +13 -0
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/SKILL.md +82 -0
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +168 -168
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +190 -190
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +86 -86
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +240 -240
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +122 -122
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +210 -210
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +139 -139
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +156 -156
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +72 -72
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +207 -207
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +116 -116
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +261 -261
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +191 -191
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +356 -356
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +499 -499
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +236 -236
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +162 -162
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +228 -228
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +255 -255
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +153 -153
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/bmad-plus-npx.js +3 -5
- package/tools/cli/bmad-plus-cli.js +5 -3
- package/tools/cli/commands/autoconfig.js +18 -61
- package/tools/cli/commands/doctor.js +30 -31
- package/tools/cli/commands/install.js +33 -343
- package/tools/cli/commands/memory.js +1 -0
- package/tools/cli/commands/scan.js +61 -74
- package/tools/cli/commands/uninstall.js +7 -4
- package/tools/cli/commands/update.js +15 -72
- package/tools/cli/i18n.js +92 -10
- package/tools/cli/lib/ide-config.js +259 -0
- package/tools/cli/lib/memory-init.js +113 -0
- package/tools/cli/lib/pack-copy.js +84 -0
- package/tools/cli/lib/packs.js +114 -0
- package/tools/cli/lib/stack-detect.js +102 -0
- package/tools/cli/lib/validate.js +45 -0
- package/src/bmad-plus/agents/pack-animated/animated-website-agent.md +0 -325
- package/src/bmad-plus/agents/pack-animated/templates/animated-website-workflow.md +0 -55
- package/src/bmad-plus/agents/pack-backup/backup-agent.md +0 -71
- package/src/bmad-plus/agents/pack-backup/templates/backup-workflow.md +0 -51
- package/src/bmad-plus/agents/pack-seo/SKILL.md +0 -171
- package/src/bmad-plus/agents/pack-seo/checklist.md +0 -140
- package/src/bmad-plus/agents/pack-seo/pagespeed-playbook.md +0 -320
- package/src/bmad-plus/agents/pack-seo/ref/audit-schema.json +0 -187
- package/src/bmad-plus/agents/pack-seo/ref/cwv-thresholds.md +0 -87
- package/src/bmad-plus/agents/pack-seo/ref/eeat-criteria.md +0 -123
- package/src/bmad-plus/agents/pack-seo/ref/geo-signals.md +0 -167
- package/src/bmad-plus/agents/pack-seo/ref/hreflang-rules.md +0 -153
- package/src/bmad-plus/agents/pack-seo/ref/quality-gates.md +0 -133
- package/src/bmad-plus/agents/pack-seo/ref/schema-catalog.md +0 -91
- package/src/bmad-plus/agents/pack-seo/ref/schema-templates.json +0 -356
- package/src/bmad-plus/agents/pack-seo/seo-chief.md +0 -294
- package/src/bmad-plus/agents/pack-seo/seo-judge.md +0 -241
- package/src/bmad-plus/agents/pack-seo/seo-scout.md +0 -171
- package/src/bmad-plus/agents/pack-seo/templates/seo-audit-workflow.md +0 -241
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
# Pack Memory — Orchestrator
|
|
2
|
-
|
|
3
|
-
> Manages the persistent memory system for BMAD+ projects.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
Pack Memory provides a two-level persistent brain for BMAD+:
|
|
8
|
-
- **Project memory** (`.agents/memory/`) — decisions, lessons, patterns specific to one project
|
|
9
|
-
- **Global brain** (`~/.bmad-plus/brain/`) — cross-project knowledge that grows over time
|
|
10
|
-
|
|
11
|
-
## Agent
|
|
12
|
-
|
|
13
|
-
| Agent | Hebrew | Role |
|
|
14
|
-
|-------|--------|------|
|
|
15
|
-
| **Zecher** | זכר (remembrance) | Memory archivist — consolidation, scanning, recall |
|
|
16
|
-
|
|
17
|
-
## Activation
|
|
18
|
-
|
|
19
|
-
Pack Memory activates automatically when installed:
|
|
20
|
-
- At session start: agents load project memory + global identity
|
|
21
|
-
- During session: agents write decisions/lessons/patterns on trigger
|
|
22
|
-
- At session end: session handoff is persisted
|
|
23
|
-
|
|
24
|
-
Manual activation via Zecher:
|
|
25
|
-
- `"Zecher, scan projects in D:\travail\DEV"` — discover and index all projects
|
|
26
|
-
- `"Zecher, consolidate memory"` — deduplicate, archive stale, promote
|
|
27
|
-
- `"Zecher, where were we?"` — reconstruct context from last session
|
|
28
|
-
- `"Zecher, health check"` — verify memory integrity
|
|
29
|
-
|
|
30
|
-
## Memory Protocol
|
|
31
|
-
|
|
32
|
-
See `shared/memory-protocol.md` for the complete read/write protocol.
|
|
33
|
-
|
|
34
|
-
## Behavioral Guardrails
|
|
35
|
-
|
|
36
|
-
See `shared/karpathy-guardrails.md` for the 4 Karpathy principles with memory integration.
|
|
37
|
-
|
|
38
|
-
## Files
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
pack-memory/
|
|
42
|
-
├── README.md ← You are here
|
|
43
|
-
├── memory-orchestrator.md ← This file
|
|
44
|
-
├── zecher-agent.md ← Memory Agent (Zecher)
|
|
45
|
-
├── shared/
|
|
46
|
-
│ ├── karpathy-guardrails.md ← 4 Karpathy principles + memory hooks
|
|
47
|
-
│ └── memory-protocol.md ← Complete read/write protocol
|
|
48
|
-
└── templates/
|
|
49
|
-
├── decisions.md ← ADR template
|
|
50
|
-
├── lessons.md ← Lessons template
|
|
51
|
-
├── patterns.md ← Patterns template
|
|
52
|
-
├── context.md ← Living project context
|
|
53
|
-
├── session-handoff.md ← Session handoff template
|
|
54
|
-
└── identity.yaml ← User preferences (global brain)
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Cohabitation Warning
|
|
58
|
-
|
|
59
|
-
> ⚠️ If you have an existing brain directory (`_brain/`, `~/.claude/memory/`, etc.),
|
|
60
|
-
> BMAD+ will detect it and **link to it** instead of creating a duplicate.
|
|
61
|
-
> Your existing memory will NOT be overwritten.
|
|
62
|
-
|
|
63
|
-
## Installation Behavior
|
|
64
|
-
|
|
65
|
-
When Pack Memory is selected during `npx bmad-plus install`:
|
|
66
|
-
|
|
67
|
-
1. **Brain detection** — Scans for existing brain directories
|
|
68
|
-
2. **Project memory** — Creates `.agents/memory/` with templates
|
|
69
|
-
3. **Global brain** — Creates `~/.bmad-plus/brain/` if it doesn't exist
|
|
70
|
-
4. **Identity setup** — Generates `identity.yaml` from user's install answers
|
|
71
|
-
5. **Guardrails injection** — Makes `karpathy-guardrails.md` available to all agents
|
|
72
|
-
|
|
73
|
-
## CLI Commands (planned)
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
npx bmad-plus scan [path] — Scan and index projects interactively
|
|
77
|
-
npx bmad-plus memory status — Show memory health report
|
|
78
|
-
npx bmad-plus memory export — Export brain as portable archive
|
|
79
|
-
```
|
|
1
|
+
# Pack Memory — Orchestrator
|
|
2
|
+
|
|
3
|
+
> Manages the persistent memory system for BMAD+ projects.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Pack Memory provides a two-level persistent brain for BMAD+:
|
|
8
|
+
- **Project memory** (`.agents/memory/`) — decisions, lessons, patterns specific to one project
|
|
9
|
+
- **Global brain** (`~/.bmad-plus/brain/`) — cross-project knowledge that grows over time
|
|
10
|
+
|
|
11
|
+
## Agent
|
|
12
|
+
|
|
13
|
+
| Agent | Hebrew | Role |
|
|
14
|
+
|-------|--------|------|
|
|
15
|
+
| **Zecher** | זכר (remembrance) | Memory archivist — consolidation, scanning, recall |
|
|
16
|
+
|
|
17
|
+
## Activation
|
|
18
|
+
|
|
19
|
+
Pack Memory activates automatically when installed:
|
|
20
|
+
- At session start: agents load project memory + global identity
|
|
21
|
+
- During session: agents write decisions/lessons/patterns on trigger
|
|
22
|
+
- At session end: session handoff is persisted
|
|
23
|
+
|
|
24
|
+
Manual activation via Zecher:
|
|
25
|
+
- `"Zecher, scan projects in D:\travail\DEV"` — discover and index all projects
|
|
26
|
+
- `"Zecher, consolidate memory"` — deduplicate, archive stale, promote
|
|
27
|
+
- `"Zecher, where were we?"` — reconstruct context from last session
|
|
28
|
+
- `"Zecher, health check"` — verify memory integrity
|
|
29
|
+
|
|
30
|
+
## Memory Protocol
|
|
31
|
+
|
|
32
|
+
See `shared/memory-protocol.md` for the complete read/write protocol.
|
|
33
|
+
|
|
34
|
+
## Behavioral Guardrails
|
|
35
|
+
|
|
36
|
+
See `shared/karpathy-guardrails.md` for the 4 Karpathy principles with memory integration.
|
|
37
|
+
|
|
38
|
+
## Files
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
pack-memory/
|
|
42
|
+
├── README.md ← You are here
|
|
43
|
+
├── memory-orchestrator.md ← This file
|
|
44
|
+
├── zecher-agent.md ← Memory Agent (Zecher)
|
|
45
|
+
├── shared/
|
|
46
|
+
│ ├── karpathy-guardrails.md ← 4 Karpathy principles + memory hooks
|
|
47
|
+
│ └── memory-protocol.md ← Complete read/write protocol
|
|
48
|
+
└── templates/
|
|
49
|
+
├── decisions.md ← ADR template
|
|
50
|
+
├── lessons.md ← Lessons template
|
|
51
|
+
├── patterns.md ← Patterns template
|
|
52
|
+
├── context.md ← Living project context
|
|
53
|
+
├── session-handoff.md ← Session handoff template
|
|
54
|
+
└── identity.yaml ← User preferences (global brain)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Cohabitation Warning
|
|
58
|
+
|
|
59
|
+
> ⚠️ If you have an existing brain directory (`_brain/`, `~/.claude/memory/`, etc.),
|
|
60
|
+
> BMAD+ will detect it and **link to it** instead of creating a duplicate.
|
|
61
|
+
> Your existing memory will NOT be overwritten.
|
|
62
|
+
|
|
63
|
+
## Installation Behavior
|
|
64
|
+
|
|
65
|
+
When Pack Memory is selected during `npx bmad-plus install`:
|
|
66
|
+
|
|
67
|
+
1. **Brain detection** — Scans for existing brain directories
|
|
68
|
+
2. **Project memory** — Creates `.agents/memory/` with templates
|
|
69
|
+
3. **Global brain** — Creates `~/.bmad-plus/brain/` if it doesn't exist
|
|
70
|
+
4. **Identity setup** — Generates `identity.yaml` from user's install answers
|
|
71
|
+
5. **Guardrails injection** — Makes `karpathy-guardrails.md` available to all agents
|
|
72
|
+
|
|
73
|
+
## CLI Commands (planned)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
npx bmad-plus scan [path] — Scan and index projects interactively
|
|
77
|
+
npx bmad-plus memory status — Show memory health report
|
|
78
|
+
npx bmad-plus memory export — Export brain as portable archive
|
|
79
|
+
```
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# Karpathy Guardrails — BMAD+ Agent Behavioral Guidelines
|
|
2
|
-
|
|
3
|
-
> Adapted from [andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) (132K ⭐, MIT License)
|
|
4
|
-
> Enhanced with BMAD+ memory integration
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## G1 — Think Before Coding
|
|
9
|
-
|
|
10
|
-
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
11
|
-
|
|
12
|
-
Before implementing:
|
|
13
|
-
- State your assumptions explicitly. If uncertain, **ask**.
|
|
14
|
-
- If multiple interpretations exist, present them — don't pick silently.
|
|
15
|
-
- If a simpler approach exists, say so. Push back when warranted.
|
|
16
|
-
- If something is unclear, stop. Name what's confusing. Ask.
|
|
17
|
-
- **Check `.agents/memory/decisions.md`** for prior decisions on this topic before deciding again.
|
|
18
|
-
- **Check `.agents/memory/lessons.md`** for known pitfalls before proceeding.
|
|
19
|
-
|
|
20
|
-
## G2 — Simplicity First
|
|
21
|
-
|
|
22
|
-
**Minimum code that solves the problem. Nothing speculative.**
|
|
23
|
-
|
|
24
|
-
- No features beyond what was asked.
|
|
25
|
-
- No abstractions for single-use code.
|
|
26
|
-
- No "flexibility" or "configurability" that wasn't requested.
|
|
27
|
-
- No error handling for impossible scenarios.
|
|
28
|
-
- If you write 200 lines and it could be 50, rewrite it.
|
|
29
|
-
- **Check `.agents/memory/patterns.md`** — a pattern that already solved this might exist.
|
|
30
|
-
|
|
31
|
-
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
32
|
-
|
|
33
|
-
## G3 — Surgical Changes
|
|
34
|
-
|
|
35
|
-
**Touch only what you must. Clean up only your own mess.**
|
|
36
|
-
|
|
37
|
-
When editing existing code:
|
|
38
|
-
- Don't "improve" adjacent code, comments, or formatting.
|
|
39
|
-
- Don't refactor things that aren't broken.
|
|
40
|
-
- Match existing style, even if you'd do it differently.
|
|
41
|
-
- If you notice unrelated dead code, mention it — don't delete it.
|
|
42
|
-
|
|
43
|
-
When your changes create orphans:
|
|
44
|
-
- Remove imports/variables/functions that YOUR changes made unused.
|
|
45
|
-
- Don't remove pre-existing dead code unless asked.
|
|
46
|
-
|
|
47
|
-
The test: Every changed line should trace directly to the user's request.
|
|
48
|
-
|
|
49
|
-
**Memory integration**: If you discover something surprising, **log it immediately** in `.agents/memory/lessons.md`.
|
|
50
|
-
|
|
51
|
-
## G4 — Goal-Driven Execution
|
|
52
|
-
|
|
53
|
-
**Define success criteria. Loop until verified.**
|
|
54
|
-
|
|
55
|
-
Transform tasks into verifiable goals:
|
|
56
|
-
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
57
|
-
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
58
|
-
- "Refactor X" → "Ensure tests pass before and after"
|
|
59
|
-
|
|
60
|
-
For multi-step tasks, state a brief plan:
|
|
61
|
-
```
|
|
62
|
-
1. [Step] → verify: [check]
|
|
63
|
-
2. [Step] → verify: [check]
|
|
64
|
-
3. [Step] → verify: [check]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|
|
68
|
-
|
|
69
|
-
**Memory integration**: Log non-obvious architectural decisions in `.agents/memory/decisions.md` with rationale.
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## When These Guidelines Are Working
|
|
74
|
-
|
|
75
|
-
- Fewer unnecessary changes in diffs — only requested changes appear
|
|
76
|
-
- Fewer rewrites due to overcomplication — code is simple the first time
|
|
77
|
-
- Clarifying questions come BEFORE implementation — not after mistakes
|
|
78
|
-
- Clean, minimal PRs — no drive-by refactoring or "improvements"
|
|
79
|
-
- **Persistent learning** — the same mistake never happens twice because it's in lessons.md
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## Attribution
|
|
84
|
-
|
|
85
|
-
Behavioral principles by [Andrej Karpathy](https://x.com/karpathy) via [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) (MIT License).
|
|
86
|
-
Memory integration by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS).
|
|
1
|
+
# Karpathy Guardrails — BMAD+ Agent Behavioral Guidelines
|
|
2
|
+
|
|
3
|
+
> Adapted from [andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) (132K ⭐, MIT License)
|
|
4
|
+
> Enhanced with BMAD+ memory integration
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## G1 — Think Before Coding
|
|
9
|
+
|
|
10
|
+
**Don't assume. Don't hide confusion. Surface tradeoffs.**
|
|
11
|
+
|
|
12
|
+
Before implementing:
|
|
13
|
+
- State your assumptions explicitly. If uncertain, **ask**.
|
|
14
|
+
- If multiple interpretations exist, present them — don't pick silently.
|
|
15
|
+
- If a simpler approach exists, say so. Push back when warranted.
|
|
16
|
+
- If something is unclear, stop. Name what's confusing. Ask.
|
|
17
|
+
- **Check `.agents/memory/decisions.md`** for prior decisions on this topic before deciding again.
|
|
18
|
+
- **Check `.agents/memory/lessons.md`** for known pitfalls before proceeding.
|
|
19
|
+
|
|
20
|
+
## G2 — Simplicity First
|
|
21
|
+
|
|
22
|
+
**Minimum code that solves the problem. Nothing speculative.**
|
|
23
|
+
|
|
24
|
+
- No features beyond what was asked.
|
|
25
|
+
- No abstractions for single-use code.
|
|
26
|
+
- No "flexibility" or "configurability" that wasn't requested.
|
|
27
|
+
- No error handling for impossible scenarios.
|
|
28
|
+
- If you write 200 lines and it could be 50, rewrite it.
|
|
29
|
+
- **Check `.agents/memory/patterns.md`** — a pattern that already solved this might exist.
|
|
30
|
+
|
|
31
|
+
Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
|
|
32
|
+
|
|
33
|
+
## G3 — Surgical Changes
|
|
34
|
+
|
|
35
|
+
**Touch only what you must. Clean up only your own mess.**
|
|
36
|
+
|
|
37
|
+
When editing existing code:
|
|
38
|
+
- Don't "improve" adjacent code, comments, or formatting.
|
|
39
|
+
- Don't refactor things that aren't broken.
|
|
40
|
+
- Match existing style, even if you'd do it differently.
|
|
41
|
+
- If you notice unrelated dead code, mention it — don't delete it.
|
|
42
|
+
|
|
43
|
+
When your changes create orphans:
|
|
44
|
+
- Remove imports/variables/functions that YOUR changes made unused.
|
|
45
|
+
- Don't remove pre-existing dead code unless asked.
|
|
46
|
+
|
|
47
|
+
The test: Every changed line should trace directly to the user's request.
|
|
48
|
+
|
|
49
|
+
**Memory integration**: If you discover something surprising, **log it immediately** in `.agents/memory/lessons.md`.
|
|
50
|
+
|
|
51
|
+
## G4 — Goal-Driven Execution
|
|
52
|
+
|
|
53
|
+
**Define success criteria. Loop until verified.**
|
|
54
|
+
|
|
55
|
+
Transform tasks into verifiable goals:
|
|
56
|
+
- "Add validation" → "Write tests for invalid inputs, then make them pass"
|
|
57
|
+
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
|
|
58
|
+
- "Refactor X" → "Ensure tests pass before and after"
|
|
59
|
+
|
|
60
|
+
For multi-step tasks, state a brief plan:
|
|
61
|
+
```
|
|
62
|
+
1. [Step] → verify: [check]
|
|
63
|
+
2. [Step] → verify: [check]
|
|
64
|
+
3. [Step] → verify: [check]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
|
|
68
|
+
|
|
69
|
+
**Memory integration**: Log non-obvious architectural decisions in `.agents/memory/decisions.md` with rationale.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## When These Guidelines Are Working
|
|
74
|
+
|
|
75
|
+
- Fewer unnecessary changes in diffs — only requested changes appear
|
|
76
|
+
- Fewer rewrites due to overcomplication — code is simple the first time
|
|
77
|
+
- Clarifying questions come BEFORE implementation — not after mistakes
|
|
78
|
+
- Clean, minimal PRs — no drive-by refactoring or "improvements"
|
|
79
|
+
- **Persistent learning** — the same mistake never happens twice because it's in lessons.md
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Attribution
|
|
84
|
+
|
|
85
|
+
Behavioral principles by [Andrej Karpathy](https://x.com/karpathy) via [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) (MIT License).
|
|
86
|
+
Memory integration by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS).
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
# Memory Protocol — When and How Agents Use Memory
|
|
2
|
-
|
|
3
|
-
> This protocol defines when BMAD+ agents should read from and write to the persistent memory system.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Memory Locations
|
|
8
|
-
|
|
9
|
-
### Project Memory (per-project)
|
|
10
|
-
```
|
|
11
|
-
<project>/.agents/memory/
|
|
12
|
-
├── decisions.md ← Architectural decisions for THIS project
|
|
13
|
-
├── lessons.md ← Mistakes and surprises in THIS project
|
|
14
|
-
├── patterns.md ← Validated patterns in THIS project
|
|
15
|
-
├── context.md ← Living state (auto-updated)
|
|
16
|
-
└── sessions/ ← Session handoffs
|
|
17
|
-
└── YYYY-MM-DD-<topic>.md
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Global Brain (cross-project)
|
|
21
|
-
```
|
|
22
|
-
~/.bmad-plus/brain/
|
|
23
|
-
├── identity.yaml ← User preferences (stack, style, rules)
|
|
24
|
-
├── decisions.md ← Cross-project decisions
|
|
25
|
-
├── lessons.md ← Cross-project lessons
|
|
26
|
-
├── patterns.md ← Reusable patterns
|
|
27
|
-
├── stack-preferences.md ← Default tech choices
|
|
28
|
-
└── projects/ ← Index of all BMAD+ projects
|
|
29
|
-
└── <hash>.yaml ← Per-project metadata
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Protocol: Session Start (READ)
|
|
35
|
-
|
|
36
|
-
Every agent MUST perform this sequence at the start of a meaningful session:
|
|
37
|
-
|
|
38
|
-
1. **Read `identity.yaml`** (global) — Know the user's preferences
|
|
39
|
-
2. **Read `context.md`** (project) — Understand current state
|
|
40
|
-
3. **Read `decisions.md`** (project) — Don't re-decide what's already decided
|
|
41
|
-
4. **Read `lessons.md`** (project) — Don't repeat known mistakes
|
|
42
|
-
5. **Optionally read latest `sessions/`** — If resuming work
|
|
43
|
-
|
|
44
|
-
> If a file doesn't exist, skip it silently. Memory is always optional.
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Protocol: During Session (WRITE on trigger)
|
|
49
|
-
|
|
50
|
-
### Trigger → decisions.md
|
|
51
|
-
**When**: A non-obvious architectural or strategic choice is made.
|
|
52
|
-
**What**: ADR-style entry (Context, Decision, Rationale, Consequences, Status).
|
|
53
|
-
**Rule**: If you'd explain "why" to a colleague, it's a decision worth logging.
|
|
54
|
-
|
|
55
|
-
### Trigger → lessons.md
|
|
56
|
-
**When**: Something unexpected happens, a bug is caused by a non-obvious issue, or an assumption proved wrong.
|
|
57
|
-
**What**: Context, Impact, Lesson (the rule to follow next time).
|
|
58
|
-
**Rule**: Log IMMEDIATELY — don't wait for session end.
|
|
59
|
-
|
|
60
|
-
### Trigger → patterns.md
|
|
61
|
-
**When**: A solution works well and could be reused in other contexts.
|
|
62
|
-
**What**: Problem, Shape, Trade-off, Status (candidate → validated).
|
|
63
|
-
**Rule**: Only promote to global patterns.md if used in 2+ projects.
|
|
64
|
-
|
|
65
|
-
### Trigger → context.md
|
|
66
|
-
**When**: The project state changes meaningfully (new module, stack change, architecture shift).
|
|
67
|
-
**What**: Update the relevant section.
|
|
68
|
-
**Rule**: Keep it concise — this file should be readable in 30 seconds.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Protocol: Session End (PERSIST)
|
|
73
|
-
|
|
74
|
-
If meaningful work was done:
|
|
75
|
-
|
|
76
|
-
1. **Write session handoff** → `sessions/YYYY-MM-DD-<topic>.md`
|
|
77
|
-
2. **Update `context.md`** → Reflect new reality
|
|
78
|
-
3. **Review pending lessons** → Any surprise worth logging?
|
|
79
|
-
4. **Cross-project check** → Any lesson/pattern that applies to ALL projects? → Copy to global brain.
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## The Golden Rule
|
|
84
|
-
|
|
85
|
-
> **If info applies to 1 project → project memory. If 2+ projects → global brain.**
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Merge Safety
|
|
90
|
-
|
|
91
|
-
When reinstalling BMAD+ or updating:
|
|
92
|
-
- **NEVER overwrite** decisions.md, lessons.md, patterns.md
|
|
93
|
-
- **NEVER delete** sessions/ directory
|
|
94
|
-
- **Safe to overwrite**: context.md template (user regenerates), identity.yaml template only if no user edits
|
|
95
|
-
- **Install manifest** (`.bmad-plus-install.json`) tracks what was installed, brain detection prevents overwrites
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Project Scanner Protocol
|
|
100
|
-
|
|
101
|
-
The `bmad-plus scan` command follows this protocol:
|
|
102
|
-
|
|
103
|
-
1. **Scan** target directory recursively for project markers (package.json, Cargo.toml, .git, etc.)
|
|
104
|
-
2. **Analyze** each discovered project (detect stack, status, last modified)
|
|
105
|
-
3. **Present** findings to user in interactive table
|
|
106
|
-
4. **User validates** each project (confirm, skip, edit metadata)
|
|
107
|
-
5. **Index** validated projects in `~/.bmad-plus/brain/projects/<hash>.yaml`
|
|
108
|
-
6. **Generate** project-level memory stubs if requested
|
|
109
|
-
|
|
110
|
-
### Project Detection Markers (priority order)
|
|
111
|
-
```
|
|
112
|
-
package.json → Node.js / JavaScript
|
|
113
|
-
Cargo.toml → Rust
|
|
114
|
-
requirements.txt → Python
|
|
115
|
-
pyproject.toml → Python
|
|
116
|
-
go.mod → Go
|
|
117
|
-
composer.json → PHP
|
|
118
|
-
Gemfile → Ruby
|
|
119
|
-
*.sln / *.csproj → .NET
|
|
120
|
-
pom.xml → Java
|
|
121
|
-
build.gradle → Java/Kotlin
|
|
122
|
-
.git → Any (version controlled)
|
|
123
|
-
AGENTS.md → Already agent-aware
|
|
124
|
-
.agents/ → Already BMAD+ installed
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Project Metadata (per scan)
|
|
128
|
-
```yaml
|
|
129
|
-
# ~/.bmad-plus/brain/projects/<hash>.yaml
|
|
130
|
-
path: "D:\\travail\\DEV\\my-project"
|
|
131
|
-
name: "my-project"
|
|
132
|
-
hash: "a1b2c3d4" # SHA256 of absolute path
|
|
133
|
-
stack:
|
|
134
|
-
primary: "Node.js"
|
|
135
|
-
framework: "Next.js 15"
|
|
136
|
-
database: "PostgreSQL"
|
|
137
|
-
status: "active" # active / paused / archived / unknown
|
|
138
|
-
last_modified: "2026-05-17"
|
|
139
|
-
last_scanned: "2026-05-17"
|
|
140
|
-
bmad_installed: true
|
|
141
|
-
packs_installed: ["core", "memory", "dev-studio"]
|
|
142
|
-
notes: "CRM client project"
|
|
143
|
-
```
|
|
1
|
+
# Memory Protocol — When and How Agents Use Memory
|
|
2
|
+
|
|
3
|
+
> This protocol defines when BMAD+ agents should read from and write to the persistent memory system.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Memory Locations
|
|
8
|
+
|
|
9
|
+
### Project Memory (per-project)
|
|
10
|
+
```
|
|
11
|
+
<project>/.agents/memory/
|
|
12
|
+
├── decisions.md ← Architectural decisions for THIS project
|
|
13
|
+
├── lessons.md ← Mistakes and surprises in THIS project
|
|
14
|
+
├── patterns.md ← Validated patterns in THIS project
|
|
15
|
+
├── context.md ← Living state (auto-updated)
|
|
16
|
+
└── sessions/ ← Session handoffs
|
|
17
|
+
└── YYYY-MM-DD-<topic>.md
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Global Brain (cross-project)
|
|
21
|
+
```
|
|
22
|
+
~/.bmad-plus/brain/
|
|
23
|
+
├── identity.yaml ← User preferences (stack, style, rules)
|
|
24
|
+
├── decisions.md ← Cross-project decisions
|
|
25
|
+
├── lessons.md ← Cross-project lessons
|
|
26
|
+
├── patterns.md ← Reusable patterns
|
|
27
|
+
├── stack-preferences.md ← Default tech choices
|
|
28
|
+
└── projects/ ← Index of all BMAD+ projects
|
|
29
|
+
└── <hash>.yaml ← Per-project metadata
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Protocol: Session Start (READ)
|
|
35
|
+
|
|
36
|
+
Every agent MUST perform this sequence at the start of a meaningful session:
|
|
37
|
+
|
|
38
|
+
1. **Read `identity.yaml`** (global) — Know the user's preferences
|
|
39
|
+
2. **Read `context.md`** (project) — Understand current state
|
|
40
|
+
3. **Read `decisions.md`** (project) — Don't re-decide what's already decided
|
|
41
|
+
4. **Read `lessons.md`** (project) — Don't repeat known mistakes
|
|
42
|
+
5. **Optionally read latest `sessions/`** — If resuming work
|
|
43
|
+
|
|
44
|
+
> If a file doesn't exist, skip it silently. Memory is always optional.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Protocol: During Session (WRITE on trigger)
|
|
49
|
+
|
|
50
|
+
### Trigger → decisions.md
|
|
51
|
+
**When**: A non-obvious architectural or strategic choice is made.
|
|
52
|
+
**What**: ADR-style entry (Context, Decision, Rationale, Consequences, Status).
|
|
53
|
+
**Rule**: If you'd explain "why" to a colleague, it's a decision worth logging.
|
|
54
|
+
|
|
55
|
+
### Trigger → lessons.md
|
|
56
|
+
**When**: Something unexpected happens, a bug is caused by a non-obvious issue, or an assumption proved wrong.
|
|
57
|
+
**What**: Context, Impact, Lesson (the rule to follow next time).
|
|
58
|
+
**Rule**: Log IMMEDIATELY — don't wait for session end.
|
|
59
|
+
|
|
60
|
+
### Trigger → patterns.md
|
|
61
|
+
**When**: A solution works well and could be reused in other contexts.
|
|
62
|
+
**What**: Problem, Shape, Trade-off, Status (candidate → validated).
|
|
63
|
+
**Rule**: Only promote to global patterns.md if used in 2+ projects.
|
|
64
|
+
|
|
65
|
+
### Trigger → context.md
|
|
66
|
+
**When**: The project state changes meaningfully (new module, stack change, architecture shift).
|
|
67
|
+
**What**: Update the relevant section.
|
|
68
|
+
**Rule**: Keep it concise — this file should be readable in 30 seconds.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Protocol: Session End (PERSIST)
|
|
73
|
+
|
|
74
|
+
If meaningful work was done:
|
|
75
|
+
|
|
76
|
+
1. **Write session handoff** → `sessions/YYYY-MM-DD-<topic>.md`
|
|
77
|
+
2. **Update `context.md`** → Reflect new reality
|
|
78
|
+
3. **Review pending lessons** → Any surprise worth logging?
|
|
79
|
+
4. **Cross-project check** → Any lesson/pattern that applies to ALL projects? → Copy to global brain.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## The Golden Rule
|
|
84
|
+
|
|
85
|
+
> **If info applies to 1 project → project memory. If 2+ projects → global brain.**
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Merge Safety
|
|
90
|
+
|
|
91
|
+
When reinstalling BMAD+ or updating:
|
|
92
|
+
- **NEVER overwrite** decisions.md, lessons.md, patterns.md
|
|
93
|
+
- **NEVER delete** sessions/ directory
|
|
94
|
+
- **Safe to overwrite**: context.md template (user regenerates), identity.yaml template only if no user edits
|
|
95
|
+
- **Install manifest** (`.bmad-plus-install.json`) tracks what was installed, brain detection prevents overwrites
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Project Scanner Protocol
|
|
100
|
+
|
|
101
|
+
The `bmad-plus scan` command follows this protocol:
|
|
102
|
+
|
|
103
|
+
1. **Scan** target directory recursively for project markers (package.json, Cargo.toml, .git, etc.)
|
|
104
|
+
2. **Analyze** each discovered project (detect stack, status, last modified)
|
|
105
|
+
3. **Present** findings to user in interactive table
|
|
106
|
+
4. **User validates** each project (confirm, skip, edit metadata)
|
|
107
|
+
5. **Index** validated projects in `~/.bmad-plus/brain/projects/<hash>.yaml`
|
|
108
|
+
6. **Generate** project-level memory stubs if requested
|
|
109
|
+
|
|
110
|
+
### Project Detection Markers (priority order)
|
|
111
|
+
```
|
|
112
|
+
package.json → Node.js / JavaScript
|
|
113
|
+
Cargo.toml → Rust
|
|
114
|
+
requirements.txt → Python
|
|
115
|
+
pyproject.toml → Python
|
|
116
|
+
go.mod → Go
|
|
117
|
+
composer.json → PHP
|
|
118
|
+
Gemfile → Ruby
|
|
119
|
+
*.sln / *.csproj → .NET
|
|
120
|
+
pom.xml → Java
|
|
121
|
+
build.gradle → Java/Kotlin
|
|
122
|
+
.git → Any (version controlled)
|
|
123
|
+
AGENTS.md → Already agent-aware
|
|
124
|
+
.agents/ → Already BMAD+ installed
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Project Metadata (per scan)
|
|
128
|
+
```yaml
|
|
129
|
+
# ~/.bmad-plus/brain/projects/<hash>.yaml
|
|
130
|
+
path: "D:\\travail\\DEV\\my-project"
|
|
131
|
+
name: "my-project"
|
|
132
|
+
hash: "a1b2c3d4" # SHA256 of absolute path
|
|
133
|
+
stack:
|
|
134
|
+
primary: "Node.js"
|
|
135
|
+
framework: "Next.js 15"
|
|
136
|
+
database: "PostgreSQL"
|
|
137
|
+
status: "active" # active / paused / archived / unknown
|
|
138
|
+
last_modified: "2026-05-17"
|
|
139
|
+
last_scanned: "2026-05-17"
|
|
140
|
+
bmad_installed: true
|
|
141
|
+
packs_installed: ["core", "memory", "dev-studio"]
|
|
142
|
+
notes: "CRM client project"
|
|
143
|
+
```
|