@pcircle/memesh 3.2.1 → 4.0.1
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.de.md +28 -7
- package/README.es.md +28 -7
- package/README.fr.md +28 -7
- package/README.ja.md +28 -7
- package/README.ko.md +28 -7
- package/README.md +47 -14
- package/README.pt.md +28 -7
- package/README.th.md +28 -7
- package/README.vi.md +28 -7
- package/README.zh-CN.md +28 -7
- package/README.zh-TW.md +28 -7
- package/dashboard/dist/index.html +2 -2
- package/dist/core/auto-tagger.d.ts +5 -0
- package/dist/core/auto-tagger.d.ts.map +1 -0
- package/dist/core/auto-tagger.js +99 -0
- package/dist/core/auto-tagger.js.map +1 -0
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +29 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/embedder.d.ts +1 -0
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +134 -48
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/lifecycle.d.ts +7 -0
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +91 -0
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/operations.d.ts +8 -0
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +53 -2
- package/dist/core/operations.js.map +1 -1
- package/dist/core/patterns.d.ts +39 -0
- package/dist/core/patterns.d.ts.map +1 -0
- package/dist/core/patterns.js +109 -0
- package/dist/core/patterns.js.map +1 -0
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +17 -0
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/scoring.d.ts +6 -0
- package/dist/core/scoring.d.ts.map +1 -1
- package/dist/core/scoring.js +8 -3
- package/dist/core/scoring.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +31 -2
- package/dist/db.js.map +1 -1
- package/dist/knowledge-graph.d.ts +4 -1
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +23 -5
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/transports/cli/cli.js +31 -1
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +61 -34
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +17 -0
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +91 -1
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +10 -0
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +4 -0
- package/dist/transports/schemas.js.map +1 -1
- package/hooks/hooks.json +12 -0
- package/package.json +5 -1
- package/plugin.json +1 -1
- package/scripts/hooks/pre-edit-recall.js +172 -0
- package/scripts/hooks/session-start.js +79 -2
- package/scripts/hooks/session-summary.js +80 -1
- package/skills/memesh/SKILL.md +110 -52
- package/skills/memesh-review/SKILL.md +69 -26
package/skills/memesh/SKILL.md
CHANGED
|
@@ -1,73 +1,131 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memesh
|
|
3
|
-
description: Use MeMesh to remember, recall, and manage AI knowledge across sessions. Triggers when the user asks to remember something, recall past decisions, forget outdated info, or
|
|
3
|
+
description: Use MeMesh to remember, recall, and manage AI knowledge across sessions. Triggers when the user asks to remember something, recall past decisions, forget outdated info, learn from mistakes, or analyze work patterns. Also triggers proactively when you make important decisions, fix bugs, or learn lessons worth preserving.
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# MeMesh — AI Memory Management
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
9
|
+
Persistent memory layer for AI agents. Remember decisions, recall context, learn from mistakes — across sessions.
|
|
10
|
+
|
|
11
|
+
## How to Access (auto-detect)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
1. MCP tools available? (remember, recall, forget, learn in your tool list)
|
|
15
|
+
→ YES: use MCP tools directly (fastest, structured I/O)
|
|
16
|
+
→ NO: continue to step 2
|
|
17
|
+
|
|
18
|
+
2. CLI available? Run: memesh status
|
|
19
|
+
→ Works: use CLI commands below
|
|
20
|
+
→ "command not found": Run: npx @pcircle/memesh status
|
|
21
|
+
→ Works: use npx @pcircle/memesh <command> for all commands below
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
All examples below use CLI. MCP tools accept the same parameters as JSON objects.
|
|
25
|
+
|
|
26
|
+
## What's Already Automatic (Claude Code Plugin Hooks)
|
|
27
|
+
|
|
28
|
+
If MeMesh is installed as a Claude Code plugin, these happen **without any action from you**:
|
|
29
|
+
|
|
30
|
+
| Hook | When | What it does |
|
|
31
|
+
|------|------|-------------|
|
|
32
|
+
| **SessionStart** | Every session begins | Auto-recalls top memories for current project + surfaces lesson warnings |
|
|
33
|
+
| **PostToolUse** | After `git commit` | Auto-tracks commit with diff stats as a memory entity |
|
|
34
|
+
| **Stop** | Session ends | Auto-captures session knowledge + runs LLM failure analysis → lessons |
|
|
35
|
+
| **PreCompact** | Before context compaction | Saves important knowledge before conversation history is compressed |
|
|
36
|
+
|
|
37
|
+
**You do NOT need to manually:**
|
|
38
|
+
- Recall at session start (hook does it)
|
|
39
|
+
- Remember commits (hook does it)
|
|
40
|
+
- Summarize sessions (hook does it)
|
|
41
|
+
|
|
42
|
+
**You DO need to manually** use the commands below for intentional knowledge management.
|
|
43
|
+
|
|
44
|
+
## When to Use
|
|
45
|
+
|
|
46
|
+
### Proactive triggers — do these WITHOUT being asked
|
|
47
|
+
|
|
48
|
+
| Situation | Action |
|
|
49
|
+
|-----------|--------|
|
|
50
|
+
| Design decision made | `memesh remember --name "auth-choice" --type decision --obs "Use OAuth 2.0 with PKCE" --tags "project:myapp"` |
|
|
51
|
+
| Bug fixed | `memesh learn --error "what broke" --fix "what fixed it" --root-cause "why" --severity major` |
|
|
52
|
+
| Pattern established | `memesh remember --name "validation-pattern" --type pattern --obs "Always use Zod"` |
|
|
53
|
+
| Starting work on a feature | `memesh recall "feature-name" --json` |
|
|
54
|
+
| User asks "what did we decide?" | `memesh recall "topic" --tag "project:myapp"` |
|
|
55
|
+
| Info is outdated | `memesh forget --name "old-decision"` |
|
|
56
|
+
|
|
57
|
+
### When NOT to remember
|
|
58
|
+
- Trivial implementation details (variable names, import paths)
|
|
59
|
+
- Anything that took < 5 minutes to decide
|
|
60
|
+
- Information already in the codebase (comments, README, config)
|
|
61
|
+
|
|
62
|
+
## Common Scenarios
|
|
63
|
+
|
|
64
|
+
### You just fixed a bug
|
|
65
|
+
```bash
|
|
66
|
+
memesh learn \
|
|
67
|
+
--error "SIGSEGV when running vitest with threads" \
|
|
68
|
+
--fix "Use pool: 'forks' instead of 'threads' for native modules" \
|
|
69
|
+
--root-cause "better-sqlite3 native module is not thread-safe" \
|
|
70
|
+
--prevention "Check if test framework supports native modules before choosing pool" \
|
|
71
|
+
--severity major
|
|
72
|
+
```
|
|
73
|
+
This creates a `lesson_learned` entity. Lessons are surfaced as **proactive warnings** at next session start.
|
|
74
|
+
|
|
75
|
+
### You need context before working
|
|
76
|
+
```bash
|
|
77
|
+
memesh recall "authentication" --json
|
|
78
|
+
memesh recall --tag "project:myapp" --limit 10
|
|
79
|
+
memesh recall --cross-project # search across all projects
|
|
80
|
+
```
|
|
81
|
+
Results are ranked by relevance, recency, frequency, confidence, and temporal validity.
|
|
82
|
+
|
|
83
|
+
### A decision was just made
|
|
84
|
+
```bash
|
|
85
|
+
memesh remember \
|
|
86
|
+
--name "db-choice-2026" \
|
|
87
|
+
--type decision \
|
|
88
|
+
--obs "Use SQLite for local-first" "Rejected PostgreSQL due to deployment complexity" \
|
|
89
|
+
--tags "project:myapp" "topic:database"
|
|
40
90
|
```
|
|
41
|
-
Types: `decision
|
|
91
|
+
Types: `decision` `pattern` `lesson_learned` `bug_fix` `architecture` `convention` `feature` `best_practice` `concept` `tool` `note`
|
|
42
92
|
|
|
43
|
-
###
|
|
44
|
-
```
|
|
45
|
-
|
|
93
|
+
### Old info needs updating
|
|
94
|
+
```bash
|
|
95
|
+
memesh forget --name "old-auth-approach" # archive entire entity
|
|
96
|
+
memesh forget --name "auth-approach" --observation "Use JWT" # remove one fact only
|
|
46
97
|
```
|
|
47
|
-
|
|
98
|
+
Archives (soft-delete). Never permanently removes.
|
|
48
99
|
|
|
49
|
-
###
|
|
50
|
-
```
|
|
51
|
-
|
|
100
|
+
### Memories are getting verbose
|
|
101
|
+
```bash
|
|
102
|
+
memesh consolidate --name "entity-with-many-observations"
|
|
103
|
+
memesh consolidate --tag "project:myapp" --min-obs 5
|
|
52
104
|
```
|
|
53
|
-
|
|
105
|
+
Compresses observations using LLM. Requires Smart Mode configured.
|
|
54
106
|
|
|
55
|
-
###
|
|
56
|
-
```
|
|
57
|
-
|
|
107
|
+
### Backup or share memories
|
|
108
|
+
```bash
|
|
109
|
+
memesh export --tag "project:myapp" > memories.json
|
|
110
|
+
memesh import memories.json --merge skip # skip | overwrite | append
|
|
58
111
|
```
|
|
59
|
-
Compresses verbose memories using LLM. Requires Smart Mode configured.
|
|
60
112
|
|
|
61
|
-
###
|
|
62
|
-
```
|
|
63
|
-
|
|
113
|
+
### Check MeMesh health
|
|
114
|
+
```bash
|
|
115
|
+
memesh status # version, search level, embeddings
|
|
116
|
+
memesh config list # current configuration
|
|
64
117
|
```
|
|
65
|
-
|
|
118
|
+
|
|
119
|
+
## MCP-Only Features
|
|
120
|
+
|
|
121
|
+
These require MCP tools or the HTTP API (`memesh serve` + REST calls):
|
|
122
|
+
|
|
123
|
+
- **user_patterns** — Analyzes work patterns (schedule, tool preferences, strengths) from existing memories. Categories: `workSchedule`, `toolPreferences`, `strengths`, `focusAreas`.
|
|
66
124
|
|
|
67
125
|
## Best Practices
|
|
68
126
|
|
|
69
127
|
1. **Be specific** — "Use OAuth 2.0 with PKCE" not "auth stuff decided"
|
|
70
128
|
2. **Tag by project** — Always include `project:<name>` tag
|
|
71
|
-
3. **Use
|
|
72
|
-
4. **
|
|
73
|
-
5. **Don't over-remember** —
|
|
129
|
+
3. **Use `--json`** — When you need to parse output programmatically
|
|
130
|
+
4. **Learn from every bug** — Every fix is a future warning. Use `learn`, not just `remember`.
|
|
131
|
+
5. **Don't over-remember** — Decisions that took > 5 minutes. Patterns worth preserving. Not trivia.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: memesh-review
|
|
3
|
-
description: Review and
|
|
3
|
+
description: Review and optimize the MeMesh memory database. Analyzes health score, finds stale/conflicting/redundant memories, shows work patterns, and suggests cleanup actions. Use when asked to "review memories", "check memory health", "clean up knowledge", or "what's in my memory".
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,47 +8,90 @@ user-invocable: true
|
|
|
8
8
|
|
|
9
9
|
Review the memory database and provide actionable cleanup recommendations.
|
|
10
10
|
|
|
11
|
+
## How to Access
|
|
12
|
+
|
|
13
|
+
Use CLI (works everywhere) or MCP tools (if available). See the `memesh` skill for auto-detect instructions.
|
|
14
|
+
|
|
11
15
|
## Process
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
### Step 1: Gather data
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Get system health
|
|
21
|
+
memesh status
|
|
22
|
+
|
|
23
|
+
# Get all recent memories (structured output for analysis)
|
|
24
|
+
memesh recall --limit 50 --json
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
# Get memories by type for quality analysis
|
|
27
|
+
memesh recall --tag "type:decision" --json
|
|
28
|
+
memesh recall --tag "type:lesson_learned" --json
|
|
29
|
+
memesh recall --tag "type:session_keypoint" --json
|
|
30
|
+
```
|
|
20
31
|
|
|
21
|
-
|
|
32
|
+
If MCP `user_patterns` tool is available, also run it for work pattern analysis:
|
|
22
33
|
```json
|
|
23
|
-
|
|
34
|
+
user_patterns: {}
|
|
24
35
|
```
|
|
25
36
|
|
|
26
37
|
### Step 2: Analyze and report
|
|
27
38
|
|
|
28
|
-
|
|
39
|
+
From the recalled data, compute and present:
|
|
29
40
|
|
|
30
|
-
```
|
|
31
|
-
## Memory
|
|
41
|
+
```markdown
|
|
42
|
+
## Memory Health Report
|
|
43
|
+
|
|
44
|
+
### Overview
|
|
45
|
+
- Total entities: N
|
|
46
|
+
- Last 30 days active: N (N%)
|
|
47
|
+
- Knowledge types: N decisions, N patterns, N lessons, N auto-tracked
|
|
48
|
+
|
|
49
|
+
### Health Score: N/100
|
|
50
|
+
- Activity: N% (accessed in last 30 days)
|
|
51
|
+
- Quality: N% (high confidence, well-tagged)
|
|
52
|
+
- Freshness: N% (new this week)
|
|
53
|
+
- Self-Improvement: N% (lessons learned ratio)
|
|
32
54
|
|
|
33
|
-
###
|
|
34
|
-
- Total memories recalled: N
|
|
35
|
-
- Active: N | Archived: N
|
|
55
|
+
### Quality Issues Found
|
|
36
56
|
|
|
37
|
-
|
|
38
|
-
- "entity-name" —
|
|
57
|
+
**Stale (not accessed 30+ days, low confidence)**
|
|
58
|
+
- "entity-name" — confidence: N% — Suggest: archive?
|
|
39
59
|
|
|
40
|
-
|
|
41
|
-
- "entity-name" (
|
|
60
|
+
**Verbose (5+ observations, needs consolidation)**
|
|
61
|
+
- "entity-name" (N observations) — Suggest: `memesh consolidate --name "entity-name"`
|
|
42
62
|
|
|
43
|
-
|
|
44
|
-
- "
|
|
63
|
+
**Potential conflicts**
|
|
64
|
+
- "entity-A" vs "entity-B" — contradicting decisions
|
|
45
65
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
66
|
+
**Noise ratio**
|
|
67
|
+
- N% auto-tracked (session_keypoint, commit) vs N% intentional knowledge
|
|
68
|
+
- If noise > 80%: recommend more deliberate `memesh remember` usage
|
|
69
|
+
|
|
70
|
+
### Recommended Actions
|
|
71
|
+
1. `memesh forget --name "old-design"` (superseded)
|
|
72
|
+
2. `memesh consolidate --name "auth-history"` (12 obs → ~3)
|
|
73
|
+
3. `memesh remember ...` (knowledge gap in [area])
|
|
50
74
|
```
|
|
51
75
|
|
|
52
76
|
### Step 3: Execute approved actions
|
|
53
77
|
|
|
54
|
-
|
|
78
|
+
Present the report first. Ask which actions to execute. Then run the commands:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
memesh forget --name "outdated-entity"
|
|
82
|
+
memesh consolidate --name "verbose-entity"
|
|
83
|
+
memesh remember --name "missing-knowledge" --type decision --obs "..."
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Step 4: Verify
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
memesh recall --limit 5 --json # confirm changes took effect
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Tips
|
|
93
|
+
|
|
94
|
+
- Run every 1-2 weeks to keep memory healthy
|
|
95
|
+
- Health score < 50 → too many stale or low-quality memories
|
|
96
|
+
- Noise > 80% → encourage deliberate `memesh remember` for decisions
|
|
97
|
+
- Dashboard available at: http://localhost:3737/dashboard (run `memesh serve` first)
|