Migration v1 → v2: lowercase filenames¶
Since: skill version 2.0.0.
What changed¶
Four files renamed:
| v1 (old) | v2 (new) |
|---|---|
STATUS.md |
status.md |
BACKLOG.md |
backlog.md |
RESEARCH.md |
research.md |
plan.md |
roadmap.md (+ new format) |
Why¶
- consistent lowercase filename convention
plan.mdexpanded to a true roadmap with ordering, dependencies, and status per plan (see design spec)
How to migrate¶
From your project root:
# Preview what will change (no writes)
bash ~/.claude/skills/memory-bank/scripts/mb-migrate-v2.sh --dry-run
# Apply (creates backup in .memory-bank/.migration-backup-<timestamp>/)
bash ~/.claude/skills/memory-bank/scripts/mb-migrate-v2.sh --apply
What the script does¶
- Creates a timestamped backup in
.memory-bank/.migration-backup-<ts>/. - Renames the 4 files.
- Transforms
roadmap.mdcontent — the legacy<!-- mb-active-plan -->block is placed in the new## Now (in progress)section; remaining content is preserved under### Legacy content. - Updates cross-references (
STATUS.md→status.md, etc.) in every.mdfile inside.memory-bank/— except the backup directory. - Is idempotent — running twice is safe (second run is a no-op that reports "no v1 files detected").
Backward compatibility window¶
For 2 skill versions:
- Core scripts fall back to reading old names if new ones are not present.
/mb doctorWARNs when v1 files still exist./mb startand/mb contextautodetect v1 layout and prompt migration before loading context.
After 2 versions, /mb doctor will ERROR without migration.
Rollback¶
Each --apply run creates .memory-bank/.migration-backup-<timestamp>/. To rollback:
BACKUP=.memory-bank/.migration-backup-<ts> # pick the one you want
cp -r "$BACKUP"/* .memory-bank/
rm .memory-bank/status.md .memory-bank/backlog.md \
.memory-bank/research.md .memory-bank/roadmap.md
Or — if .memory-bank/ is under version control and was committed before the migration — git checkout .memory-bank/.
Troubleshooting¶
"no v1 files detected" on first run: Your project is already on v2 (or was never on v1). Nothing to do.
"both STATUS.md and status.md present":
You manually created a v2 file alongside v1. The script will skip the rename for that pair. Resolve manually (mv, merge content, then re-run).
"cannot read .memory-bank":
Either the directory doesn't exist or you're in the wrong cwd. cd to your project root and retry.