bmad-plus 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/README.md +144 -144
- package/package.json +1 -1
- package/readme-international/README.de.md +125 -125
- package/readme-international/README.es.md +215 -215
- package/readme-international/README.fr.md +213 -213
- package/src/bmad-plus/module.yaml +13 -0
- package/src/bmad-plus/packs/pack-memory/README.md +106 -0
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -0
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -0
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -0
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -0
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -0
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -0
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -0
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -0
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -0
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -0
- package/tools/cli/commands/install.js +135 -0
- package/tools/cli/i18n.js +10 -10
|
@@ -160,6 +160,17 @@ packs:
|
|
|
160
160
|
agents:
|
|
161
161
|
- animated-website-agent
|
|
162
162
|
|
|
163
|
+
memory:
|
|
164
|
+
name: "Memory — Persistent Brain"
|
|
165
|
+
icon: "🧠"
|
|
166
|
+
description: "Cross-session memory + project scanner + Karpathy guardrails"
|
|
167
|
+
required: false
|
|
168
|
+
packDir: pack-memory
|
|
169
|
+
packSrcDir: packs
|
|
170
|
+
agents:
|
|
171
|
+
- zecher
|
|
172
|
+
cohabitation_warning: "Memory can detect and link to existing brain directories (_brain/, ~/.claude/memory/). It will NEVER overwrite existing memory files."
|
|
173
|
+
|
|
163
174
|
install_packs:
|
|
164
175
|
prompt:
|
|
165
176
|
- "Quels packs additionnels souhaites-tu installer ?"
|
|
@@ -181,6 +192,8 @@ install_packs:
|
|
|
181
192
|
label: "🗂️ Universal Backup — Backup ZIP intelligent"
|
|
182
193
|
- value: "animated"
|
|
183
194
|
label: "🎬 Animated Website — Luxury scroll-driven site from video"
|
|
195
|
+
- value: "memory"
|
|
196
|
+
label: "🧠 Memory — Cerveau persistant + scanner de projets + guardrails Karpathy"
|
|
184
197
|
- value: "all"
|
|
185
198
|
label: "🤖 Tout installer"
|
|
186
199
|
- value: "none"
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Pack Memory — Persistent Brain for BMAD+
|
|
2
|
+
|
|
3
|
+
> 🧠 Give your AI agents a memory that persists across sessions, projects, and time.
|
|
4
|
+
|
|
5
|
+
## What is Pack Memory?
|
|
6
|
+
|
|
7
|
+
Pack Memory adds a **persistent brain** to BMAD+. Every decision logged, every lesson learned, every pattern discovered — they all survive between sessions. Your agents get smarter over time.
|
|
8
|
+
|
|
9
|
+
### Two Levels of Memory
|
|
10
|
+
|
|
11
|
+
| Level | Location | Scope |
|
|
12
|
+
|-------|----------|-------|
|
|
13
|
+
| **Project Memory** | `.agents/memory/` | Decisions, lessons, patterns for ONE project |
|
|
14
|
+
| **Global Brain** | `~/.bmad-plus/brain/` | Cross-project knowledge, user preferences, project index |
|
|
15
|
+
|
|
16
|
+
### The Golden Rule
|
|
17
|
+
|
|
18
|
+
> If info applies to **1 project** → project memory. If **2+ projects** → global brain.
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
### 🧠 Persistent Memory
|
|
23
|
+
- `decisions.md` — ADR-style architectural decisions with rationale
|
|
24
|
+
- `lessons.md` — Things that burned you, logged immediately, never repeated
|
|
25
|
+
- `patterns.md` — Validated solutions that work, ready to reuse
|
|
26
|
+
- `context.md` — Living project state, auto-updated by agents
|
|
27
|
+
- `sessions/` — Session handoffs for seamless context transfer
|
|
28
|
+
|
|
29
|
+
### 🔍 Project Scanner
|
|
30
|
+
- Scan any directory (or entire disk) to discover projects
|
|
31
|
+
- Auto-detect tech stack from project markers
|
|
32
|
+
- Interactive validation — you confirm each project before indexing
|
|
33
|
+
- Build a complete portfolio index in your global brain
|
|
34
|
+
|
|
35
|
+
### 🛡️ Karpathy Guardrails
|
|
36
|
+
Four behavioral principles (from Andrej Karpathy, 132K ⭐) woven into every agent:
|
|
37
|
+
1. **Think Before Coding** — Surface assumptions, don't guess
|
|
38
|
+
2. **Simplicity First** — Minimum code, nothing speculative
|
|
39
|
+
3. **Surgical Changes** — Touch only what you must
|
|
40
|
+
4. **Goal-Driven Execution** — Define success criteria, verify
|
|
41
|
+
|
|
42
|
+
### 🤖 Zecher Agent (זכר)
|
|
43
|
+
Dedicated memory agent that can:
|
|
44
|
+
- Consolidate and deduplicate memory entries
|
|
45
|
+
- Scan and index projects interactively
|
|
46
|
+
- Reconstruct context when starting a cold session
|
|
47
|
+
- Run memory health checks
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx bmad-plus install
|
|
53
|
+
# Select "🧠 Memory — Persistent Brain" in the pack menu
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Brain Detection
|
|
57
|
+
|
|
58
|
+
If you already have a brain directory (`_brain/`, `~/.claude/memory/`, etc.), BMAD+ will:
|
|
59
|
+
- ✅ **Detect it** automatically
|
|
60
|
+
- ✅ **Link to it** — no duplication
|
|
61
|
+
- ❌ **Never overwrite** your existing memory
|
|
62
|
+
|
|
63
|
+
## Quick Start
|
|
64
|
+
|
|
65
|
+
After installation:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
# Scan your projects
|
|
69
|
+
"Zecher, scan projects in D:\travail\DEV"
|
|
70
|
+
|
|
71
|
+
# Start remembering
|
|
72
|
+
"Atlas, create a PRD for..." ← decisions auto-logged
|
|
73
|
+
"Forge, implement story S1" ← patterns auto-detected
|
|
74
|
+
|
|
75
|
+
# Recall context
|
|
76
|
+
"Zecher, where were we?" ← instant context reconstruction
|
|
77
|
+
|
|
78
|
+
# Maintain memory
|
|
79
|
+
"Zecher, health check" ← verify integrity
|
|
80
|
+
"Zecher, consolidate memory" ← deduplicate & archive
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## File Structure
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
pack-memory/
|
|
87
|
+
├── README.md ← This file
|
|
88
|
+
├── memory-orchestrator.md ← Pack entry point
|
|
89
|
+
├── zecher-agent.md ← Memory Agent (Zecher)
|
|
90
|
+
├── shared/
|
|
91
|
+
│ ├── karpathy-guardrails.md ← Behavioral guardrails
|
|
92
|
+
│ └── memory-protocol.md ← Read/write protocol
|
|
93
|
+
└── templates/
|
|
94
|
+
├── decisions.md
|
|
95
|
+
├── lessons.md
|
|
96
|
+
├── patterns.md
|
|
97
|
+
├── context.md
|
|
98
|
+
├── session-handoff.md
|
|
99
|
+
└── identity.yaml
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Credits
|
|
103
|
+
|
|
104
|
+
- Memory architecture inspired by Laurent Rochetta's `_brain/` methodology
|
|
105
|
+
- Behavioral guardrails adapted from [Andrej Karpathy](https://github.com/multica-ai/andrej-karpathy-skills) (MIT License)
|
|
106
|
+
- BMAD+ by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS)
|
|
@@ -0,0 +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
|
+
```
|
|
@@ -0,0 +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).
|
|
@@ -0,0 +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
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Project Context
|
|
3
|
+
description: Living state of this project — auto-updated by agents
|
|
4
|
+
created: "{{date}}"
|
|
5
|
+
project: "{{project_name}}"
|
|
6
|
+
last_updated: "{{date}}"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Project Context
|
|
10
|
+
|
|
11
|
+
> This file is the **living state** of the project. It is read by agents at session start and updated at session end.
|
|
12
|
+
|
|
13
|
+
## Project Identity
|
|
14
|
+
|
|
15
|
+
- **Name**: {{project_name}}
|
|
16
|
+
- **Path**: {{project_path}}
|
|
17
|
+
- **Stack**: (to be detected or filled by user)
|
|
18
|
+
- **Status**: active
|
|
19
|
+
- **Created**: {{date}}
|
|
20
|
+
|
|
21
|
+
## Current Focus
|
|
22
|
+
|
|
23
|
+
<!-- What matters right now -->
|
|
24
|
+
|
|
25
|
+
## Recent Changes
|
|
26
|
+
|
|
27
|
+
<!-- Last 5 significant changes, most recent first -->
|
|
28
|
+
|
|
29
|
+
## Architecture Notes
|
|
30
|
+
|
|
31
|
+
<!-- Key architectural decisions and constraints -->
|
|
32
|
+
|
|
33
|
+
## Known Issues
|
|
34
|
+
|
|
35
|
+
<!-- Active bugs or tech debt to be aware of -->
|
|
36
|
+
|
|
37
|
+
## Open Questions
|
|
38
|
+
|
|
39
|
+
<!-- Things that need human decision -->
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Decisions
|
|
3
|
+
description: ADR-style log of architectural and strategic decisions
|
|
4
|
+
created: "{{date}}"
|
|
5
|
+
project: "{{project_name}}"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Decisions
|
|
9
|
+
|
|
10
|
+
Architectural and strategic decisions for this project. One entry per decision, short and actionable.
|
|
11
|
+
|
|
12
|
+
## Format
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
### YYYY-MM-DD — <short title>
|
|
16
|
+
- **Context**: why the decision was needed
|
|
17
|
+
- **Decision**: what was chosen
|
|
18
|
+
- **Rationale**: why
|
|
19
|
+
- **Consequences**: what this unlocks / forecloses
|
|
20
|
+
- **Status**: active / superseded / rolled-back
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
<!-- Decisions will be appended below by BMAD+ agents -->
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# BMAD+ User Identity
|
|
2
|
+
# This file stores your preferences across all BMAD+ projects.
|
|
3
|
+
# It is read by agents at session start to personalize their behavior.
|
|
4
|
+
# Location: ~/.bmad-plus/brain/identity.yaml
|
|
5
|
+
|
|
6
|
+
user_name: "{{user_name}}"
|
|
7
|
+
communication_language: "{{language}}"
|
|
8
|
+
created: "{{date}}"
|
|
9
|
+
|
|
10
|
+
# How you prefer agents to communicate
|
|
11
|
+
style:
|
|
12
|
+
verbosity: "concise" # concise | detailed | minimal
|
|
13
|
+
code_comments: "essential" # essential | verbose | none
|
|
14
|
+
explain_level: "expert" # beginner | intermediate | expert
|
|
15
|
+
|
|
16
|
+
# Your default tech preferences
|
|
17
|
+
stack:
|
|
18
|
+
# Agents will prefer these unless project-specific overrides exist
|
|
19
|
+
# Fill in as you work — agents will suggest additions
|
|
20
|
+
# Example:
|
|
21
|
+
# frontend: "Next.js 15"
|
|
22
|
+
# backend: "Node.js + Express"
|
|
23
|
+
# database: "PostgreSQL"
|
|
24
|
+
# hosting: "Hetzner VPS"
|
|
25
|
+
|
|
26
|
+
# Known AI tools in your environment
|
|
27
|
+
ai_tools: []
|
|
28
|
+
# - claude-code
|
|
29
|
+
# - antigravity
|
|
30
|
+
# - cursor
|
|
31
|
+
# - codex-cli
|
|
32
|
+
|
|
33
|
+
# Anti-regression rules (agents MUST follow)
|
|
34
|
+
rules:
|
|
35
|
+
- "Never rewrite entire files — surgical edits only"
|
|
36
|
+
- "Never delete existing code without explicit approval"
|
|
37
|
+
- "Always read existing file before modifying"
|
|
38
|
+
- "Dates in ISO 8601 (YYYY-MM-DD), never relative"
|
|
39
|
+
- "Never commit without explicit permission"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Lessons
|
|
3
|
+
description: Things that burned us — don't repeat
|
|
4
|
+
created: "{{date}}"
|
|
5
|
+
project: "{{project_name}}"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Lessons
|
|
9
|
+
|
|
10
|
+
Things that went wrong. Logged immediately. Never repeated.
|
|
11
|
+
|
|
12
|
+
## Format
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
### YYYY-MM-DD — <what happened>
|
|
16
|
+
- **Context**: circumstances
|
|
17
|
+
- **Impact**: what went wrong / cost
|
|
18
|
+
- **Lesson**: the rule to follow next time
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Meta-lessons (always apply)
|
|
24
|
+
|
|
25
|
+
- When producing content for a page/UI: read the EXISTING file entirely BEFORE rewriting. Never regenerate from blank.
|
|
26
|
+
- Dates absolute (ISO 8601 `YYYY-MM-DD`), never relative.
|
|
27
|
+
- Never commit without explicit user permission.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<!-- Lessons will be appended below by BMAD+ agents -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Patterns
|
|
3
|
+
description: Reusable patterns observed in this project
|
|
4
|
+
created: "{{date}}"
|
|
5
|
+
project: "{{project_name}}"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Patterns
|
|
9
|
+
|
|
10
|
+
Reusable patterns that work well in this project. Each pattern answers: *what problem does this solve, where does it apply, what's the trade-off?*
|
|
11
|
+
|
|
12
|
+
## Format
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
### <pattern name>
|
|
16
|
+
- **Problem**: what it solves
|
|
17
|
+
- **Shape**: the core idea in 2-3 sentences
|
|
18
|
+
- **Trade-off**: what it costs
|
|
19
|
+
- **Status**: `candidate` / `validated` / `deprecated`
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<!-- Patterns will be appended below by BMAD+ agents -->
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Session Handoff
|
|
3
|
+
description: Context transfer between AI sessions
|
|
4
|
+
date: "{{date}}"
|
|
5
|
+
topic: "{{topic}}"
|
|
6
|
+
agent: "{{agent}}"
|
|
7
|
+
project: "{{project_name}}"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Session Handoff — {{date}}
|
|
11
|
+
|
|
12
|
+
## What changed
|
|
13
|
+
<!-- Summary of work done this session -->
|
|
14
|
+
|
|
15
|
+
## Decisions made
|
|
16
|
+
<!-- Non-obvious decisions with rationale -->
|
|
17
|
+
|
|
18
|
+
## Open questions
|
|
19
|
+
<!-- Things that need human decision or more research -->
|
|
20
|
+
|
|
21
|
+
## Next steps
|
|
22
|
+
<!-- What should happen next, in priority order -->
|
|
23
|
+
|
|
24
|
+
## Files modified
|
|
25
|
+
<!-- List of files changed, with short reason -->
|