@danielmarbach/mnemonic-mcp 0.6.0 → 0.8.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 CHANGED
@@ -4,6 +4,35 @@ All notable changes to `mnemonic` will be documented in this file.
4
4
 
5
5
  The format is loosely based on Keep a Changelog and uses semver-style version headings.
6
6
 
7
+ ## [0.8.0] - 2026-03-14
8
+
9
+ ### Changed
10
+
11
+ - All MCP tool descriptions rewritten for self-contained routing and sub-vault awareness
12
+
13
+ ### Added
14
+
15
+ - Homebrew tap support: `brew install danielmarbach/mnemonic/mnemonic-mcp`.
16
+ - Git submodule support: project vault creation and identity resolution now walk up through submodule boundaries to the superproject root.
17
+ - Multi-vault support: project git roots can contain multiple vault folders (`.mnemonic-<name>`) alongside the primary `.mnemonic/`. Sub-vaults share the primary vault's embeddings directory and appear in `searchOrder`, `allKnownVaults`, and all list/recall operations.
18
+ - `move_memory` accepts optional `vaultFolder` parameter to target specific sub-vaults.
19
+ - `Storage` accepts optional `embeddingsDirOverride` to redirect where embeddings are stored.
20
+ - `Vault` interface gains `vaultFolderName` field.
21
+ - `VaultManager` exposes `getVaultByFolder(cwd, folderName)` method.
22
+
23
+ ## [0.7.0] - 2026-03-13
24
+
25
+ ### Added
26
+
27
+ - Protected-branch one-time override input (`allowProtectedBranch`) for additional mutating tools that can commit to project vaults: `update`, `forget`, `move_memory`, and `consolidate` (mutating strategies).
28
+ - Integration coverage for protected-branch policy now verifies ask/override flows across `update`, `forget`, `move_memory`, and `consolidate` in addition to `remember`.
29
+
30
+ ### Changed
31
+
32
+ - Protected-branch policy enforcement now applies consistently to automatic project-vault commits from mutating tools, not just `remember`. Affected paths include `update`, `forget`, `move_memory`, and mutating `consolidate` strategies (`execute-merge`, `prune-superseded`).
33
+ - Protected-branch guidance text now references the active tool when suggesting one-time override retries.
34
+ - Tool descriptions/docs were updated to reflect cross-tool protected-branch behavior in `README.md`, `AGENT.md`, and `docs/index.html`.
35
+
7
36
  ## [0.6.0] - 2026-03-13
8
37
 
9
38
  ### Added
package/README.md CHANGED
@@ -91,6 +91,21 @@ npm install @danielmarbach/mnemonic-mcp
91
91
  npm install @danielmarbach/mnemonic-mcp@0.2.0
92
92
  ```
93
93
 
94
+ ### Homebrew
95
+
96
+ The formula lives in this repository. Tap it with an explicit URL so no separate repository is needed:
97
+
98
+ ```bash
99
+ brew tap danielmarbach/mnemonic-mcp https://github.com/danielmarbach/mnemonic
100
+ brew install mnemonic-mcp
101
+ ```
102
+
103
+ Or in a single step:
104
+
105
+ ```bash
106
+ brew install danielmarbach/mnemonic-mcp/mnemonic-mcp
107
+ ```
108
+
94
109
  ### Docker Hub
95
110
 
96
111
  Pre-built images for `linux/amd64` and `linux/arm64`:
@@ -135,6 +150,21 @@ For a fixed installed version, point at the local binary instead:
135
150
  }
136
151
  ```
137
152
 
153
+ ### Claude Desktop / Cursor (Homebrew)
154
+
155
+ ```json
156
+ {
157
+ "mcpServers": {
158
+ "mnemonic": {
159
+ "command": "mnemonic",
160
+ "env": {
161
+ "VAULT_PATH": "/Users/you/mnemonic-vault"
162
+ }
163
+ }
164
+ }
165
+ }
166
+ ```
167
+
138
168
  ### Claude Desktop / Cursor (Docker)
139
169
 
140
170
  ```json
@@ -208,7 +238,7 @@ User-tunable fields:
208
238
  | `mutationPushMode` | `"main-only"` | When to auto-push after a write: `"all"`, `"main-only"`, or `"none"` |
209
239
 
210
240
  `projectMemoryPolicies` and `projectIdentityOverrides` are written automatically by `set_project_memory_policy` and `set_project_identity` — no need to edit them by hand.
211
- Project memory policies can include protected-branch settings (`protectedBranchBehavior`, `protectedBranchPatterns`) used by `remember` when writing to project vaults.
241
+ Project memory policies can include protected-branch settings (`protectedBranchBehavior`, `protectedBranchPatterns`) used by mutating tools when they commit to project vaults (`remember`, `update`, `forget`, `move_memory`, and mutating `consolidate` strategies).
212
242
 
213
243
  Example — raise concurrency on a fast machine and disable auto-push everywhere:
214
244
 
@@ -263,7 +293,7 @@ Use `set_project_memory_policy` to save per-project defaults:
263
293
  - protected-branch behavior for project-vault writes (`ask`, `block`, `allow`)
264
294
  - protected-branch patterns (glob strings; defaults are `main`, `master`, `release*`)
265
295
 
266
- When write scope policy is `ask`, `remember` returns a clear storage choice instead of guessing. When protected-branch behavior is `ask`, `remember` returns a one-time override option plus instructions to persist `block`/`allow`.
296
+ When write scope policy is `ask`, `remember` returns a clear storage choice instead of guessing. When protected-branch behavior is `ask`, mutating tools that would commit to the project vault return a one-time override option (`allowProtectedBranch: true`) plus instructions to persist `block`/`allow`.
267
297
 
268
298
  ### Project identity
269
299
 
@@ -456,6 +486,29 @@ No. The embeddings here are **local vector representations** generated by Ollama
456
486
 
457
487
  When you call `recall` with `cwd`, mnemonic adds a fixed **+0.15 boost** to the cosine similarity score of every note belonging to the detected project. This is a soft boost, not a hard filter — global memories are still included when relevant. The boost ensures project-specific context floats to the top when you're working inside a repo while cross-project knowledge remains accessible further down the list.
458
488
 
489
+ **I want to brainstorm with no repo yet. Should I create a temp folder first?**
490
+
491
+ Usually, no. If you're talking to an LLM with mnemonic MCP configured, treat it like a normal brainstorming chat and ask it to store key points in the **main vault** (global memory).
492
+
493
+ Example conversation style:
494
+
495
+ ```text
496
+ You: I have an idea for a meal-planning app. Let's brainstorm v1 scope.
497
+ LLM: Great. I can capture key decisions and open questions in global memory while we explore.
498
+
499
+ You: Please remember that the app should build weekly meals from pantry items, and avoid recipes with too many missing ingredients.
500
+ You: Also remember that I'm undecided on mobile-first vs web-first.
501
+ ```
502
+
503
+ When the idea becomes a real repo, switch to that project context and ask the LLM to migrate only the notes that became project-specific.
504
+
505
+ ```text
506
+ You: We're creating the repo now at /path/to/meal-planner.
507
+ You: Recall my earlier meal-planner brainstorm notes and move the implementation-relevant ones into this project's vault.
508
+ ```
509
+
510
+ This keeps early ideation reusable as personal/global knowledge while moving concrete project context into `.mnemonic/` once collaboration and implementation begin.
511
+
459
512
  **How does mnemonic differ from Beads?**
460
513
 
461
514
  mnemonic and Beads address complementary concerns. mnemonic is a **knowledge graph**: it stores notes, relationships between them, and lets agents retrieve relevant context through semantic search. [Beads](https://github.com/steveyegge/beads) is a **task and dependency tracker**: it models work items and their dependencies so agents can determine what is ready to execute next. Both tools can coexist in the same workflow — mnemonic stores knowledge and reasoning while Beads manages execution.