@velvetmonkey/flywheel-memory 2.0.80 → 2.0.82
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/README.md +8 -19
- package/bin/flywheel-memory.js +2 -0
- package/dist/index.js +40 -13
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
| "What should I link?" | Not possible | 10-dimension scoring + semantic search |
|
|
21
21
|
| Hubs, orphans, paths? | Not possible | Pre-indexed graph analysis |
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
61 tools across 11 categories. 6-line config. Zero cloud dependencies.
|
|
24
24
|
|
|
25
25
|
**Try in 60 seconds:**
|
|
26
26
|
|
|
@@ -304,7 +304,7 @@ Add `.mcp.json` to your vault root:
|
|
|
304
304
|
"command": "npx",
|
|
305
305
|
"args": ["-y", "@velvetmonkey/flywheel-memory"],
|
|
306
306
|
"env": {
|
|
307
|
-
"FLYWHEEL_PRESET": "
|
|
307
|
+
"FLYWHEEL_PRESET": "default"
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
310
|
}
|
|
@@ -315,7 +315,7 @@ Add `.mcp.json` to your vault root:
|
|
|
315
315
|
cd /path/to/your/vault && claude
|
|
316
316
|
```
|
|
317
317
|
|
|
318
|
-
|
|
318
|
+
Defaults to the `default` preset (16 tools). Add bundles as needed. See [docs/CONFIGURATION.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/CONFIGURATION.md) for all options.
|
|
319
319
|
|
|
320
320
|
> **Note:** Developed and tested with Claude Code. Other MCP clients may work but are untested.
|
|
321
321
|
|
|
@@ -325,22 +325,11 @@ Start with the `minimal` preset (11 tools). Add bundles as needed. See [docs/CON
|
|
|
325
325
|
|
|
326
326
|
| Preset | Tools | What you get |
|
|
327
327
|
|--------|-------|--------------|
|
|
328
|
-
| `
|
|
329
|
-
| `
|
|
330
|
-
| `
|
|
331
|
-
| `agent` | 14 | minimal + agent memory (brief, recall, memory) |
|
|
332
|
-
| `researcher` | 12 | Search + graph navigation — read-heavy exploration |
|
|
328
|
+
| `default` | 16 | Note-taking essentials — search, read, write, tasks |
|
|
329
|
+
| `agent` | 16 | Autonomous AI agents — search, read, write, memory |
|
|
330
|
+
| `full` | 61 | Everything — all 11 categories |
|
|
333
331
|
|
|
334
|
-
Composable bundles
|
|
335
|
-
|
|
336
|
-
| Bundle | Tools | What it adds |
|
|
337
|
-
|--------|-------|--------------|
|
|
338
|
-
| `graph` | 7 | Backlinks, orphans, hubs, shortest paths |
|
|
339
|
-
| `analysis` | 9 | Schema intelligence, wikilink validation, content similarity |
|
|
340
|
-
| `tasks` | 3 | Task queries and mutations |
|
|
341
|
-
| `health` | 12 | Vault diagnostics, index management, growth, config, merges |
|
|
342
|
-
| `ops` | 2 | Git undo, policy automation |
|
|
343
|
-
| `note-ops` | 4 | Delete, move, rename notes, merge entities |
|
|
332
|
+
Composable bundles add capabilities to any preset. See [docs/CONFIGURATION.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/CONFIGURATION.md) for all bundles and fine-grained categories.
|
|
344
333
|
|
|
345
334
|
The fewer tools you load, the less context Claude needs to pick the right one. See [docs/TOOLS.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/TOOLS.md) for the full reference.
|
|
346
335
|
|
|
@@ -351,7 +340,7 @@ The fewer tools you load, the less context Claude needs to pick the right one. S
|
|
|
351
340
|
| Doc | Why read this |
|
|
352
341
|
|---|---|
|
|
353
342
|
| [PROVE-IT.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/PROVE-IT.md) | See it working in 5 minutes |
|
|
354
|
-
| [TOOLS.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/TOOLS.md) | All
|
|
343
|
+
| [TOOLS.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/TOOLS.md) | All 61 tools documented |
|
|
355
344
|
| [ALGORITHM.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/ALGORITHM.md) | How the scoring works |
|
|
356
345
|
| [COOKBOOK.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/COOKBOOK.md) | Example prompts by use case |
|
|
357
346
|
| [SETUP.md](https://github.com/velvetmonkey/flywheel-memory/blob/main/docs/SETUP.md) | Full setup guide for your vault |
|
package/dist/index.js
CHANGED
|
@@ -19336,8 +19336,7 @@ var ALL_CATEGORIES = [
|
|
|
19336
19336
|
"tasks",
|
|
19337
19337
|
"memory",
|
|
19338
19338
|
"note-ops",
|
|
19339
|
-
"diagnostics"
|
|
19340
|
-
"automation"
|
|
19339
|
+
"diagnostics"
|
|
19341
19340
|
];
|
|
19342
19341
|
var PRESETS = {
|
|
19343
19342
|
// Presets
|
|
@@ -19352,8 +19351,7 @@ var PRESETS = {
|
|
|
19352
19351
|
tasks: ["tasks"],
|
|
19353
19352
|
memory: ["memory"],
|
|
19354
19353
|
"note-ops": ["note-ops"],
|
|
19355
|
-
diagnostics: ["diagnostics"]
|
|
19356
|
-
automation: ["automation"]
|
|
19354
|
+
diagnostics: ["diagnostics"]
|
|
19357
19355
|
};
|
|
19358
19356
|
var DEFAULT_PRESET = "default";
|
|
19359
19357
|
var DEPRECATED_ALIASES = {
|
|
@@ -19373,9 +19371,9 @@ var DEPRECATED_ALIASES = {
|
|
|
19373
19371
|
paths: "graph",
|
|
19374
19372
|
health: "diagnostics",
|
|
19375
19373
|
analysis: "wikilinks",
|
|
19376
|
-
git: "
|
|
19377
|
-
ops: "
|
|
19378
|
-
policy: "
|
|
19374
|
+
git: "write",
|
|
19375
|
+
ops: "write",
|
|
19376
|
+
policy: "write"
|
|
19379
19377
|
};
|
|
19380
19378
|
function parseEnabledCategories() {
|
|
19381
19379
|
const envValue = (process.env.FLYWHEEL_TOOLS ?? process.env.FLYWHEEL_PRESET)?.trim();
|
|
@@ -19427,12 +19425,14 @@ var TOOL_CATEGORY = {
|
|
|
19427
19425
|
get_note_structure: "read",
|
|
19428
19426
|
get_section_content: "read",
|
|
19429
19427
|
find_sections: "read",
|
|
19430
|
-
// write (
|
|
19428
|
+
// write (7 tools) — content mutations + frontmatter + note creation + undo + policy
|
|
19431
19429
|
vault_add_to_section: "write",
|
|
19432
19430
|
vault_remove_from_section: "write",
|
|
19433
19431
|
vault_replace_in_section: "write",
|
|
19434
19432
|
vault_update_frontmatter: "write",
|
|
19435
19433
|
vault_create_note: "write",
|
|
19434
|
+
vault_undo_last_mutation: "write",
|
|
19435
|
+
policy: "write",
|
|
19436
19436
|
// graph (9 tools) — structural analysis + link detail
|
|
19437
19437
|
graph_analysis: "graph",
|
|
19438
19438
|
get_backlinks: "graph",
|
|
@@ -19488,10 +19488,7 @@ var TOOL_CATEGORY = {
|
|
|
19488
19488
|
server_log: "diagnostics",
|
|
19489
19489
|
suggest_entity_merges: "diagnostics",
|
|
19490
19490
|
dismiss_merge_suggestion: "diagnostics",
|
|
19491
|
-
vault_init: "diagnostics"
|
|
19492
|
-
// automation (2 tools) — git undo + policy engine
|
|
19493
|
-
vault_undo_last_mutation: "automation",
|
|
19494
|
-
policy: "automation"
|
|
19491
|
+
vault_init: "diagnostics"
|
|
19495
19492
|
};
|
|
19496
19493
|
function generateInstructions(categories) {
|
|
19497
19494
|
const parts = [];
|
|
@@ -19518,7 +19515,37 @@ Escalation: "search" (enriched metadata + content preview) \u2192 "get_note_stru
|
|
|
19518
19515
|
parts.push(`
|
|
19519
19516
|
## Write
|
|
19520
19517
|
|
|
19521
|
-
Write to existing notes with "vault_add_to_section". Create new notes with "vault_create_note".
|
|
19518
|
+
Write to existing notes with "vault_add_to_section". Create new notes with "vault_create_note".
|
|
19519
|
+
Update metadata with "vault_update_frontmatter". All writes auto-link entities \u2014 no manual [[wikilinks]] needed.
|
|
19520
|
+
Use "vault_undo_last_mutation" to reverse the last write.
|
|
19521
|
+
|
|
19522
|
+
**Frontmatter matters more than content** for Flywheel's intelligence. When creating or updating notes, always set:
|
|
19523
|
+
- \`type:\` \u2014 drives entity categorization (person, project, technology). Without it, the category is guessed from the name alone.
|
|
19524
|
+
- \`aliases:\` \u2014 alternative names so the entity is found when referred to differently.
|
|
19525
|
+
- \`description:\` \u2014 one-line summary shown in search results and used by recall.
|
|
19526
|
+
- Tags \u2014 used for filtering, suggestion scoring, and schema analysis.
|
|
19527
|
+
Good frontmatter is the highest-leverage action for improving suggestions, recall, and link quality.
|
|
19528
|
+
|
|
19529
|
+
### Policies
|
|
19530
|
+
|
|
19531
|
+
Use "policy" to build deterministic, repeatable vault workflows. Describe what you want in plain
|
|
19532
|
+
language \u2014 Claude authors the YAML, saves it, and can execute it on demand. No YAML knowledge needed.
|
|
19533
|
+
|
|
19534
|
+
Policies chain vault tools (add/remove/replace sections, create notes, update frontmatter, toggle
|
|
19535
|
+
tasks) into atomic operations \u2014 all steps succeed or all roll back, committed as a single git commit.
|
|
19536
|
+
|
|
19537
|
+
Actions: "author" a policy from a description, "validate" the YAML, "preview" (dry-run),
|
|
19538
|
+
"execute" with variables, "list" saved policies, "revise" to modify.
|
|
19539
|
+
|
|
19540
|
+
Key capabilities:
|
|
19541
|
+
- **Variables** \u2014 parameterize policies (string, number, boolean, array, enum with defaults).
|
|
19542
|
+
- **Conditions** \u2014 branch on file/section/frontmatter state (skip steps, don't abort).
|
|
19543
|
+
- **Templates** \u2014 interpolate variables, builtins ({{today}}, {{now}}), and prior step outputs.
|
|
19544
|
+
- **Atomicity** \u2014 failure at any step rolls back all changes. One policy = one git commit.
|
|
19545
|
+
|
|
19546
|
+
Example: ask "create a policy that generates a weekly review note, pulls open tasks, and updates
|
|
19547
|
+
project frontmatter" \u2014 Claude authors the YAML, saves it to .claude/policies/, and runs it whenever
|
|
19548
|
+
you say "run the weekly review for this week".`);
|
|
19522
19549
|
}
|
|
19523
19550
|
if (categories.has("memory")) {
|
|
19524
19551
|
parts.push(`
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velvetmonkey/flywheel-memory",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.82",
|
|
4
4
|
"description": "MCP server that gives Claude full read/write access to your Obsidian vault. Select from 51 tools for search, backlinks, graph queries, mutations, agent memory, and hybrid semantic search.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"flywheel-memory": "
|
|
8
|
+
"flywheel-memory": "bin/flywheel-memory.js"
|
|
9
9
|
},
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@modelcontextprotocol/sdk": "^1.25.1",
|
|
55
|
-
"@velvetmonkey/vault-core": "^2.0.
|
|
55
|
+
"@velvetmonkey/vault-core": "^2.0.82",
|
|
56
56
|
"better-sqlite3": "^11.0.0",
|
|
57
57
|
"chokidar": "^4.0.0",
|
|
58
58
|
"gray-matter": "^4.0.3",
|
|
@@ -76,6 +76,7 @@
|
|
|
76
76
|
},
|
|
77
77
|
"license": "Apache-2.0",
|
|
78
78
|
"files": [
|
|
79
|
+
"bin",
|
|
79
80
|
"dist",
|
|
80
81
|
"README.md",
|
|
81
82
|
"LICENSE"
|