memory-bank-skill 3.0.0rc1__tar.gz
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.
- memory_bank_skill-3.0.0rc1/.gitignore +15 -0
- memory_bank_skill-3.0.0rc1/CHANGELOG.md +197 -0
- memory_bank_skill-3.0.0rc1/PKG-INFO +363 -0
- memory_bank_skill-3.0.0rc1/README.md +325 -0
- memory_bank_skill-3.0.0rc1/SKILL.md +179 -0
- memory_bank_skill-3.0.0rc1/VERSION +1 -0
- memory_bank_skill-3.0.0rc1/adapters/_lib_agents_md.sh +172 -0
- memory_bank_skill-3.0.0rc1/adapters/cline.sh +226 -0
- memory_bank_skill-3.0.0rc1/adapters/codex.sh +161 -0
- memory_bank_skill-3.0.0rc1/adapters/cursor.sh +208 -0
- memory_bank_skill-3.0.0rc1/adapters/git-hooks-fallback.sh +235 -0
- memory_bank_skill-3.0.0rc1/adapters/kilo.sh +118 -0
- memory_bank_skill-3.0.0rc1/adapters/opencode.sh +204 -0
- memory_bank_skill-3.0.0rc1/adapters/pi.sh +171 -0
- memory_bank_skill-3.0.0rc1/adapters/windsurf.sh +239 -0
- memory_bank_skill-3.0.0rc1/agents/mb-codebase-mapper.md +316 -0
- memory_bank_skill-3.0.0rc1/agents/mb-doctor.md +181 -0
- memory_bank_skill-3.0.0rc1/agents/mb-manager.md +354 -0
- memory_bank_skill-3.0.0rc1/agents/plan-verifier.md +120 -0
- memory_bank_skill-3.0.0rc1/commands/adr.md +45 -0
- memory_bank_skill-3.0.0rc1/commands/api-contract.md +64 -0
- memory_bank_skill-3.0.0rc1/commands/catchup.md +10 -0
- memory_bank_skill-3.0.0rc1/commands/changelog.md +10 -0
- memory_bank_skill-3.0.0rc1/commands/commit.md +18 -0
- memory_bank_skill-3.0.0rc1/commands/contract.md +40 -0
- memory_bank_skill-3.0.0rc1/commands/db-migration.md +66 -0
- memory_bank_skill-3.0.0rc1/commands/doc.md +16 -0
- memory_bank_skill-3.0.0rc1/commands/done.md +6 -0
- memory_bank_skill-3.0.0rc1/commands/mb.md +682 -0
- memory_bank_skill-3.0.0rc1/commands/observability.md +75 -0
- memory_bank_skill-3.0.0rc1/commands/plan.md +129 -0
- memory_bank_skill-3.0.0rc1/commands/pr.md +14 -0
- memory_bank_skill-3.0.0rc1/commands/refactor.md +15 -0
- memory_bank_skill-3.0.0rc1/commands/review.md +132 -0
- memory_bank_skill-3.0.0rc1/commands/security-review.md +91 -0
- memory_bank_skill-3.0.0rc1/commands/start.md +6 -0
- memory_bank_skill-3.0.0rc1/commands/test.md +14 -0
- memory_bank_skill-3.0.0rc1/docs/MIGRATION-v1-v2.md +156 -0
- memory_bank_skill-3.0.0rc1/docs/cross-agent-setup.md +221 -0
- memory_bank_skill-3.0.0rc1/docs/install.md +86 -0
- memory_bank_skill-3.0.0rc1/docs/release-process.md +122 -0
- memory_bank_skill-3.0.0rc1/docs/repo-migration.md +120 -0
- memory_bank_skill-3.0.0rc1/hooks/block-dangerous.sh +109 -0
- memory_bank_skill-3.0.0rc1/hooks/file-change-log.sh +108 -0
- memory_bank_skill-3.0.0rc1/hooks/mb-compact-reminder.sh +72 -0
- memory_bank_skill-3.0.0rc1/hooks/session-end-autosave.sh +95 -0
- memory_bank_skill-3.0.0rc1/install.sh +242 -0
- memory_bank_skill-3.0.0rc1/memory_bank_skill/__init__.py +3 -0
- memory_bank_skill-3.0.0rc1/memory_bank_skill/__main__.py +6 -0
- memory_bank_skill-3.0.0rc1/memory_bank_skill/_bundle.py +48 -0
- memory_bank_skill-3.0.0rc1/memory_bank_skill/cli.py +172 -0
- memory_bank_skill-3.0.0rc1/pyproject.toml +124 -0
- memory_bank_skill-3.0.0rc1/references/claude-md-template.md +99 -0
- memory_bank_skill-3.0.0rc1/references/metadata.md +101 -0
- memory_bank_skill-3.0.0rc1/references/planning-and-verification.md +89 -0
- memory_bank_skill-3.0.0rc1/references/structure.md +147 -0
- memory_bank_skill-3.0.0rc1/references/tags-vocabulary.md +50 -0
- memory_bank_skill-3.0.0rc1/references/templates.md +286 -0
- memory_bank_skill-3.0.0rc1/references/workflow.md +125 -0
- memory_bank_skill-3.0.0rc1/rules/CLAUDE-GLOBAL.md +125 -0
- memory_bank_skill-3.0.0rc1/rules/RULES.md +522 -0
- memory_bank_skill-3.0.0rc1/scripts/_lib.sh +224 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-codegraph.py +634 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-compact.sh +299 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-context.sh +91 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-deps-check.sh +204 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-drift.sh +213 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-import.py +326 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-index-json.py +215 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-index.sh +87 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-metrics.sh +165 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-note.sh +40 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-plan-done.sh +161 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-plan-sync.sh +191 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-plan.sh +103 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-search.sh +218 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-tags-normalize.sh +247 -0
- memory_bank_skill-3.0.0rc1/scripts/mb-upgrade.sh +142 -0
- memory_bank_skill-3.0.0rc1/settings/hooks.json +96 -0
- memory_bank_skill-3.0.0rc1/settings/merge-hooks.py +54 -0
- memory_bank_skill-3.0.0rc1/uninstall.sh +91 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Все значимые изменения документируются здесь. Формат — [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), версионирование — [SemVer](https://semver.org/spec/v2.0.0.html).
|
|
4
|
+
|
|
5
|
+
## [3.0.0-rc1] — 2026-04-20
|
|
6
|
+
|
|
7
|
+
### Repository moved
|
|
8
|
+
|
|
9
|
+
Этот skill переехал в новый публичный репозиторий: **[`fockus/skill-memory-bank`](https://github.com/fockus/skill-memory-bank)**. Старое имя `claude-skill-memory-bank` отражало только один из 8 поддерживаемых клиентов и стало misleading.
|
|
10
|
+
|
|
11
|
+
**Migration guide:** [docs/repo-migration.md](docs/repo-migration.md).
|
|
12
|
+
|
|
13
|
+
Historical releases (`v1.x`, `v2.0.0`, `v2.1.0`, `v2.2.0`) остаются доступны в старом репозитории. `v3.0.0` и далее публикуются в новом.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **Stage 8 — Cross-agent adapters** (7 clients beyond Claude Code): Cursor (CC-compat hooks), Windsurf (Cascade), Cline (`.clinerules/hooks/`), Kilo (+ git-hooks fallback), OpenCode (TS plugin с `experimental.session.compacting`), Codex (experimental hooks), Pi Code (dual-mode). See `docs/cross-agent-setup.md`.
|
|
18
|
+
- **`adapters/_lib_agents_md.sh`** — refcount-based shared `AGENTS.md` ownership via `.mb-agents-owners.json`. Enables safe coexistence of OpenCode / Codex / Pi installs.
|
|
19
|
+
- **`adapters/git-hooks-fallback.sh`** — universal `.git/hooks/` installer (post-commit auto-capture, pre-commit `<private>` warnings, chain pattern preserves user hooks).
|
|
20
|
+
- **`install.sh --clients <list>`** — non-interactive multi-client install. Valid: `claude-code, cursor, windsurf, cline, kilo, opencode, pi, codex`.
|
|
21
|
+
- **`docs/cross-agent-setup.md`** — complete per-client cheatsheet + hook capability matrix + troubleshooting FAQ.
|
|
22
|
+
- **`docs/repo-migration.md`** — upgrade instructions for existing users.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Repository name: `claude-skill-memory-bank` → `skill-memory-bank`.
|
|
27
|
+
- Install target directory: `~/.claude/skills/skill-memory-bank/` (was `claude-skill-memory-bank/`).
|
|
28
|
+
- `mb-upgrade.sh` tracks new origin URL.
|
|
29
|
+
|
|
30
|
+
### Tests
|
|
31
|
+
|
|
32
|
+
- **340+/340+ bats + e2e green** (+90 adapter bats, +10 install-clients e2e over v2.2.0).
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## [2.2.0] — 2026-04-20
|
|
37
|
+
|
|
38
|
+
Knowledge-reach release: cold-start через JSONL-импорт, code graph для 6 языков, tags normalization через controlled vocabulary.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- **`/mb import --project <path> [--since] [--apply]`** (`scripts/mb-import.py`) — bootstrap Memory Bank из Claude Code транскриптов (`~/.claude/projects/<slug>/*.jsonl`). Извлекает daily-grouped `progress.md` секции и arch-discussion notes (≥3 consecutive assistant messages >1K chars). Dedup SHA256(timestamp + first 500 chars), resume через `.import-state.json`. PII auto-wrap (email + API-key → `<private>`) интегрирован с v2.1 Stage 3. `--dry-run` default.
|
|
43
|
+
- **`/mb graph [--apply] [src_root]`** (`scripts/mb-codegraph.py`) — code graph для Python (stdlib `ast`, always-on) + Go / JavaScript / TypeScript / Rust / Java (через tree-sitter, opt-in). Nodes = module/function/class, edges = import/call/inherit. Output: `codebase/graph.json` (JSON Lines, grep/jq friendly) + `codebase/god-nodes.md` (top-20 by degree). SHA256 incremental cache per-file. `HAS_TREE_SITTER` флаг обеспечивает graceful degrade без grammars. Skipped dirs: `.venv`, `node_modules`, `__pycache__`, `.git`, `target`, `dist`, `build`.
|
|
44
|
+
- **`/mb tags [--apply] [--auto-merge]`** (`scripts/mb-tags-normalize.sh`) — Levenshtein-based synonym detection + merge через controlled vocabulary. Distance ≤2 detection, ≤1 для `--auto-merge`. Vocabulary в `.memory-bank/tags-vocabulary.md` (user-editable) → fallback на `references/tags-vocabulary.md` (35 default tags). Exit 2 если найдены unknown tags (drift signal).
|
|
45
|
+
- **`references/tags-vocabulary.md`** — template с 35 default тегами (Core: arch/auth/bug/perf/refactor/test/...; Process: debug/review/post-mortem/adr/spike; Workflow: blocked/todo/wip/imported/discussion).
|
|
46
|
+
- **`mb-index-json.py`** — авто-kebab-case для тегов: `FooBar → foo-bar`, `AUTH → auth`, `someThing → some-thing`. Dedup preserving order. Source files не трогаются — только index.
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- **`mb-codegraph.py`** — Python-only v1 расширен tree-sitter adapter для 5 новых языков. Same node/edge schema. Lazy parser loading per language via `_TS_PARSERS` cache.
|
|
51
|
+
- **`commands/mb.md`** — секции `/mb import`, `/mb graph`, `/mb tags` с полными примерами, dogfood-outputs, ограничениями.
|
|
52
|
+
- **`install.sh`** — печатает hint для tree-sitter extras.
|
|
53
|
+
|
|
54
|
+
### Tests
|
|
55
|
+
|
|
56
|
+
- pytest: **96** (было 44 после v2.1) — +17 test_import, +21 test_codegraph (Python), +14 test_codegraph_ts (tree-sitter).
|
|
57
|
+
- bats: **208** (было 194) — +14 test_tags_normalize.
|
|
58
|
+
- shellcheck: 0 warnings. ruff: all passed.
|
|
59
|
+
|
|
60
|
+
### Gate v2.2 — passed ✅
|
|
61
|
+
|
|
62
|
+
1. ✅ `/mb import` на реальном JSONL (2573 events) — **0.127s** (target ≤30s).
|
|
63
|
+
2. ✅ `mb-codegraph.py` на `scripts/` — **0.068s** для 60 nodes + 487 edges (target ≤30s).
|
|
64
|
+
3. ✅ Tags normalization: `sqlite_vec → sqlite-vec` auto-merged distance=1, 2 notes rewritten. Unknown tag → exit 2 drift signal works.
|
|
65
|
+
4. ✅ Full regression: 96 pytest + 208 bats + ruff + shellcheck clean.
|
|
66
|
+
5. ✅ VERSION 2.2.0, CHANGELOG updated.
|
|
67
|
+
|
|
68
|
+
### ADR pivots
|
|
69
|
+
|
|
70
|
+
- **ADR-006 обновлён (Stage 6.5):** изначально tree-sitter был deferred opt-in. После feedback пользователя ("часто работаю на Node/Go") — реализовано в v2.2, с graceful degrade при отсутствии grammars. Python path остался zero-dep. См. BACKLOG (Stage 6.5 shipped entry).
|
|
71
|
+
|
|
72
|
+
### Deferred to v3.x backlog
|
|
73
|
+
|
|
74
|
+
- Haiku-powered compression для `/mb import` summaries (сейчас deterministic first+last chars).
|
|
75
|
+
- Debug-session detection в `/mb import` для `lessons.md`.
|
|
76
|
+
- Type inference в `/mb graph` (edges сейчас name-based, не различают модули с одноимёнными функциями).
|
|
77
|
+
- tree-sitter grammars для C/C++/Ruby/PHP/Kotlin/Swift (добавить по запросу через `_TS_LANG_CONFIG`).
|
|
78
|
+
|
|
79
|
+
## [2.1.0] — 2026-04-20
|
|
80
|
+
|
|
81
|
+
Hardening release: auto-capture при забытом `/mb done`, detection drift без AI, защита PII в заметках, status-based decay для старых планов и заметок.
|
|
82
|
+
|
|
83
|
+
### Added
|
|
84
|
+
|
|
85
|
+
- **Auto-capture SessionEnd hook** (`hooks/session-end-autosave.sh`) — если сессия закрылась без `/mb done`, hook добавляет placeholder-запись в `progress.md`. Lock-файл `.memory-bank/.session-lock` пишется командой `/mb done` → hook видит свежий lock (<1h) и пропускает auto-capture. `MB_AUTO_CAPTURE` env: `auto` (default) / `strict` / `off`. Concurrent-safe через `.auto-lock` (30s TTL). Идемпотентен по session_id.
|
|
86
|
+
- **Drift checkers без AI** (`scripts/mb-drift.sh`) — 8 deterministic checkers (path, staleness, script_coverage, dependency, cross_file, index_sync, command, frontmatter). Output: `drift_check_<name>=ok|warn|skip` + `drift_warnings=N`. Exit 0 если 0 warnings, 1 иначе. `agents/mb-doctor.md` Step 0 = `mb-drift.sh` → LLM call только если `drift_warnings > 0`. Экономит AI-токены.
|
|
87
|
+
- **PII markers `<private>...</private>`** в notes — содержимое блоков не попадает в `index.json` (summary + tags filtered), при `mb-search` заменяется на `[REDACTED]` (inline) или `[REDACTED match in private block]` (multi-line). Unclosed `<private>` fail-safe: хвост до EOF считается приватным. Entries получают `has_private: bool` флаг. `--show-private` требует `MB_SHOW_PRIVATE=1` env (double-confirmation). `hooks/file-change-log.sh` warnит при Write/Edit `.md` файла с `<private>` блоком.
|
|
88
|
+
- **Compaction decay `/mb compact`** (`scripts/mb-compact.sh`) — status-based archival: требует **age > threshold AND done-signal**. Active планы (not done) **НЕ архивируются** даже >180d — warning only. Done-signal (OR): файл физически в `plans/done/`, ИЛИ метка `✅`/`[x]` в `checklist.md`, ИЛИ упоминание как "завершён|done|closed|shipped" в `progress.md`/`STATUS.md`. Notes — `importance: low` + mtime >90d + нет референсов в core файлах. `--dry-run` (default) reasoning only, `--apply` выполняет + touch `.last-compact`. Entries из `notes/archive/` получают `archived: bool` флаг. `mb-search --include-archived` — opt-in для поиска в архиве.
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
|
|
92
|
+
- **`agents/mb-doctor.md`** — Step 0 теперь вызов `mb-drift.sh`; LLM-шаги (1-4) выполняются только при drift_warnings > 0 или `doctor-full`.
|
|
93
|
+
- **`scripts/mb-index-json.py`** — парсер `<private>` блоков, `has_private: bool` + `archived: bool` fields в entry schema.
|
|
94
|
+
- **`scripts/mb-search.sh`** — span-aware Python filter для REDACTED replacement. `--show-private` + `--include-archived` флаги.
|
|
95
|
+
- **`settings/hooks.json`** — добавлен SessionEnd event для auto-capture.
|
|
96
|
+
- **`commands/mb.md`** — `/mb done` пишет `.session-lock`. Секция `/mb compact` с полной status-based логикой и примерами.
|
|
97
|
+
- **`SKILL.md`** — секции "Private content" и "Auto-capture".
|
|
98
|
+
- **`references/metadata.md`** — schema extended с `has_private` + `archived` fields.
|
|
99
|
+
|
|
100
|
+
### Tests
|
|
101
|
+
|
|
102
|
+
- bats: **194** (20 test_compact + 4 test_search_archived + 5 test_search_private + 20 test_drift + 12 test_auto_capture + регрессии).
|
|
103
|
+
- pytest: **44** (7 PII + 2 archived + регрессии).
|
|
104
|
+
- e2e: 18 install/uninstall (включая SessionEnd hook roundtrip).
|
|
105
|
+
- shellcheck: 0 warnings (SC1091 info expected для `source _lib.sh`).
|
|
106
|
+
- ruff: all passed.
|
|
107
|
+
|
|
108
|
+
### Gate v2.1 — passed ✅
|
|
109
|
+
|
|
110
|
+
1. ✅ Auto-capture end-to-end: симулированный SessionEnd → `progress.md` обновлён без `/mb done`.
|
|
111
|
+
2. ✅ `mb-drift.sh` на broken fixture: 7 warnings из 8 categories (≥5 target).
|
|
112
|
+
3. ✅ PII security smoke: `TOP-SECRET-LEAK-CHECK-GATE21` внутри `<private>` → **0 matches** в `index.json`.
|
|
113
|
+
4. ✅ `/mb compact` dogfood: живой banks чистый (0 candidates), artificial 150d done-plan → archive, 150d active-plan → не archive (safety works).
|
|
114
|
+
5. ✅ CI matrix `[macos, ubuntu]` × (bats + e2e + pytest) green.
|
|
115
|
+
|
|
116
|
+
### Deferred to backlog
|
|
117
|
+
|
|
118
|
+
- LLM upgrade для auto-capture (сейчас append-only, детали дочитывает `/mb start` из JSONL).
|
|
119
|
+
- `/mb done` weekly prompt для compaction check.
|
|
120
|
+
- Pre-commit drift hook как отдельный file (YAGNI, документирован в `references/templates.md`).
|
|
121
|
+
|
|
122
|
+
## [2.0.0] — 2026-04-19
|
|
123
|
+
|
|
124
|
+
Крупный рефакторинг: skill становится language-agnostic, tested, CI-covered, integrated с экосистемой Claude Code. Три концепта под одной крышей: **Memory Bank + RULES + dev toolkit**.
|
|
125
|
+
|
|
126
|
+
### Added
|
|
127
|
+
|
|
128
|
+
- **Language detection (12 стеков)**: Python, Go, Rust, Node/TypeScript, Java, Kotlin, Swift, C/C++, Ruby, PHP, C#, Elixir. `scripts/mb-metrics.sh` выдаёт key=value метрики для любого из них.
|
|
129
|
+
- **Override для проектных метрик**: `.memory-bank/metrics.sh` (приоритет 1 над auto-detect).
|
|
130
|
+
- **`scripts/_lib.sh`** — общие утилиты (workspace resolver, slug, collision-safe filename, detect_stack/test/lint/src_glob). 7 функций, 36 bats-тестов.
|
|
131
|
+
- **`scripts/mb-plan-sync.sh`** и **`scripts/mb-plan-done.sh`** — автоматизация консистентности plan↔checklist↔plan.md через маркеры `<!-- mb-stage:N -->`.
|
|
132
|
+
- **`scripts/mb-upgrade.sh`** — `/mb upgrade` для самообновления skill из GitHub (git fetch → prompt → ff-only pull + re-install).
|
|
133
|
+
- **`scripts/mb-index-json.py`** — прагматичный index для `notes/` (frontmatter) + `lessons.md` (H3 маркеры). Atomic write. PyYAML opt-in с fallback.
|
|
134
|
+
- **`mb-search --tag <tag>`** — фильтрация по тегам через `index.json`.
|
|
135
|
+
- **`/mb init [--minimal|--full]`** — единая инициализация. `--full` (default) = `.memory-bank/` + `RULES.md` copy + auto-detect стека + `CLAUDE.md` + optional `.planning/` symlink.
|
|
136
|
+
- **`/mb map [focus]`** — сканирование кодовой базы и генерация `.memory-bank/codebase/{STACK,ARCHITECTURE,CONVENTIONS,CONCERNS}.md`.
|
|
137
|
+
- **`/mb context --deep`** — полный codebase-контент (default = 1-line summary).
|
|
138
|
+
- **Правила Frontend (FSD)** и **Mobile (iOS + Android)** в `rules/RULES.md` и `rules/CLAUDE-GLOBAL.md`.
|
|
139
|
+
- **`MB_ALLOW_NO_VERIFY=1`** — bypass для `--no-verify` в `block-dangerous.sh`.
|
|
140
|
+
- **Log rotation** для `file-change-log.sh`: >10 MB → `.log.1 → .log.2 → .log.3`.
|
|
141
|
+
- **GitHub Actions** `.github/workflows/test.yml`: matrix `[ubuntu-latest, macos-latest]` × (bats + e2e + pytest) + lint job (shellcheck + ruff).
|
|
142
|
+
- **148 bats-тестов** (unit + e2e + hooks + search-tag), **35 pytest-тестов**, **94% total coverage**.
|
|
143
|
+
|
|
144
|
+
### Changed
|
|
145
|
+
|
|
146
|
+
- **`codebase-mapper` → `mb-codebase-mapper`** (MB-native): output path `.planning/codebase/` → `.memory-bank/codebase/`; 770 строк → 316 (−59%); 6 шаблонов → 4 (STACK, ARCHITECTURE, CONVENTIONS, CONCERNS), каждый ≤70 строк.
|
|
147
|
+
- **`/mb update` и `mb-doctor`** больше не хардкодят `pytest`/`ruff`/`src/taskloom/` — используют `mb-metrics.sh`.
|
|
148
|
+
- **`SKILL.md` frontmatter** — `user-invocable: false` (невалидное поле) заменено на `name: memory-bank` с описанием three-in-one concept.
|
|
149
|
+
- **`Task(...)` → `Agent(subagent_type=...)`** во всех skill-файлах. Grep-проверка: 0 вхождений `Task(`.
|
|
150
|
+
- **`mb-doctor`** чинит рассинхроны приоритетно через `mb-plan-sync.sh`/`mb-plan-done.sh`, Edit — только для семантических проблем.
|
|
151
|
+
- **`install.sh`** — всегда пишет `# [MEMORY-BANK-SKILL]` маркер при создании нового `CLAUDE.md` (раньше — только при merge в существующий).
|
|
152
|
+
- **`mb-manager actualize`** — вызывает `mb-index-json.py` вместо ручного Write на `index.json`.
|
|
153
|
+
- **`file-change-log.sh`** — убран `pass\s*$` из placeholder-regex (false-positive); placeholder-поиск теперь вне Python docstrings.
|
|
154
|
+
- **`install.sh` banner**: `19 dev commands` → `18 dev commands` (после слияния init-команд).
|
|
155
|
+
|
|
156
|
+
### Deprecated
|
|
157
|
+
|
|
158
|
+
- (нет — все deprecations полные в этом релизе; см. Removed)
|
|
159
|
+
|
|
160
|
+
### Removed
|
|
161
|
+
|
|
162
|
+
- **`/mb:setup-project`** — слит в `/mb init --full`. Команда `commands/setup-project.md` удалена.
|
|
163
|
+
- **Orphan-агент `codebase-mapper`** — заменён на `mb-codebase-mapper`.
|
|
164
|
+
- **Хардкод `pytest -q` / `ruff check src/`** в `commands/mb.md` и `agents/mb-doctor.md`.
|
|
165
|
+
- **Все `Task(...)` вызовы** в skill-файлах (осталось 0).
|
|
166
|
+
|
|
167
|
+
### Fixed
|
|
168
|
+
|
|
169
|
+
- **E2E-found bug #1**: `install.sh` не добавлял маркер `[MEMORY-BANK-SKILL]` при создании **нового** `CLAUDE.md`. Результат: `uninstall.sh` не находил секцию для очистки.
|
|
170
|
+
- **E2E-found bug #2**: `uninstall.sh` использовал GNU-only флаг `realpath -m`. На macOS BSD realpath падал. Fix: манифест хранит абсолютные пути, `realpath` не нужен.
|
|
171
|
+
- **Node src_glob**: brace-pattern `*.{ts,tsx,js,jsx}` заменён на space-separated для portable grep.
|
|
172
|
+
- **mb-note.sh**: коллизия имени (две заметки в одну минуту) теперь → `_2/_3` суффикс (было: `exit 1`).
|
|
173
|
+
- **file-change-log false-positives**: bare `pass` в Python, TODO внутри docstring.
|
|
174
|
+
- **shellcheck SC1003** в awk-блоке hook'а — переписан через `index()` без nested single-quote escapes.
|
|
175
|
+
|
|
176
|
+
### Security
|
|
177
|
+
|
|
178
|
+
- **`block-dangerous.sh`** обновлён с `MB_ALLOW_NO_VERIFY=1` explicit-opt-in override — раньше `--no-verify` блокировался наглухо без safe-escape.
|
|
179
|
+
- **secrets-detection** в `file-change-log.sh` продолжает работать (`password|secret|api_key|token|private_key` в source-коде).
|
|
180
|
+
|
|
181
|
+
### Infrastructure
|
|
182
|
+
|
|
183
|
+
- **Dogfooding**: сам skill использует `.memory-bank/` в своём репозитории. План рефактора v2 лежит в `.memory-bank/plans/`, сессии закрываются через `/mb done`.
|
|
184
|
+
- **VERSION marker**: `2.0.0-dev` → `2.0.0` пишется install.sh в `~/.claude/skills/memory-bank/VERSION`.
|
|
185
|
+
- **CI-зелёный** на macOS + Ubuntu, 0 shellcheck warnings, ruff all passed.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## [1.0.0] — 2025-10-XX (pre-refactor baseline)
|
|
190
|
+
|
|
191
|
+
- Initial Memory Bank skill: `.memory-bank/` structure, `/mb` roadmap-команда, 4 агента, 2 hooks, 19 commands.
|
|
192
|
+
- Python-first: хардкод `pytest`, `ruff`, `src/taskloom/`.
|
|
193
|
+
- Orphan-артефакты от GSD: `codebase-mapper`, `.planning/`.
|
|
194
|
+
- 0 автоматических тестов.
|
|
195
|
+
|
|
196
|
+
[2.0.0]: https://github.com/fockus/claude-skill-memory-bank/releases/tag/v2.0.0
|
|
197
|
+
[1.0.0]: https://github.com/fockus/claude-skill-memory-bank/releases/tag/v1.0.0
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: memory-bank-skill
|
|
3
|
+
Version: 3.0.0rc1
|
|
4
|
+
Summary: Universal long-term project memory + dev toolkit for AI coding clients (Claude Code, Cursor, Windsurf, Cline, Kilo, OpenCode, Codex, Pi Code)
|
|
5
|
+
Project-URL: Homepage, https://github.com/fockus/skill-memory-bank
|
|
6
|
+
Project-URL: Repository, https://github.com/fockus/skill-memory-bank
|
|
7
|
+
Project-URL: Issues, https://github.com/fockus/skill-memory-bank/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/fockus/skill-memory-bank/blob/main/CHANGELOG.md
|
|
9
|
+
Author-email: Anton Ivanov <ruzaliasib1705@gmail.com>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
Keywords: ai-coding,claude-code,cursor,dev-tools,llm-memory,memory-bank
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: MacOS
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Software Development
|
|
21
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Provides-Extra: codegraph
|
|
24
|
+
Requires-Dist: tree-sitter-go>=0.21; extra == 'codegraph'
|
|
25
|
+
Requires-Dist: tree-sitter-java>=0.21; extra == 'codegraph'
|
|
26
|
+
Requires-Dist: tree-sitter-javascript>=0.21; extra == 'codegraph'
|
|
27
|
+
Requires-Dist: tree-sitter-python>=0.21; extra == 'codegraph'
|
|
28
|
+
Requires-Dist: tree-sitter-rust>=0.21; extra == 'codegraph'
|
|
29
|
+
Requires-Dist: tree-sitter-typescript>=0.21; extra == 'codegraph'
|
|
30
|
+
Requires-Dist: tree-sitter>=0.21; extra == 'codegraph'
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest-cov>=4; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest>=7; extra == 'dev'
|
|
34
|
+
Requires-Dist: ruff>=0.5; extra == 'dev'
|
|
35
|
+
Provides-Extra: yaml
|
|
36
|
+
Requires-Dist: pyyaml>=6.0; extra == 'yaml'
|
|
37
|
+
Description-Content-Type: text/markdown
|
|
38
|
+
|
|
39
|
+
# memory-bank-skill
|
|
40
|
+
|
|
41
|
+
[](https://github.com/fockus/skill-memory-bank/actions/workflows/test.yml)
|
|
42
|
+
[](https://pypi.org/project/memory-bank-skill/)
|
|
43
|
+
[](LICENSE)
|
|
44
|
+
|
|
45
|
+
**Long-term project memory + dev toolkit for 8 AI coding agents.** Your AI remembers the project between sessions, follows the same engineering rules, and picks up exactly where you left off.
|
|
46
|
+
|
|
47
|
+
Works with: **Claude Code · Cursor · Windsurf · Cline · Kilo · OpenCode · Codex · Pi Code**.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## The problem it solves
|
|
52
|
+
|
|
53
|
+
Every new AI coding session is amnesia. You re-explain the project, re-state the plan, re-list what's done. Rules get forgotten. Architecture drifts. Context compaction erases whatever the agent finally learned.
|
|
54
|
+
|
|
55
|
+
**memory-bank-skill** fixes this by making AI memory a first-class citizen — a simple `.memory-bank/` directory inside your project that the agent reads at the start of every session and updates as it works.
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
.memory-bank/
|
|
59
|
+
├── STATUS.md ← where we are, what's next
|
|
60
|
+
├── checklist.md ← current tasks (✅ / ⬜)
|
|
61
|
+
├── plan.md ← priorities, direction
|
|
62
|
+
├── RESEARCH.md ← hypotheses, experiments
|
|
63
|
+
├── progress.md ← work log (append-only)
|
|
64
|
+
├── lessons.md ← mistakes not to repeat
|
|
65
|
+
├── notes/ ← knowledge (5-15 line snippets)
|
|
66
|
+
├── plans/ ← detailed plans per feature/fix
|
|
67
|
+
└── reports/ ← analysis, post-mortems
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
This directory lives alongside your code (commit it, share it with your team, or `.gitignore` it — your call).
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Install
|
|
75
|
+
|
|
76
|
+
Pick one:
|
|
77
|
+
|
|
78
|
+
### Option 1: pipx (recommended, cross-platform)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
pipx install memory-bank-skill # stable
|
|
82
|
+
# or, for the latest release candidate:
|
|
83
|
+
pipx install --pip-args='--pre' memory-bank-skill
|
|
84
|
+
|
|
85
|
+
memory-bank install # global install for Claude Code
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**Requires:** Python 3.11+, `pipx`, `jq`.
|
|
89
|
+
|
|
90
|
+
### Option 2: Homebrew (macOS / Linuxbrew)
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
brew tap fockus/tap
|
|
94
|
+
brew install memory-bank
|
|
95
|
+
memory-bank install
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Option 3: git clone (developers)
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git clone https://github.com/fockus/skill-memory-bank.git ~/.claude/skills/skill-memory-bank
|
|
102
|
+
cd ~/.claude/skills/skill-memory-bank
|
|
103
|
+
./install.sh
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Add cross-agent support (Cursor, Windsurf, OpenCode, etc.)
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# From inside your project directory:
|
|
110
|
+
memory-bank install --clients claude-code,cursor,windsurf
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Supported client names: `claude-code`, `cursor`, `windsurf`, `cline`, `kilo`, `opencode`, `pi`, `codex`.
|
|
114
|
+
|
|
115
|
+
Full per-client details: [docs/cross-agent-setup.md](docs/cross-agent-setup.md).
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## 5-minute quick start
|
|
120
|
+
|
|
121
|
+
1. **Install** (see above).
|
|
122
|
+
|
|
123
|
+
2. **Open your project** in your AI agent (Claude Code, Cursor, etc.) and run:
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
/mb init
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
This creates `.memory-bank/` with all the files above, detects your stack, and generates a `CLAUDE.md` (or equivalent) pointing the agent at the memory bank.
|
|
130
|
+
|
|
131
|
+
3. **Every session starts with:**
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
/mb start
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The agent loads `STATUS.md`, `checklist.md`, `plan.md`, `RESEARCH.md` — it knows exactly what you were working on and what comes next.
|
|
138
|
+
|
|
139
|
+
4. **As you work:** the agent updates `checklist.md` (⬜ → ✅) whenever tasks finish.
|
|
140
|
+
|
|
141
|
+
5. **Every session ends with:**
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
/mb done
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This appends a session entry to `progress.md`, updates `STATUS.md` if needed, writes a knowledge note if something interesting was learned.
|
|
148
|
+
|
|
149
|
+
That's it. Rinse and repeat.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## What you get
|
|
154
|
+
|
|
155
|
+
### 1. Persistent project memory
|
|
156
|
+
|
|
157
|
+
Across sessions, compaction events, and even across AI agents — the project state survives. Switch from Claude Code to Cursor mid-project and the new agent catches up by reading `.memory-bank/`.
|
|
158
|
+
|
|
159
|
+
### 2. Engineering rules applied automatically
|
|
160
|
+
|
|
161
|
+
Installs `~/.claude/RULES.md` (or equivalent per client) with:
|
|
162
|
+
|
|
163
|
+
- **TDD** — tests before implementation
|
|
164
|
+
- **Clean Architecture** (backend) — Infrastructure → Application → Domain, never the reverse
|
|
165
|
+
- **Feature-Sliced Design** (frontend) — `app → pages → widgets → features → entities → shared`
|
|
166
|
+
- **Mobile** (iOS/Android) — UDF + Clean layers, SwiftUI+Observation / Compose+StateFlow
|
|
167
|
+
- **SOLID** — SRP (≤300 LOC / class), ISP (≤5 methods / interface), DIP (constructor injection)
|
|
168
|
+
- **Testing Trophy** — integration > unit > e2e; mock only external services
|
|
169
|
+
- **Coverage** targets — 85% overall, 95% core, 70% infrastructure
|
|
170
|
+
|
|
171
|
+
The agent reads these rules at session start and follows them without you having to remind it.
|
|
172
|
+
|
|
173
|
+
### 3. 18 dev-workflow commands
|
|
174
|
+
|
|
175
|
+
| Command | Purpose |
|
|
176
|
+
|---------|---------|
|
|
177
|
+
| `/mb start` | Load full project context |
|
|
178
|
+
| `/mb done` | End-of-session actualize + progress note |
|
|
179
|
+
| `/mb verify` | Check that implementation matches the plan |
|
|
180
|
+
| `/mb plan <type> <topic>` | Create a detailed plan (feature / fix / refactor / experiment) with DoD criteria |
|
|
181
|
+
| `/mb search <query>` | Search across the memory bank |
|
|
182
|
+
| `/mb note <topic>` | Quick knowledge note |
|
|
183
|
+
| `/mb tasks` | Show pending work |
|
|
184
|
+
| `/mb update` | Refresh core files without closing the session |
|
|
185
|
+
| `/commit` | Conventional-commit message with context |
|
|
186
|
+
| `/review` | Full code review (security + perf + quality) |
|
|
187
|
+
| `/test` | Run tests with coverage analysis |
|
|
188
|
+
| `/plan` | Implementation plan generator |
|
|
189
|
+
| `/refactor` | Guided refactoring |
|
|
190
|
+
| `/pr` | Create pull request with description |
|
|
191
|
+
| `/adr` | Architecture Decision Record template |
|
|
192
|
+
| `/contract` | Contract-first workflow (Protocol/ABC → tests → impl) |
|
|
193
|
+
| `/security-review` | Security audit pass |
|
|
194
|
+
| `/api-contract` | API contract validation |
|
|
195
|
+
| `/db-migration` | Safe migration planning |
|
|
196
|
+
| `/observability` | Logging/metrics/tracing review |
|
|
197
|
+
| `/doc` | Generate documentation |
|
|
198
|
+
| `/changelog` | CHANGELOG update |
|
|
199
|
+
| `/catchup` | Summarize recent changes |
|
|
200
|
+
|
|
201
|
+
### 4. Cross-agent portability
|
|
202
|
+
|
|
203
|
+
One `.memory-bank/` directory, 8 AI clients:
|
|
204
|
+
|
|
205
|
+
| Client | Native hooks | Adapter output |
|
|
206
|
+
|--------|--------------|----------------|
|
|
207
|
+
| **Claude Code** | Full lifecycle | `~/.claude/settings.json` + `hooks/` |
|
|
208
|
+
| **Cursor 1.7+** | ✅ (Claude-Code-compatible format) | `.cursor/rules/*.mdc` + `.cursor/hooks.json` |
|
|
209
|
+
| **Windsurf** | ✅ Cascade Hooks | `.windsurf/rules/*.md` + `.windsurf/hooks.json` |
|
|
210
|
+
| **Cline** | ✅ `.clinerules/hooks/*.sh` | `.clinerules/memory-bank.md` + `hooks/` |
|
|
211
|
+
| **Kilo** | ❌ (fallback to git hooks) | `.kilocode/rules/` + `.git/hooks/` |
|
|
212
|
+
| **OpenCode** | ✅ TypeScript plugins | `AGENTS.md` + `opencode.json` + TS plugin |
|
|
213
|
+
| **Codex** (OpenAI) | ✅ Experimental | `AGENTS.md` + `.codex/config.toml` + `hooks.json` |
|
|
214
|
+
| **Pi Code** | Dual-mode (skill / AGENTS.md) | `~/.pi/skills/memory-bank/` or `AGENTS.md` |
|
|
215
|
+
|
|
216
|
+
`AGENTS.md` is shared across OpenCode, Codex, Pi — ownership is refcount-tracked, so uninstalling one client doesn't break the others.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Usage examples
|
|
221
|
+
|
|
222
|
+
### Starting a new feature
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
You: /mb plan feature user-auth
|
|
226
|
+
|
|
227
|
+
Agent: [creates .memory-bank/plans/2026-04-20_feature_user-auth.md with DoD,
|
|
228
|
+
test plan, stage breakdown, dependencies]
|
|
229
|
+
|
|
230
|
+
You: Now implement stage 1.
|
|
231
|
+
|
|
232
|
+
Agent: [reads plan, writes failing tests first (TDD), then implementation,
|
|
233
|
+
runs tests, updates checklist ⬜ → ✅]
|
|
234
|
+
|
|
235
|
+
You: /mb verify
|
|
236
|
+
|
|
237
|
+
Agent: [plan-verifier agent checks that implementation matches plan DoD]
|
|
238
|
+
|
|
239
|
+
You: /mb done
|
|
240
|
+
|
|
241
|
+
Agent: [appends session summary to progress.md, updates STATUS.md if needed]
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Jumping into an existing project
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
cd some-legacy-project/
|
|
248
|
+
memory-bank install --clients cursor # adds .cursor/ adapter
|
|
249
|
+
|
|
250
|
+
# In Cursor:
|
|
251
|
+
/mb init --full # auto-detect stack, generate CLAUDE.md
|
|
252
|
+
/mb start # load everything
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Sharing state with your team
|
|
256
|
+
|
|
257
|
+
`.memory-bank/` is just markdown. Commit it. Your colleague clones the repo, runs `/mb start`, and has the full project context without asking you a single question.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## CLI reference
|
|
262
|
+
|
|
263
|
+
After `pipx install memory-bank-skill`:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
memory-bank install [--clients <list>] [--project-root <path>]
|
|
267
|
+
memory-bank uninstall
|
|
268
|
+
memory-bank init # prints /mb init hint
|
|
269
|
+
memory-bank version
|
|
270
|
+
memory-bank self-update # prints `pipx upgrade ...`
|
|
271
|
+
memory-bank doctor # resolves bundle, platform info
|
|
272
|
+
memory-bank --help
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Flags:
|
|
276
|
+
- `--clients <list>` — comma-separated. Valid: `claude-code, cursor, windsurf, cline, kilo, opencode, pi, codex`. Default: `claude-code` only.
|
|
277
|
+
- `--project-root <path>` — where to place client-specific adapters. Default: current directory.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Environment variables
|
|
282
|
+
|
|
283
|
+
| Variable | Purpose | Default |
|
|
284
|
+
|----------|---------|---------|
|
|
285
|
+
| `MB_AUTO_CAPTURE` | SessionEnd auto-capture mode: `auto` / `strict` / `off` | `auto` |
|
|
286
|
+
| `MB_COMPACT_REMIND` | Weekly `/mb compact` reminder: `auto` / `off` | `auto` |
|
|
287
|
+
| `MB_PI_MODE` | Pi adapter mode: `agents-md` / `skill` | `agents-md` |
|
|
288
|
+
| `MB_SKILL_BUNDLE` | Override bundle path (dev / testing) | auto-detected |
|
|
289
|
+
| `MB_SKIP_DEPS_CHECK` | Skip preflight dep check in `install.sh` | `0` |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Platform support
|
|
294
|
+
|
|
295
|
+
| OS | Status |
|
|
296
|
+
|----|--------|
|
|
297
|
+
| macOS | ✅ Full |
|
|
298
|
+
| Linux | ✅ Full |
|
|
299
|
+
| Windows | ⚠️ WSL only (bash required) |
|
|
300
|
+
|
|
301
|
+
Running native Windows prints a WSL hint and exits. Use WSL: `wsl --install`, then install from inside WSL.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## FAQ
|
|
306
|
+
|
|
307
|
+
**Q: Do I need to commit `.memory-bank/` to git?**
|
|
308
|
+
A: Recommended if working in a team — that's how state is shared. Solo project: optional. Either way works.
|
|
309
|
+
|
|
310
|
+
**Q: Does this replace Claude Code's built-in memory?**
|
|
311
|
+
A: No — complementary. Native memory is per-user, cross-project (preferences, style). `.memory-bank/` is per-project, team-shared (status, plans, decisions). Both load simultaneously.
|
|
312
|
+
|
|
313
|
+
**Q: Will it work on private repositories?**
|
|
314
|
+
A: Yes. Everything is local. No data sent anywhere unless your AI agent itself calls external APIs (that's unchanged).
|
|
315
|
+
|
|
316
|
+
**Q: What if my team uses different AI agents?**
|
|
317
|
+
A: That's the whole point. Install per-client: `memory-bank install --clients cursor,windsurf,claude-code`. One memory bank, everyone reads it.
|
|
318
|
+
|
|
319
|
+
**Q: Cursor hooks are experimental / Codex hooks are experimental — is that a problem?**
|
|
320
|
+
A: Partial — where native hooks don't exist or aren't stable, we ship graceful fallbacks (git hooks for Kilo; `AGENTS.md` fallback for Pi). See [docs/cross-agent-setup.md](docs/cross-agent-setup.md) for specifics.
|
|
321
|
+
|
|
322
|
+
**Q: My existing `AGENTS.md` / `.cursor/hooks.json` — will this overwrite them?**
|
|
323
|
+
A: No. Adapters use a marker pattern (`<!-- memory-bank:start/end -->` for MD files, `_mb_owned: true` for JSON hooks) and merge idempotently. User content is preserved; uninstall only removes MB-owned sections.
|
|
324
|
+
|
|
325
|
+
**Q: How do I upgrade?**
|
|
326
|
+
A: `pipx upgrade memory-bank-skill` or `brew upgrade memory-bank`. Git-clone install: `cd ~/.claude/skills/skill-memory-bank && git pull && ./install.sh`.
|
|
327
|
+
|
|
328
|
+
**Q: I want to remove everything.**
|
|
329
|
+
A: `memory-bank uninstall` removes global install. Per-project adapters: `adapters/<client>.sh uninstall <project-dir>` (or drop the `.memory-bank/`, `.cursor/`, etc. directories manually).
|
|
330
|
+
|
|
331
|
+
**Q: Is this production-ready?**
|
|
332
|
+
A: Current version is a release candidate (`3.0.0-rc1`). Daily used on real projects. 461 automated tests green (bats + pytest). Stable API; rc only because we want 1-2 weeks of real-world usage before the stable tag.
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Documentation
|
|
337
|
+
|
|
338
|
+
- **[Cross-agent setup](docs/cross-agent-setup.md)** — per-client cheatsheet + hook capability matrix
|
|
339
|
+
- **[Install guide](docs/install.md)** — pipx / Homebrew / git-clone with troubleshooting
|
|
340
|
+
- **[Repository migration](docs/repo-migration.md)** — for users upgrading from `claude-skill-memory-bank`
|
|
341
|
+
- **[Release process](docs/release-process.md)** — PyPI OIDC setup + tag workflow
|
|
342
|
+
- **[CHANGELOG](CHANGELOG.md)** — version history
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Contributing
|
|
347
|
+
|
|
348
|
+
1. Fork & clone.
|
|
349
|
+
2. `./install.sh && /mb init` in the repo itself (this skill uses itself — meta but works).
|
|
350
|
+
3. Write tests first (TDD). `bats tests/bats/ tests/e2e/` + `python3 -m pytest tests/pytest/`.
|
|
351
|
+
4. Follow the rules in `rules/RULES.md` (the same ones the skill enforces on users).
|
|
352
|
+
5. Open a PR. CI runs on Python 3.11 + 3.12 × ubuntu + macos.
|
|
353
|
+
|
|
354
|
+
## License
|
|
355
|
+
|
|
356
|
+
MIT. See [LICENSE](LICENSE).
|
|
357
|
+
|
|
358
|
+
## Links
|
|
359
|
+
|
|
360
|
+
- **Repo:** https://github.com/fockus/skill-memory-bank
|
|
361
|
+
- **PyPI:** https://pypi.org/project/memory-bank-skill/
|
|
362
|
+
- **Homebrew tap:** https://github.com/fockus/homebrew-tap
|
|
363
|
+
- **Issues:** https://github.com/fockus/skill-memory-bank/issues
|