@vib795/agent-memory 0.5.1 → 0.6.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,17 +1,45 @@
1
1
  # agent-memory
2
2
 
3
- [![npm](https://img.shields.io/npm/v/@vib795/agent-memory)](https://www.npmjs.com/package/@vib795/agent-memory)
4
- [![test](https://github.com/vib795/agent-memory/actions/workflows/test.yml/badge.svg)](https://github.com/vib795/agent-memory/actions/workflows/test.yml)
5
- [![release](https://github.com/vib795/agent-memory/actions/workflows/release.yml/badge.svg)](https://github.com/vib795/agent-memory/actions/workflows/release.yml)
6
- [![provenance](https://img.shields.io/badge/provenance-attested-brightgreen)](https://www.npmjs.com/package/@vib795/agent-memory)
7
- [![node](https://img.shields.io/badge/node-%3E%3D22.5-brightgreen)](https://nodejs.org)
8
- [![dependencies](https://img.shields.io/badge/runtime%20dependencies-0-brightgreen)](package.json)
9
- [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
3
+ **Durable memory for Claude Code and GitHub Copilot — that survives an IT security review.**
4
+
5
+ Your agent forgets everything between windows. Most tools that fix that cannot be
6
+ installed where you actually work.
7
+
8
+ This one has **zero runtime dependencies, zero dev dependencies, and no install
9
+ script**. Nothing runs when you install it; granting it your agents is a second,
10
+ separate command. It has been [independently scanned](#independently-scanned) and
11
+ passed. `npm ls -g --depth 0` shows nothing underneath it, because there is nothing
12
+ underneath it.
13
+
14
+ ## Install
15
+
16
+ Two commands, and the second one is not optional — it creates the store and installs
17
+ into every agent on the machine, in whatever format that tool reads:
18
+
19
+ ```bash
20
+ npm install -g @vib795/agent-memory
21
+ agent-memory setup
22
+ ```
23
+
24
+ Node >= 22.5, and nothing else.
10
25
 
11
- Give **GitHub Copilot** and **Claude Code** a memory that outlives the window, the
12
- repository, and the week — using nothing an IT security review would need to approve.
26
+ In Claude Code you can take the three skills as a plugin instead of letting `setup`
27
+ link them:
13
28
 
14
- Three user-level Agent Skills over one local store:
29
+ ```
30
+ /plugin marketplace add vib795/agent-memory
31
+ /plugin install agent-memory@vib795
32
+ ```
33
+
34
+ The plugin carries the skills; `npm` carries the store. You want both — the skills
35
+ will tell you so if you only have one.
36
+
37
+ Behind a proxy that quarantines npm, or want the GitHub Packages mirror?
38
+ [Every install path is here](#install-1).
39
+
40
+ ## What you get
41
+
42
+ Three user-level Agent Skills over one local markdown store:
15
43
 
16
44
  | Skill | What it does |
17
45
  |---|---|
@@ -19,9 +47,23 @@ Three user-level Agent Skills over one local store:
19
47
  | `/remember` | Captures durable knowledge into a cross-repo graph — and fires on its own when a juncture passes |
20
48
  | `/recall` | Answers from that graph before deriving anything again |
21
49
 
22
- **New here? Read the [HOW-TO](HOWTO.md)** — install, first five minutes, and the
23
- per-tool notes for Claude Code, Codex and Copilot, written for people who do not
24
- want to read the rest of this file.
50
+ The store is plain markdown in `~/.agents/memory/`, outside every repository — which
51
+ is what lets a note written in one project be read from another. Nothing leaves the
52
+ machine: no daemon, no scheduled task, no telemetry.
53
+
54
+ **New here?** [HOWTO.md](HOWTO.md) — install, first five minutes, and the per-tool
55
+ notes for Claude Code, Codex and Copilot.
56
+
57
+ **How does it work?** [ARCHITECTURE.md](ARCHITECTURE.md) — the source-of-truth split,
58
+ the write and read paths, the tiered context cost, and the invariants underneath.
59
+
60
+ [![npm](https://img.shields.io/npm/v/@vib795/agent-memory)](https://www.npmjs.com/package/@vib795/agent-memory)
61
+ [![test](https://github.com/vib795/agent-memory/actions/workflows/test.yml/badge.svg)](https://github.com/vib795/agent-memory/actions/workflows/test.yml)
62
+ [![release](https://github.com/vib795/agent-memory/actions/workflows/release.yml/badge.svg)](https://github.com/vib795/agent-memory/actions/workflows/release.yml)
63
+ [![provenance](https://img.shields.io/badge/provenance-attested-brightgreen)](https://www.npmjs.com/package/@vib795/agent-memory)
64
+ [![node](https://img.shields.io/badge/node-%3E%3D22.5-brightgreen)](https://nodejs.org)
65
+ [![dependencies](https://img.shields.io/badge/runtime%20dependencies-0-brightgreen)](package.json)
66
+ [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
25
67
 
26
68
  ## Why this exists
27
69
 
@@ -207,6 +249,33 @@ name on it. What this is not: it is not encryption, access control, or a DLP pro
207
249
  It is one command that refuses to hand over identifiers, and it says exactly what it
208
250
  checked.
209
251
 
252
+ ### Independently scanned
253
+
254
+ Public supply-chain scanners index every package published to npm, so this one is
255
+ reviewed by people who owe it nothing. That is worth more than a clean claim from its
256
+ author.
257
+
258
+ [LPM Firewall](https://firewall.lpm.dev/npm/@vib795/agent-memory) currently reports
259
+ **Passed — safe to install**, with no policy match and no flagged code. Its reading of
260
+ the artefact — signed, provenance attached, zero dependencies, no install hooks — is a
261
+ third-party check on what this README says about itself. Four low-signal patterns
262
+ remain, and they are descriptive rather than policy: environment variables, scripts
263
+ present, filesystem, high-entropy strings. That is what a CLI which reads
264
+ `AGENT_MEMORY_HOME` and writes files in your home directory looks like from outside.
265
+
266
+ **It did not start there.** Version 0.3.1 was flagged **Critical — AI Agent Control
267
+ Hijack**, because `postinstall` wrote skill files into `~/.claude`, `~/.codex` and your
268
+ editor's prompt folder. The finding was correct. An install script that grants an AI
269
+ agent new instructions without the user asking is indistinguishable from an attack
270
+ that does exactly that, and good intent is not observable to a scanner. The hook was
271
+ removed in 0.4.0 rather than argued with, which is why `agent-memory setup` is a
272
+ command you type.
273
+
274
+ The 0.3.1 report is still public and still says Critical. Old version pages do not
275
+ come down, and they should not: a supply-chain record that could be edited after the
276
+ fact would be worth nothing. What a project can offer is the next version and the
277
+ reason for it.
278
+
210
279
  ## Engagements
211
280
 
212
281
  If you work for more than one client on one machine, knowledge from one of them is
@@ -445,7 +514,7 @@ Claude Code can take the same three as a plugin:
445
514
 
446
515
  ```
447
516
  /plugin marketplace add vib795/agent-memory
448
- /plugin install agent-memory@agent-memory
517
+ /plugin install agent-memory@vib795
449
518
  ```
450
519
 
451
520
  The same caveat applies: the plugin carries the skills, `npm` carries the store.
@@ -472,7 +541,7 @@ is generated state, and the committed value is only a placeholder.
472
541
 
473
542
  Needs Node 22.5 or newer; `doctor` says so plainly if the version is too old.
474
543
 
475
- Run `npm test` for the suite (88 tests, no dependencies). CI runs it on Linux,
544
+ Run `npm test` for the suite (91 tests, no dependencies). CI runs it on Linux,
476
545
  macOS and Windows across Node 22 and 24, and separately installs the packed tarball
477
546
  and exercises it end to end on all three.
478
547
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vib795/agent-memory",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Durable cross-repo knowledge graph for GitHub Copilot and Claude Code. Markdown source of truth, disposable SQLite index, zero runtime dependencies.",
5
5
  "keywords": [
6
6
  "github-copilot",
package/src/cli.js CHANGED
@@ -75,7 +75,7 @@ function git(args, cwd = process.cwd()) {
75
75
  const USAGE = `agent-memory — durable cross-repo knowledge for coding agents
76
76
 
77
77
  setup link all three skills, build the store
78
- (runs automatically on npm install)
78
+ (run this once, by hand, after install)
79
79
  uninstall remove the skill links; keeps every note
80
80
  init [--skills "<p1>,<p2>"] create the store; register skill files
81
81
  index rebuild index.db from notes/
package/src/promptfile.js CHANGED
@@ -15,7 +15,7 @@ export const GENERATED_MARKER =
15
15
 
16
16
  /** Split a leading `---` frontmatter block from the body. */
17
17
  function splitFrontmatter(text) {
18
- const src = String(text).replace(/^/, '').replace(/\r\n/g, '\n');
18
+ const src = String(text).replace(/^\uFEFF/, '').replace(/\r\n/g, '\n');
19
19
  if (!src.startsWith('---')) return { head: '', body: src.trim() };
20
20
  const end = src.indexOf('\n---', 3);
21
21
  if (end === -1) return { head: '', body: src.trim() };
package/src/store.js CHANGED
Binary file