hippo-memory 0.3.1 → 0.4.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/README.md CHANGED
@@ -1,16 +1,34 @@
1
1
  # 🦛 Hippo
2
2
 
3
- **Every AI memory tool remembers everything. The brain doesn't. That's why it works.**
3
+ **The secret to good memory isn't remembering more. It's knowing what to forget.**
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/hippo-memory)](https://npmjs.com/package/hippo-memory)
6
6
  [![license](https://img.shields.io/badge/license-MIT-blue)](./LICENSE)
7
7
 
8
+ ```
9
+ Works with: Claude Code, Codex, Cursor, OpenClaw, any CLI agent
10
+ Imports from: ChatGPT, Claude (CLAUDE.md), Cursor (.cursorrules), any markdown
11
+ Storage: Markdown + YAML frontmatter. No database. Git-trackable.
12
+ Dependencies: Zero runtime deps. Optional embeddings via @xenova/transformers.
13
+ ```
14
+
8
15
  ---
9
16
 
10
17
  ## The Problem
11
18
 
12
19
  AI agents forget everything between sessions. Existing solutions just save everything and search later. That's a filing cabinet, not a brain.
13
20
 
21
+ Your memories are also trapped. ChatGPT knows things Claude doesn't. Cursor rules don't travel to Codex. Switch tools and you start from zero.
22
+
23
+ ---
24
+
25
+ ## Who Is This For
26
+
27
+ - **Multi-tool developers.** You use Claude Code on Monday, Cursor on Tuesday, Codex on Wednesday. Context doesn't carry over. Hippo is the shared memory layer across all of them.
28
+ - **Teams where agents repeat mistakes.** The agent hit the same deployment bug last week. And the week before. Hippo's error memories and decay mechanics mean hard lessons stick and noise fades.
29
+ - **Anyone whose CLAUDE.md is a mess.** Your instruction file grew to 400 lines of mixed rules, preferences, and stale workarounds. Hippo gives that structure: tags, confidence levels, automatic decay of outdated info.
30
+ - **People who want portable AI memory.** No vendor lock-in. Markdown files in your repo. Import from ChatGPT, Claude, Cursor. Export by copying a folder.
31
+
14
32
  ---
15
33
 
16
34
  ## Quick Start
@@ -25,6 +43,63 @@ hippo recall "data pipeline issues" --budget 2000
25
43
 
26
44
  That's it. You have a memory system.
27
45
 
46
+ ### Zero-config agent integration
47
+
48
+ `hippo init` auto-detects your agent framework and wires itself in:
49
+
50
+ ```bash
51
+ cd my-project
52
+ hippo init
53
+
54
+ # Initialized Hippo at /my-project
55
+ # Directories: buffer/ episodic/ semantic/ conflicts/
56
+ # Auto-installed claude-code hook in CLAUDE.md
57
+ ```
58
+
59
+ If you have a `CLAUDE.md`, it patches it. `AGENTS.md` for Codex/OpenClaw. `.cursorrules` for Cursor. No manual `hook install` needed. Your agent starts using Hippo on its next session.
60
+
61
+ To skip auto-detection: `hippo init --no-hooks`
62
+
63
+ ---
64
+
65
+ ## Cross-Tool Import
66
+
67
+ Your memories shouldn't be locked inside one tool. Hippo pulls them in from anywhere.
68
+
69
+ ```bash
70
+ # ChatGPT memory export
71
+ hippo import --chatgpt memories.json
72
+
73
+ # Claude's CLAUDE.md (skips existing hippo hook blocks)
74
+ hippo import --claude CLAUDE.md
75
+
76
+ # Cursor rules
77
+ hippo import --cursor .cursorrules
78
+
79
+ # Any markdown file (headings become tags)
80
+ hippo import --markdown MEMORY.md
81
+
82
+ # Any text file
83
+ hippo import --file notes.txt
84
+ ```
85
+
86
+ All import commands support `--dry-run` (preview without writing), `--global` (write to `~/.hippo/`), and `--tag` (add extra tags). Duplicates are detected and skipped automatically.
87
+
88
+ ### Conversation Capture
89
+
90
+ Extract memories from raw conversation text. No LLM needed: pattern-based heuristics find decisions, rules, errors, and preferences.
91
+
92
+ ```bash
93
+ # Pipe a conversation in
94
+ cat session.log | hippo capture --stdin
95
+
96
+ # Or point at a file
97
+ hippo capture --file conversation.md
98
+
99
+ # Preview first
100
+ hippo capture --file conversation.md --dry-run
101
+ ```
102
+
28
103
  ---
29
104
 
30
105
  ## How It Works
@@ -33,26 +108,26 @@ Input enters the buffer. Important things get encoded into episodic memory. Duri
33
108
 
34
109
  ```
35
110
  New information
36
-
37
-
38
- ┌─────────────┐
39
- Buffer │ Working memory. Current session only. No decay.
40
- (session)
41
- └──────┬──────┘
42
- encoded (tags, strength, half-life assigned)
43
-
44
- ┌─────────────┐
45
- Episodic Timestamped memories. Decay by default.
46
- Store Retrieval strengthens. Errors stick longer.
47
- └──────┬──────┘
48
- consolidation (hippo sleep)
49
-
50
- ┌─────────────┐
51
- Semantic Compressed patterns. Stable. Schema-aware.
52
- Store Extracted from repeated episodes.
53
- └─────────────┘
54
-
55
- 💤 hippo sleep: decay + replay + merge
111
+ |
112
+ v
113
+ +-----------+
114
+ | Buffer | Working memory. Current session only. No decay.
115
+ | (session) |
116
+ +-----+-----+
117
+ | encoded (tags, strength, half-life assigned)
118
+ v
119
+ +-----------+
120
+ | Episodic | Timestamped memories. Decay by default.
121
+ | Store | Retrieval strengthens. Errors stick longer.
122
+ +-----+-----+
123
+ | consolidation (hippo sleep)
124
+ v
125
+ +-----------+
126
+ | Semantic | Compressed patterns. Stable. Schema-aware.
127
+ | Store | Extracted from repeated episodes.
128
+ +-----------+
129
+
130
+ hippo sleep: decay + replay + merge
56
131
  ```
57
132
 
58
133
  ---
@@ -81,13 +156,13 @@ Use it or lose it. Each recall boosts the half-life by 2 days.
81
156
 
82
157
  ```bash
83
158
  hippo recall "cache issues"
84
- # finds mem_a1b2c3, retrieval_count: 1 2
85
- # half_life extended: 7d 9d
159
+ # finds mem_a1b2c3, retrieval_count: 1 -> 2
160
+ # half_life extended: 7d -> 9d
86
161
  # strength recalculated from retrieval timestamp
87
162
 
88
163
  hippo recall "cache issues" # again next week
89
- # retrieval_count: 2 3
90
- # half_life: 9d 11d
164
+ # retrieval_count: 2 -> 3
165
+ # half_life: 9d -> 11d
91
166
  # this memory is learning to survive
92
167
  ```
93
168
 
@@ -108,6 +183,49 @@ hippo remember "deployment failed: forgot to run migrations" --error
108
183
 
109
184
  ---
110
185
 
186
+ ### Confidence tiers
187
+
188
+ Every memory carries a confidence level: `verified`, `observed`, `inferred`, or `stale`. This tells agents how much to trust what they're reading.
189
+
190
+ ```bash
191
+ hippo remember "API rate limit is 100/min" --verified
192
+ hippo remember "deploy usually takes ~3 min" --observed
193
+ hippo remember "the flaky test might be a race condition" --inferred
194
+ ```
195
+
196
+ When context is generated, confidence is shown inline:
197
+
198
+ ```
199
+ [verified] API rate limit is 100/min per the docs
200
+ [observed] Deploy usually takes ~3 min
201
+ [inferred] The flaky test might be a race condition
202
+ ```
203
+
204
+ Agents can see at a glance what's established fact vs. a pattern worth questioning.
205
+
206
+ Memories unretrieved for 30+ days are automatically marked `stale` during the next `hippo sleep`.
207
+
208
+ ---
209
+
210
+ ### Observation framing
211
+
212
+ Memories aren't presented as bare assertions. By default, Hippo frames them as observations with dates, so agents treat them as context rather than commands.
213
+
214
+ ```bash
215
+ hippo context --framing observe # default
216
+ # Output: "Previously observed (2026-03-10): deploy takes ~3 min"
217
+
218
+ hippo context --framing suggest
219
+ # Output: "Consider: deploy takes ~3 min"
220
+
221
+ hippo context --framing assert
222
+ # Output: "Deploy takes ~3 min"
223
+ ```
224
+
225
+ Three modes: `observe` (default), `suggest`, `assert`. Choose based on how directive you want the memory to be.
226
+
227
+ ---
228
+
111
229
  ### Sleep consolidation
112
230
 
113
231
  Run `hippo sleep` and episodes compress into patterns.
@@ -115,9 +233,9 @@ Run `hippo sleep` and episodes compress into patterns.
115
233
  ```bash
116
234
  hippo sleep
117
235
 
118
- # 💤 Running consolidation...
236
+ # Running consolidation...
119
237
  #
120
- # 📊 Results:
238
+ # Results:
121
239
  # Active memories: 23
122
240
  # Removed (decayed): 4
123
241
  # Merged episodic: 6
@@ -137,11 +255,11 @@ hippo recall "why is the gold model broken"
137
255
  # ... you read the memories and fix the bug ...
138
256
 
139
257
  hippo outcome --good
140
- # 👍 Applied positive outcome to 3 memories
258
+ # Applied positive outcome to 3 memories
141
259
  # half_life +5d on each
142
260
 
143
261
  hippo outcome --bad
144
- # 👎 Applied negative outcome to 3 memories
262
+ # Applied negative outcome to 3 memories
145
263
  # half_life -3d on each
146
264
  # irrelevant memories decay faster
147
265
  ```
@@ -167,24 +285,77 @@ Results are ranked by `relevance * strength * recency`. The highest-signal memor
167
285
 
168
286
  ---
169
287
 
288
+ ### Auto-learn from git
289
+
290
+ Hippo can scan your commit history and extract lessons from fix/revert/bug commits automatically.
291
+
292
+ ```bash
293
+ # Learn from the last 7 days of commits
294
+ hippo learn --git
295
+
296
+ # Learn from the last 30 days
297
+ hippo learn --git --days 30
298
+
299
+ # Scan multiple repos in one pass
300
+ hippo learn --git --repos "~/project-a,~/project-b,~/project-c"
301
+ ```
302
+
303
+ The `--repos` flag accepts comma-separated paths. Hippo scans each repo's git log, extracts fix/revert/bug lessons, deduplicates against existing memories, and stores new ones. Pair with `hippo sleep` afterwards to consolidate.
304
+
305
+ Ideal for a weekly cron:
306
+
307
+ ```bash
308
+ hippo learn --git --repos "~/repo1,~/repo2" --days 7
309
+ hippo sleep
310
+ ```
311
+
312
+ ---
313
+
314
+ ### Watch mode
315
+
316
+ Wrap any command with `hippo watch` to auto-learn from failures:
317
+
318
+ ```bash
319
+ hippo watch "npm run build"
320
+ # if it fails, Hippo captures the error automatically
321
+ # next time an agent asks about build issues, the memory is there
322
+ ```
323
+
324
+ ---
325
+
170
326
  ## CLI Reference
171
327
 
172
328
  | Command | What it does |
173
329
  |---------|-------------|
174
- | `hippo init` | Create `.hippo/` in current directory |
330
+ | `hippo init` | Create `.hippo/` + auto-install agent hooks |
331
+ | `hippo init --global` | Create global store at `~/.hippo/` |
332
+ | `hippo init --no-hooks` | Create `.hippo/` without auto-installing hooks |
175
333
  | `hippo remember "<text>"` | Store a memory |
176
334
  | `hippo remember "<text>" --tag <t>` | Store with tag (repeatable) |
177
335
  | `hippo remember "<text>" --error` | Store as error (2x half-life) |
178
336
  | `hippo remember "<text>" --pin` | Store with no decay |
179
- | `hippo recall "<query>"` | Retrieve relevant memories |
337
+ | `hippo remember "<text>" --verified` | Set confidence: verified (default) |
338
+ | `hippo remember "<text>" --observed` | Set confidence: observed |
339
+ | `hippo remember "<text>" --inferred` | Set confidence: inferred |
340
+ | `hippo remember "<text>" --global` | Store in global `~/.hippo/` store |
341
+ | `hippo recall "<query>"` | Retrieve relevant memories (local + global) |
180
342
  | `hippo recall "<query>" --budget <n>` | Recall within token limit (default: 4000) |
181
343
  | `hippo recall "<query>" --json` | Output as JSON |
182
344
  | `hippo context --auto` | Smart context injection (auto-detects task from git) |
183
345
  | `hippo context "<query>" --budget <n>` | Context injection with explicit query (default: 1500) |
184
346
  | `hippo context --budget 0` | Skip entirely (zero token cost) |
185
- | `hippo hook list` | Show available framework hooks |
186
- | `hippo hook install <target>` | Install hook (claude-code, codex, cursor, openclaw) |
187
- | `hippo hook uninstall <target>` | Remove hook |
347
+ | `hippo context --framing <mode>` | Framing: observe (default), suggest, assert |
348
+ | `hippo context --format <fmt>` | Output format: markdown (default) or json |
349
+ | `hippo import --chatgpt <path>` | Import from ChatGPT memory export (JSON or txt) |
350
+ | `hippo import --claude <path>` | Import from CLAUDE.md or Claude memory.json |
351
+ | `hippo import --cursor <path>` | Import from .cursorrules or .cursor/rules |
352
+ | `hippo import --markdown <path>` | Import from structured markdown (headings -> tags) |
353
+ | `hippo import --file <path>` | Import from any text file |
354
+ | `hippo import --dry-run` | Preview import without writing |
355
+ | `hippo import --global` | Write imported memories to `~/.hippo/` |
356
+ | `hippo capture --stdin` | Extract memories from piped conversation text |
357
+ | `hippo capture --file <path>` | Extract memories from a file |
358
+ | `hippo capture --dry-run` | Preview extraction without writing |
188
359
  | `hippo sleep` | Run consolidation (decay + merge + compress) |
189
360
  | `hippo sleep --dry-run` | Preview consolidation without writing |
190
361
  | `hippo status` | Memory health: counts, strengths, last sleep |
@@ -193,18 +364,44 @@ Results are ranked by `relevance * strength * recency`. The highest-signal memor
193
364
  | `hippo outcome --id <id> --good` | Target a specific memory |
194
365
  | `hippo inspect <id>` | Full detail on one memory |
195
366
  | `hippo forget <id>` | Force remove a memory |
367
+ | `hippo embed` | Embed all memories for semantic search |
368
+ | `hippo embed --status` | Show embedding coverage |
369
+ | `hippo watch "<command>"` | Run command, auto-learn from failures |
370
+ | `hippo learn --git` | Scan recent git commits for lessons |
371
+ | `hippo learn --git --days <n>` | Scan N days back (default: 7) |
372
+ | `hippo learn --git --repos <paths>` | Scan multiple repos (comma-separated) |
373
+ | `hippo promote <id>` | Copy a local memory to the global store |
374
+ | `hippo sync` | Pull global memories into local project |
375
+ | `hippo hook list` | Show available framework hooks |
376
+ | `hippo hook install <target>` | Install hook (claude-code, codex, cursor, openclaw) |
377
+ | `hippo hook uninstall <target>` | Remove hook |
196
378
 
197
379
  ---
198
380
 
199
381
  ## Framework Integrations
200
382
 
201
- One command. Done.
383
+ ### Auto-install (recommended)
384
+
385
+ `hippo init` detects your agent framework and patches the right config file automatically:
386
+
387
+ | Framework | Detected by | Patches |
388
+ |-----------|------------|---------|
389
+ | Claude Code | `CLAUDE.md` or `.claude/settings.json` | `CLAUDE.md` |
390
+ | Codex | `AGENTS.md` or `.codex` | `AGENTS.md` |
391
+ | Cursor | `.cursorrules` or `.cursor/rules` | `.cursorrules` |
392
+ | OpenClaw | `.openclaw` or `AGENTS.md` | `AGENTS.md` |
393
+
394
+ No extra commands needed. Just `hippo init` and your agent knows about Hippo.
395
+
396
+ ### Manual install
397
+
398
+ If you prefer explicit control:
202
399
 
203
400
  ```bash
204
401
  hippo hook install claude-code # patches CLAUDE.md
205
402
  hippo hook install codex # patches AGENTS.md
206
403
  hippo hook install cursor # patches .cursorrules
207
- hippo hook install openclaw # creates .openclaw/skills/hippo/SKILL.md
404
+ hippo hook install openclaw # patches AGENTS.md
208
405
  ```
209
406
 
210
407
  This adds a `<!-- hippo:start -->` ... `<!-- hippo:end -->` block that tells the agent to:
@@ -278,14 +475,19 @@ For how these mechanisms connect to LLM training, continual learning, and open r
278
475
 
279
476
  | Feature | Hippo | Mem0 | Basic Memory | Claude-Mem |
280
477
  |---------|-------|------|-------------|-----------|
281
- | Decay by default | | | | |
282
- | Retrieval strengthening | | | | |
283
- | Outcome tracking | | | | |
284
- | Zero dependencies | | | | |
285
- | Git-friendly | | | | |
286
- | Framework agnostic | | Partial | | |
287
-
288
- Mem0, Basic Memory, and Claude-Mem all implement "save everything, search later." Hippo is the only one that models what memories are worth keeping.
478
+ | Decay by default | Yes | No | No | No |
479
+ | Retrieval strengthening | Yes | No | No | No |
480
+ | Outcome tracking | Yes | No | No | No |
481
+ | Confidence tiers | Yes | No | No | No |
482
+ | Cross-tool import | Yes | No | No | No |
483
+ | Conversation capture | Yes | No | No | No |
484
+ | Auto-hook install | Yes | No | No | No |
485
+ | Multi-repo git learn | Yes | No | No | No |
486
+ | Zero dependencies | Yes | No | No | No |
487
+ | Git-friendly | Yes | No | Yes | No |
488
+ | Framework agnostic | Yes | Partial | Yes | No |
489
+
490
+ Mem0, Basic Memory, and Claude-Mem all implement "save everything, search later." Hippo is the only one that models what memories are worth keeping, and the only one that lets you bring memories from other tools.
289
491
 
290
492
  ---
291
493
 
@@ -299,6 +501,7 @@ The interesting problems:
299
501
  - MCP server wrapper
300
502
  - Conflict detection between semantic memories
301
503
  - Schema acceleration (fast-track memories that fit existing patterns)
504
+ - Multi-agent shared memory with attribution
302
505
 
303
506
  ## License
304
507
 
package/dist/cli.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * hippo inspect <id>
14
14
  * hippo embed [--status]
15
15
  * hippo watch "<command>"
16
- * hippo learn --git [--days <n>]
16
+ * hippo learn --git [--days <n>] [--repos <paths>]
17
17
  * hippo promote <id>
18
18
  * hippo sync
19
19
  */
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * hippo inspect <id>
14
14
  * hippo embed [--status]
15
15
  * hippo watch "<command>"
16
- * hippo learn --git [--days <n>]
16
+ * hippo learn --git [--days <n>] [--repos <paths>]
17
17
  * hippo promote <id>
18
18
  * hippo sync
19
19
  */
@@ -93,14 +93,70 @@ function cmdInit(hippoRoot, flags) {
93
93
  console.log('Initialized global Hippo store at', globalRoot);
94
94
  return;
95
95
  }
96
- if (isInitialized(hippoRoot)) {
96
+ const alreadyExists = isInitialized(hippoRoot);
97
+ if (alreadyExists) {
97
98
  console.log('Already initialized at', hippoRoot);
98
- return;
99
99
  }
100
- initStore(hippoRoot);
101
- console.log('Initialized Hippo at', hippoRoot);
102
- console.log(' Directories: buffer/ episodic/ semantic/ conflicts/');
103
- console.log(' Files: index.json stats.json');
100
+ else {
101
+ initStore(hippoRoot);
102
+ console.log('Initialized Hippo at', hippoRoot);
103
+ console.log(' Directories: buffer/ episodic/ semantic/ conflicts/');
104
+ console.log(' Files: index.json stats.json');
105
+ }
106
+ // Auto-detect and install hooks (unless --no-hooks)
107
+ if (!flags['no-hooks']) {
108
+ autoInstallHooks(alreadyExists);
109
+ }
110
+ }
111
+ /**
112
+ * Detect agent config files in cwd and auto-install hippo hooks.
113
+ * Skips files that already have a <!-- hippo:start --> block.
114
+ */
115
+ function autoInstallHooks(quiet) {
116
+ const cwd = process.cwd();
117
+ // Map: filename to check -> hook key(s) to install
118
+ const detectors = [
119
+ { files: ['CLAUDE.md', '.claude/settings.json'], hook: 'claude-code' },
120
+ { files: ['AGENTS.md', '.codex'], hook: 'codex' },
121
+ { files: ['.cursorrules', '.cursor/rules'], hook: 'cursor' },
122
+ { files: ['.openclaw', 'AGENTS.md'], hook: 'openclaw' },
123
+ ];
124
+ // Track which hook files we've already touched to avoid double-patching AGENTS.md
125
+ const installed = new Set();
126
+ for (const { files, hook } of detectors) {
127
+ const hookDef = HOOKS[hook];
128
+ if (!hookDef)
129
+ continue;
130
+ // Check if any marker file exists
131
+ const detected = files.some((f) => fs.existsSync(path.join(cwd, f)));
132
+ if (!detected)
133
+ continue;
134
+ const targetPath = path.resolve(cwd, hookDef.file);
135
+ // Skip if we already installed a hook into this file
136
+ if (installed.has(targetPath))
137
+ continue;
138
+ // Skip if hook already present
139
+ if (fs.existsSync(targetPath)) {
140
+ const content = fs.readFileSync(targetPath, 'utf8');
141
+ if (content.includes(HOOK_MARKERS.start))
142
+ continue;
143
+ }
144
+ // Install the hook
145
+ const block = `${HOOK_MARKERS.start}\n${hookDef.content}\n${HOOK_MARKERS.end}`;
146
+ if (fs.existsSync(targetPath)) {
147
+ const existing = fs.readFileSync(targetPath, 'utf8');
148
+ const sep = existing.endsWith('\n') ? '\n' : '\n\n';
149
+ fs.writeFileSync(targetPath, existing + sep + block + '\n', 'utf8');
150
+ }
151
+ else {
152
+ const dir = path.dirname(targetPath);
153
+ if (!fs.existsSync(dir))
154
+ fs.mkdirSync(dir, { recursive: true });
155
+ fs.writeFileSync(targetPath, block + '\n', 'utf8');
156
+ }
157
+ installed.add(targetPath);
158
+ console.log(` Auto-installed ${hook} hook in ${hookDef.file}`);
159
+ }
104
160
  }
105
161
  function cmdRemember(hippoRoot, text, flags) {
106
162
  const useGlobal = Boolean(flags['global']);
@@ -606,24 +662,17 @@ async function cmdWatch(command, hippoRoot) {
606
662
  // ---------------------------------------------------------------------------
607
663
  // Learn command
608
664
  // ---------------------------------------------------------------------------
609
- function cmdLearn(hippoRoot, flags) {
610
- requireInit(hippoRoot);
611
- if (!flags['git']) {
612
- console.error('Usage: hippo learn --git [--days <n>]');
613
- process.exit(1);
614
- }
615
- const days = parseInt(String(flags['days'] ?? '7'), 10);
616
- const cwd = process.cwd();
617
- console.log(`Scanning git log for the last ${days} days...`);
618
- const gitLog = fetchGitLog(cwd, days);
665
+ function learnFromRepo(hippoRoot, repoPath, days, label) {
666
+ const prefix = label ? `[${label}] ` : '';
667
+ const gitLog = fetchGitLog(repoPath, days);
619
668
  if (!gitLog.trim()) {
620
- console.log('No git history found (or not a git repository).');
621
- return;
669
+ console.log(`${prefix}No git history found (or not a git repository).`);
670
+ return { added: 0, skipped: 0 };
622
671
  }
623
672
  const lessons = extractLessons(gitLog);
624
673
  if (lessons.length === 0) {
625
- console.log('No fix/revert/bug commits found in the specified period.');
626
- return;
674
+ console.log(`${prefix}No fix/revert/bug commits found in the specified period.`);
675
+ return { added: 0, skipped: 0 };
627
676
  }
628
677
  let added = 0;
629
678
  let skipped = 0;
@@ -645,7 +694,34 @@ function cmdLearn(hippoRoot, flags) {
645
694
  }
646
695
  added++;
647
696
  }
648
- console.log(`Git learn complete: ${added} new lessons added, ${skipped} duplicates skipped.`);
697
+ console.log(`${prefix}${added} new lessons added, ${skipped} duplicates skipped.`);
698
+ return { added, skipped };
699
+ }
700
+ function cmdLearn(hippoRoot, flags) {
701
+ requireInit(hippoRoot);
702
+ if (!flags['git']) {
703
+ console.error('Usage: hippo learn --git [--days <n>] [--repos <paths>]');
704
+ process.exit(1);
705
+ }
706
+ const days = parseInt(String(flags['days'] ?? '7'), 10);
707
+ console.log(`Scanning git log for the last ${days} days...`);
708
+ const reposFlag = flags['repos'];
709
+ if (reposFlag && typeof reposFlag === 'string') {
710
+ const repos = reposFlag.split(',').map((r) => r.trim()).filter(Boolean);
711
+ let totalAdded = 0;
712
+ let totalSkipped = 0;
713
+ for (const repo of repos) {
714
+ const label = path.basename(repo);
715
+ const { added, skipped } = learnFromRepo(hippoRoot, repo, days, label);
716
+ totalAdded += added;
717
+ totalSkipped += skipped;
718
+ }
719
+ console.log(`Git learn complete: ${totalAdded} new lessons added, ${totalSkipped} duplicates skipped across ${repos.length} repos.`);
720
+ }
721
+ else {
722
+ const { added, skipped } = learnFromRepo(hippoRoot, process.cwd(), days);
723
+ console.log(`Git learn complete: ${added} new lessons added, ${skipped} duplicates skipped.`);
724
+ }
649
725
  }
650
726
  // ---------------------------------------------------------------------------
651
727
  // Import command
@@ -845,25 +921,31 @@ hippo outcome --good
845
921
  `.trim(),
846
922
  },
847
923
  'openclaw': {
848
- file: '.openclaw/skills/hippo/SKILL.md',
924
+ file: 'AGENTS.md',
849
925
  description: 'OpenClaw',
850
926
  content: `
851
- # Hippo Memory Skill
927
+ ## Project Memory (Hippo)
852
928
 
853
- On session start, inject project memory:
929
+ At the start of every session, run:
854
930
  \`\`\`bash
855
931
  hippo context --auto --budget 1500
856
932
  \`\`\`
933
+ Read the output before writing any code.
857
934
 
858
- When an error occurs:
935
+ On errors or unexpected behaviour:
859
936
  \`\`\`bash
860
- hippo remember "<error>" --error
937
+ hippo remember "<description of what went wrong>" --error
861
938
  \`\`\`
862
939
 
863
- On session end:
940
+ On task completion:
864
941
  \`\`\`bash
865
942
  hippo outcome --good
866
943
  \`\`\`
944
+
945
+ After significant coding sessions:
946
+ \`\`\`bash
947
+ hippo learn --git
948
+ \`\`\`
867
949
  `.trim(),
868
950
  },
869
951
  };
@@ -952,6 +1034,7 @@ Usage: hippo <command> [options]
952
1034
  Commands:
953
1035
  init Create .hippo/ structure in current directory
954
1036
  --global Init the global store at ~/.hippo/
1037
+ --no-hooks Skip auto-detecting and installing agent hooks
955
1038
  remember <text> Store a memory
956
1039
  --tag <tag> Add a tag (repeatable)
957
1040
  --error Tag as error (boosts retention)
@@ -983,6 +1066,7 @@ Commands:
983
1066
  learn Learn lessons from repository history
984
1067
  --git Scan recent git commits for lessons
985
1068
  --days <n> Scan this many days back (default: 7)
1069
+ --repos <paths> Comma-separated repo paths to scan
986
1070
  promote <id> Copy a local memory to the global store
987
1071
  sync Pull global memories into local project
988
1072
  import Import memories from other AI tools
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hippo-memory",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Biologically-inspired memory system for AI agents. Decay by default, strength through use.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",