toolnet-memory 0.2.8 → 0.2.10

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,97 +1,55 @@
1
1
  <div align="center">
2
2
 
3
- # TOOLNET MEMORY
3
+ # ToolNet Memory
4
4
 
5
- ### Persistent project memory & code intelligence for AI coding agents
6
-
7
- **Continue the same project across OpenCode, Agy and Codex without losing context.**
5
+ ### Persistent project memory, work continuity, and code intelligence for AI coding agents
8
6
 
9
7
  [![npm](https://img.shields.io/npm/v/toolnet-memory?style=flat-square)](https://www.npmjs.com/package/toolnet-memory)
8
+ [![CI](https://github.com/LBT-AI/toolnet-memory/actions/workflows/ci.yml/badge.svg)](https://github.com/LBT-AI/toolnet-memory/actions/workflows/ci.yml)
10
9
  [![Node.js](https://img.shields.io/badge/Node.js-22%2B-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)
11
10
  [![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)
12
11
 
12
+ **One project. Multiple coding agents. Continuous context.**
13
+
13
14
  </div>
14
15
 
15
16
  ---
16
17
 
17
- ## What does ToolNet Memory do?
18
-
19
- ToolNet Memory is a persistent memory layer for AI coding agents.
18
+ ## What it does
20
19
 
21
- Its job is simple: **help the next AI understand the project before it continues the work.**
20
+ ToolNet Memory is a persistent memory layer for AI coding workflows. It keeps project knowledge outside any single agent session so Agy / Antigravity, OpenCode, Codex, and MCP-compatible tools can continue work without rebuilding context from zero.
22
21
 
23
- A coding agent normally loses important context when a session ends, tokens run out, you change tools, move to another VPS, or return to the project days later. The new agent may be able to read the source code, but it often does not know the original goal, why an architecture was chosen, what has already been completed, what is still in progress, or which project rules must not be violated.
22
+ It stores durable working context such as:
24
23
 
25
- ToolNet Memory preserves that project knowledge separately from any single AI agent.
26
-
27
- ```text
28
- OpenCode stops at Phase 3
29
-
30
- ToolNet Memory
31
-
32
- Agy opens the same project
33
-
34
- Understands the mission, rationale,
35
- completed work, current objective,
36
- constraints and next actions
37
-
38
- Continues Phase 4
39
-
40
- Agy later stops at Phase 6
41
-
42
- ToolNet Memory
43
-
44
- Codex continues Phase 7
45
- ```
24
+ - project mission and current objective,
25
+ - decisions, rules, blockers, warnings, and next actions,
26
+ - completed and active work,
27
+ - structured session handoff state,
28
+ - semantic project/code context,
29
+ - source symbols, dependencies, architecture, and impact relationships.
46
30
 
47
- It is **not just chat history**. ToolNet extracts and preserves durable working context such as:
48
-
49
- - what the project is building,
50
- - the current objective,
51
- - why the work matters,
52
- - why a specific implementation direction was chosen,
53
- - completed and active phases/tasks,
54
- - deliverables and Definition of Done,
55
- - architecture decisions,
56
- - dependencies and blockers,
57
- - project operating rules,
58
- - important warnings,
59
- - next actions.
60
-
61
- The result is a shared technical memory layer between your project and your AI coding agents:
62
-
63
- ```text
64
- OpenCode / Agy / Codex
65
-
66
- ToolNet Memory
67
-
68
- Project Memory + Work State
69
- + Semantic Context + Code Intelligence
70
-
71
- The next agent continues with context
72
- instead of restarting from zero
73
- ```
31
+ ToolNet Memory is **not a raw transcript dump**. Session history and durable project memory are treated separately, and only useful project context should be promoted into long-term memory.
74
32
 
75
- ---
33
+ ## Installation
76
34
 
77
- ## Install
35
+ ToolNet Memory is installed **once per VPS/user account**, not once per project.
78
36
 
79
- ### Recommended
37
+ Recommended installer:
80
38
 
81
39
  ```bash
82
- npx toolnet-memory-install
40
+ curl -fsSL https://memory.toolnet.tech/install | bash
83
41
  ```
84
42
 
85
- ### One-line installer
43
+ Alternative installer:
86
44
 
87
45
  ```bash
88
- curl -fsSL https://memory.toolnet.tech/install | bash
46
+ npx toolnet-memory-install
89
47
  ```
90
48
 
91
- ### npm
49
+ Or install directly from npm:
92
50
 
93
51
  ```bash
94
- npm install -g toolnet-memory
52
+ npm install -g toolnet-memory@latest
95
53
  ```
96
54
 
97
55
  Requires **Node.js 22+**.
@@ -99,422 +57,234 @@ Requires **Node.js 22+**.
99
57
  Verify:
100
58
 
101
59
  ```bash
60
+ toolnet-memory --version
102
61
  toolnet-memory doctor
103
62
  ```
104
63
 
105
- ---
64
+ ## One-time VPS setup
106
65
 
66
+ Global configuration is stored at:
107
67
 
108
- ## First-time configuration
68
+ ```text
69
+ ~/.config/toolnet-memory/.env
70
+ ```
109
71
 
110
- After installation, ToolNet Memory can configure storage interactively:
72
+ Run setup once on a new VPS/user account:
111
73
 
112
74
  ```bash
113
75
  toolnet-memory setup
114
- If Hugging Face storage is already configured, ToolNet detects it and keeps the existing configuration.
115
- For a new machine, the setup wizard asks for:
116
- HF_NAMESPACE
117
- HF_BUCKET
118
- HF_S3_ACCESS_KEY_ID
119
- HF_S3_SECRET_ACCESS_KEY
120
- Configuration is stored at:
121
- ~/.config/toolnet-memory/.env
122
- Permissions are restricted automatically:
123
- ~/.config/toolnet-memory 700
124
- ~/.config/toolnet-memory/.env 600
125
- Your Hugging Face credentials belong to your own account and are never bundled with ToolNet Memory.
126
- The installer can launch this setup automatically on first install.
127
-
128
-
129
-
130
- ## Core capabilities
76
+ ```
131
77
 
132
- ### Persistent Project Memory
78
+ The setup flow can configure Hugging Face-backed storage and detect supported coding agents. Credentials stay outside project repositories and must never be committed.
133
79
 
134
- Each project gets its own isolated memory universe.
80
+ ## Per-project setup
135
81
 
136
- ```text
137
- Project A
138
- ├── memories
139
- ├── vectors
140
- ├── code graph
141
- ├── semantic context
142
- ├── work state
143
- └── snapshots
144
-
145
- Project B
146
- ├── memories
147
- ├── vectors
148
- ├── code graph
149
- ├── semantic context
150
- ├── work state
151
- └── snapshots
152
- ```
82
+ Each source project gets a stable identity and isolated remote namespace.
153
83
 
154
- Project data does not mix across projects.
84
+ ```bash
85
+ cd /path/to/project
155
86
 
156
- ### Work Continuity
87
+ toolnet-memory project:manual-init --project "$PWD"
88
+ toolnet-memory index
89
+ ```
157
90
 
158
- ToolNet tracks structured execution state such as:
91
+ ToolNet creates project metadata under:
159
92
 
160
93
  ```text
161
- Mission
162
- Objective
163
- Why
164
- Plan
165
- Phase
166
- Task
167
- Deliverable
168
- Definition of Done
169
- Dependencies
170
- Decisions
171
- Blockers
172
- Warnings
173
- Next Actions
94
+ .toolnet/
174
95
  ```
175
96
 
176
- ### Semantic Work Context
177
-
178
- ToolNet can preserve:
179
-
180
- - project mission,
181
- - current objective,
182
- - why the work matters,
183
- - why a specific approach was chosen,
184
- - phase objective,
185
- - deliverables,
186
- - acceptance criteria,
187
- - dependencies,
188
- - constraints,
189
- - open questions.
97
+ A stable project identity prevents memory from being mixed merely because folders are renamed or moved.
190
98
 
191
- If a reason was never explicitly recorded, ToolNet should not invent one.
192
-
193
- ### Smart Handoff
194
-
195
- When a session ends before the work is complete, ToolNet can preserve a compact handoff containing:
99
+ Remote storage is scoped by project:
196
100
 
197
101
  ```text
198
- What we are building
199
- Why we are building it
200
- What was completed
201
- What is currently active
202
- What remains
203
- What is blocked
204
- Important decisions
205
- Important warnings
206
- Next actions
102
+ projects/<project-remote>/
103
+ ├── memory/
104
+ ├── code/
105
+ ├── sessions/
106
+ ├── work/
107
+ └── snapshots/
207
108
  ```
208
109
 
209
- ### Project Operating Rules
110
+ ## Agent integration
210
111
 
211
- Each project can retain persistent working rules.
112
+ Automatic integration can detect supported agents installed for the current user:
212
113
 
213
- Example:
214
-
215
- ```text
216
- ONLY edit:
217
- /root/project/source
218
-
219
- NEVER edit:
220
- /var/www/project
221
-
222
- Deploy only with:
223
- ./deploy.sh --apply
114
+ ```bash
115
+ toolnet-memory integrate:auto
224
116
  ```
225
117
 
226
- This avoids repeating the same instructions every session or every time you switch agents.
118
+ Or integrate individually:
227
119
 
228
- ---
120
+ ```bash
121
+ toolnet-memory integrate:agy
122
+ toolnet-memory integrate:opencode
123
+ toolnet-memory integrate:codex
124
+ ```
229
125
 
230
- ## Code Intelligence
126
+ Integration is normally a **one-time user/VPS operation**. Project selection remains automatic through the project's ToolNet identity.
231
127
 
232
- ToolNet builds a project model through:
128
+ After setup, use your coding agent normally:
233
129
 
234
130
  ```text
235
- Source Index
236
-
237
- Type Resolution
238
-
239
- Rich Code Graph
240
-
241
- Semantic Code Index
242
-
243
- Architecture Intelligence
244
-
245
- Dependency Analysis
246
-
247
- Impact Analysis
131
+ Agy / Antigravity ─┐
132
+ OpenCode ├──> ToolNet Memory ──> Project-scoped context
133
+ Codex ┘
248
134
  ```
249
135
 
250
- Capabilities include:
251
-
252
- - symbol indexing,
253
- - type resolution,
254
- - callers / callees,
255
- - imports,
256
- - inheritance,
257
- - implementations,
258
- - route detection,
259
- - architecture layers,
260
- - subsystem clustering,
261
- - hotspots,
262
- - dependency analysis,
263
- - dead-code candidates,
264
- - blast radius,
265
- - semantic code search.
136
+ The intended normal workflow does not require users to manually say “save memory” or “load memory”. Agent/session hooks capture meaningful activity and restore relevant project context at the next session.
266
137
 
267
- ---
138
+ ## Core capabilities
268
139
 
269
- ## Quick Start
140
+ ### Persistent project memory
270
141
 
271
- Inside a project:
142
+ Durable memory can preserve decisions, rules, todos, fixes, blockers, warnings, architecture changes, and next actions while avoiding unnecessary transcript noise.
272
143
 
273
- ```bash
274
- cd /path/to/project
275
- toolnet-memory index
276
- ```
144
+ ### Work continuity
277
145
 
278
- ToolNet creates a stable project identity:
146
+ Structured continuity can track:
279
147
 
280
148
  ```text
281
- .toolnet/project.json
149
+ Mission
150
+ Objective
151
+ Phase
152
+ Task
153
+ Deliverable
154
+ Definition of Done
155
+ Dependencies
156
+ Decisions
157
+ Blockers
158
+ Warnings
159
+ Next Actions
282
160
  ```
283
161
 
284
- Moving or renaming the folder does not create a new project identity.
285
-
286
- Check project state:
162
+ Useful commands:
287
163
 
288
164
  ```bash
289
165
  toolnet-memory work:status
290
- ```
291
-
292
- Generate a startup brief:
293
-
294
- ```bash
295
166
  toolnet-memory brief
167
+ toolnet-memory handoff:latest
296
168
  ```
297
169
 
298
- Search semantically:
299
-
300
- ```bash
301
- toolnet-memory semantic "authentication flow"
302
- ```
170
+ ### Code intelligence
303
171
 
304
- Analyze impact:
172
+ A full index can build:
305
173
 
306
- ```bash
307
- toolnet-memory impact src/path/to/file.ts
174
+ ```text
175
+ Source Index
176
+
177
+ Type Resolution
178
+
179
+ Rich Graph
180
+
181
+ Semantic Code Index
182
+
183
+ Architecture Intelligence
184
+
185
+ Graph Analysis
186
+
187
+ Visualization Dataset
308
188
  ```
309
189
 
310
- ---
190
+ Capabilities include symbol indexing, callers/callees, imports, type resolution, architecture layers, subsystem clusters, hotspots, dead-code candidates, semantic search, dependency analysis, and change-impact analysis.
311
191
 
312
- ## Main commands
192
+ Examples:
313
193
 
314
194
  ```bash
315
- toolnet-memory doctor
316
-
317
- toolnet-memory index
318
- toolnet-memory index:graph
195
+ toolnet-memory semantic "authentication flow"
196
+ toolnet-memory impact src/path/to/file.ts
319
197
  toolnet-memory incremental
320
-
321
- toolnet-memory semantic "query"
322
- toolnet-memory impact path/to/file
323
-
324
- toolnet-memory brief
325
- toolnet-memory brief:json
326
-
327
- toolnet-memory work:status
328
- toolnet-memory work:json
329
- toolnet-memory work:reconcile
330
-
331
- toolnet-memory context:sync
332
- toolnet-memory context:print
333
- toolnet-memory context:refresh
334
-
335
- toolnet-memory snapshot:list
336
- toolnet-memory snapshot:create "reason"
337
- toolnet-memory snapshot:restore <id>
338
-
339
- toolnet-memory recover
340
- toolnet-memory mcp
341
- ```
342
-
343
- Agent/session integrations include commands for OpenCode, Agy and Codex.
344
-
345
- ---
346
-
347
- ## Startup Brief
348
-
349
- Before an agent continues work, ToolNet can build a compact project brief containing only relevant context:
350
-
351
- ```text
352
- PROJECT RULES
353
- MISSION
354
- CURRENT OBJECTIVE
355
- WHY THIS WORK MATTERS
356
- WHY THIS APPROACH
357
- ACTIVE WORK
358
- CURRENT PHASE
359
- PHASE OBJECTIVE
360
- DELIVERABLE
361
- DEFINITION OF DONE
362
- BLOCKERS
363
- RECENT DECISIONS
364
- NEXT ACTIONS
365
- ```
366
-
367
- The goal is to avoid dumping entire transcripts into the model.
368
-
369
- ---
370
-
371
- ## Session Capture
372
-
373
- ToolNet can normalize coding-agent sessions into a common project-scoped format.
374
-
375
- Sessions can preserve:
376
-
377
- ```text
378
- session identity
379
- messages
380
- tool activity
381
- file changes
382
- continuity observations
383
- semantic observations
384
- handoff state
385
- ```
386
-
387
- Raw session history and durable long-term memory remain separate.
388
-
389
- ---
390
-
391
- ## Storage model
392
-
393
- Remote project data is isolated by project namespace:
394
-
395
- ```text
396
- projects/<project>/
397
- ├── project.json
398
- ├── memory/
399
- │ ├── records/
400
- │ └── vectors/
401
- ├── code/
402
- │ ├── chunks/
403
- │ ├── vectors/
404
- │ ├── graph/
405
- │ ├── architecture/
406
- │ ├── analysis/
407
- │ └── visualization/
408
- ├── work/
409
- ├── context/
410
- └── snapshots/
411
198
  ```
412
199
 
413
- ---
414
-
415
- ## MCP
200
+ ### MCP
416
201
 
417
- ToolNet exposes memory and code intelligence through MCP.
202
+ Expose memory and code intelligence through MCP:
418
203
 
419
204
  ```bash
420
205
  toolnet-memory mcp
421
206
  ```
422
207
 
423
- Typical capabilities include memory search, symbol search, dependency lookup, call tracing, architecture context, semantic code search and impact analysis.
208
+ ### Snapshots and recovery
424
209
 
425
- ---
210
+ ToolNet supports project-scoped snapshots and recovery workflows without merging state across projects.
426
211
 
427
- ## 3D Code Graph
212
+ ## Health and configuration
428
213
 
429
- ToolNet includes a multi-project code graph dashboard.
214
+ Human-readable health check:
430
215
 
431
- ```text
432
- https://memory.toolnet.tech
216
+ ```bash
217
+ toolnet-memory doctor
433
218
  ```
434
219
 
435
- It can visualize symbols, files, calls, imports, type usage, architecture clusters, dependencies, dead-code candidates and impact relationships.
436
-
437
- ---
220
+ Machine-readable health check:
438
221
 
439
- ## Configuration
440
-
441
- Global configuration lives at:
442
-
443
- ```text
444
- ~/.config/toolnet-memory/.env
222
+ ```bash
223
+ toolnet-memory doctor --json
445
224
  ```
446
225
 
447
- Create it with:
226
+ Read or update global configuration:
448
227
 
449
228
  ```bash
450
- mkdir -p ~/.config/toolnet-memory
451
- chmod 700 ~/.config/toolnet-memory
229
+ toolnet-memory config get KEY
230
+ toolnet-memory config set KEY VALUE
231
+ toolnet-memory config open
452
232
  ```
453
233
 
454
- Never commit API keys, tokens or credentials to a repository.
234
+ Secret values are masked in normal CLI output.
455
235
 
456
- ---
457
-
458
- ## Update
236
+ ## Updating
459
237
 
460
238
  ```bash
461
- npm install -g toolnet-memory@latest
239
+ toolnet-memory update
462
240
  ```
463
241
 
464
- or rerun:
242
+ The updater checks the latest npm release and updates the global installation.
465
243
 
466
- ```bash
467
- npx toolnet-memory-install
468
- ```
244
+ ## Security model
469
245
 
470
- ## Uninstall
246
+ ToolNet Memory processes source-code metadata, coding-agent activity, and project memory, so project isolation and secret handling are core requirements.
471
247
 
472
- ```bash
473
- npm uninstall -g toolnet-memory
474
- ```
248
+ - Never commit `.env` files or credentials.
249
+ - Sanitize secrets before durable persistence.
250
+ - Never silently inject memory from another project.
251
+ - Avoid placing full authentication tokens in logs or diagnostics.
252
+ - Treat raw agent transcripts as potentially sensitive.
475
253
 
476
- Local `.toolnet` project metadata is not automatically removed.
477
-
478
- ---
254
+ See [SECURITY.md](SECURITY.md) for vulnerability reporting.
479
255
 
480
256
  ## Development
481
257
 
482
258
  ```bash
483
259
  git clone https://github.com/LBT-AI/toolnet-memory.git
484
260
  cd toolnet-memory
485
- npm install
486
- npm run build
261
+ npm ci
487
262
  npm test
263
+ npm run build:release
264
+ npm pack --dry-run
488
265
  ```
489
266
 
490
- Production build:
267
+ Installer validation:
491
268
 
492
269
  ```bash
493
- npm run build:prod
270
+ bash -n scripts/install.sh
494
271
  ```
495
272
 
496
- ---
273
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for repository rules and pull-request requirements.
497
274
 
498
- ## Design principles
275
+ ## Releases
499
276
 
500
- **Project isolation** one project must never silently inherit another project's memory.
277
+ CI validates pushes and pull requests. Version tags trigger the release workflow, which validates the package, publishes through npm Trusted Publishing (OIDC), creates the GitHub Release, and attaches the npm tarball.
501
278
 
502
- **Compact context** agents receive relevant state, not giant transcript dumps.
279
+ The release tag must match `package.json` exactly:
503
280
 
504
- **Provenance** — important semantic state should retain where it came from.
505
-
506
- **No invented intent** — missing rationale stays unknown instead of becoming fabricated history.
507
-
508
- **Agent independence** — the memory layer is not tied to one coding CLI.
509
-
510
- **Graceful failure** — memory/context failures should not break the coding agent itself.
511
-
512
- ---
513
-
514
- <div align="center">
281
+ ```text
282
+ package.json: 0.2.10
283
+ Git tag: v0.2.10
284
+ ```
515
285
 
516
- ### One project. Multiple agents. Continuous memory.
286
+ See [CHANGELOG.md](CHANGELOG.md) for release history.
517
287
 
518
- **ToolNet Memory**
288
+ ## License
519
289
 
520
- </div>
290
+ MIT © 2026 LBT-AI. See [LICENSE](LICENSE).