fivocell 6.2.0 → 7.0.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 +229 -120
- package/dist/__tests__/cell-mirror.test.js +2 -2
- package/dist/__tests__/cell-mirror.test.js.map +1 -1
- package/dist/__tests__/cli-regression.test.js +1 -1
- package/dist/__tests__/cli-regression.test.js.map +1 -1
- package/dist/__tests__/teach-context.test.d.ts +2 -0
- package/dist/__tests__/teach-context.test.d.ts.map +1 -0
- package/dist/__tests__/teach-context.test.js +44 -0
- package/dist/__tests__/teach-context.test.js.map +1 -0
- package/dist/__tests__/teach-parser.test.d.ts +2 -0
- package/dist/__tests__/teach-parser.test.d.ts.map +1 -0
- package/dist/__tests__/teach-parser.test.js +56 -0
- package/dist/__tests__/teach-parser.test.js.map +1 -0
- package/dist/__tests__/teach-store.test.d.ts +2 -0
- package/dist/__tests__/teach-store.test.d.ts.map +1 -0
- package/dist/__tests__/teach-store.test.js +68 -0
- package/dist/__tests__/teach-store.test.js.map +1 -0
- package/dist/__tests__/vibe-engine.test.d.ts +2 -0
- package/dist/__tests__/vibe-engine.test.d.ts.map +1 -0
- package/dist/__tests__/vibe-engine.test.js +132 -0
- package/dist/__tests__/vibe-engine.test.js.map +1 -0
- package/dist/core/search-engine.d.ts.map +1 -1
- package/dist/core/search-engine.js +8 -11
- package/dist/core/search-engine.js.map +1 -1
- package/dist/walls/01-context/context/prompt-builder.d.ts +1 -0
- package/dist/walls/01-context/context/prompt-builder.d.ts.map +1 -1
- package/dist/walls/01-context/context/prompt-builder.js +15 -1
- package/dist/walls/01-context/context/prompt-builder.js.map +1 -1
- package/dist/walls/02-scanner/blindspots/code-scanner.d.ts +11 -0
- package/dist/walls/02-scanner/blindspots/code-scanner.d.ts.map +1 -1
- package/dist/walls/02-scanner/blindspots/code-scanner.js +63 -0
- package/dist/walls/02-scanner/blindspots/code-scanner.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts +14 -0
- package/dist/walls/03-knowledge/decisions/branch-snapshot.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/branch-snapshot.js +88 -21
- package/dist/walls/03-knowledge/decisions/branch-snapshot.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/failure-memory.d.ts +15 -0
- package/dist/walls/03-knowledge/decisions/failure-memory.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/failure-memory.js +141 -54
- package/dist/walls/03-knowledge/decisions/failure-memory.js.map +1 -1
- package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts +8 -0
- package/dist/walls/03-knowledge/decisions/predictive-engine.d.ts.map +1 -1
- package/dist/walls/03-knowledge/decisions/predictive-engine.js +41 -0
- package/dist/walls/03-knowledge/decisions/predictive-engine.js.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/blob-vault.js +1 -3
- package/dist/walls/06-memory/archive/blob-vault.js.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.d.ts.map +1 -1
- package/dist/walls/06-memory/archive/memory-archive.js +38 -48
- package/dist/walls/06-memory/archive/memory-archive.js.map +1 -1
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts +2 -0
- package/dist/walls/06-memory/mirror/cell-mirror.d.ts.map +1 -1
- package/dist/walls/06-memory/mirror/cell-mirror.js +76 -35
- package/dist/walls/06-memory/mirror/cell-mirror.js.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.d.ts +29 -0
- package/dist/walls/06-memory/privacy/key-provider.d.ts.map +1 -1
- package/dist/walls/06-memory/privacy/key-provider.js +79 -0
- package/dist/walls/06-memory/privacy/key-provider.js.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts +2 -0
- package/dist/walls/06-memory/retrieval/context-pipeline.d.ts.map +1 -1
- package/dist/walls/06-memory/retrieval/context-pipeline.js +81 -13
- package/dist/walls/06-memory/retrieval/context-pipeline.js.map +1 -1
- package/dist/walls/06-memory/stores/memory-search.d.ts +9 -0
- package/dist/walls/06-memory/stores/memory-search.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/memory-search.js +62 -13
- package/dist/walls/06-memory/stores/memory-search.js.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/sync-engine.js +56 -49
- package/dist/walls/06-memory/stores/sync-engine.js.map +1 -1
- package/dist/walls/06-memory/stores/weekly-report.d.ts +5 -0
- package/dist/walls/06-memory/stores/weekly-report.d.ts.map +1 -1
- package/dist/walls/06-memory/stores/weekly-report.js +24 -2
- package/dist/walls/06-memory/stores/weekly-report.js.map +1 -1
- package/dist/walls/06-memory/teach/teach-context.d.ts +8 -0
- package/dist/walls/06-memory/teach/teach-context.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-context.js +25 -0
- package/dist/walls/06-memory/teach/teach-context.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts +6 -0
- package/dist/walls/06-memory/teach/teach-parser.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-parser.js +42 -0
- package/dist/walls/06-memory/teach/teach-parser.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts +10 -0
- package/dist/walls/06-memory/teach/teach-sections.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-sections.js +67 -0
- package/dist/walls/06-memory/teach/teach-sections.js.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts +25 -0
- package/dist/walls/06-memory/teach/teach-store.d.ts.map +1 -0
- package/dist/walls/06-memory/teach/teach-store.js +95 -0
- package/dist/walls/06-memory/teach/teach-store.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts +2 -0
- package/dist/walls/06-memory/vibe/vibe-cli.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js +217 -0
- package/dist/walls/06-memory/vibe/vibe-cli.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js +91 -0
- package/dist/walls/06-memory/vibe/vibe-confidence.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts +8 -0
- package/dist/walls/06-memory/vibe/vibe-context.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-context.js +88 -0
- package/dist/walls/06-memory/vibe/vibe-context.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts +38 -0
- package/dist/walls/06-memory/vibe/vibe-engine.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js +587 -0
- package/dist/walls/06-memory/vibe/vibe-engine.js.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts +24 -0
- package/dist/walls/06-memory/vibe/vibe-signals.d.ts.map +1 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js +138 -0
- package/dist/walls/06-memory/vibe/vibe-signals.js.map +1 -0
- package/dist/walls/07-runtime/cli/cli.js +116 -4677
- package/dist/walls/07-runtime/cli/cli.js.map +1 -1
- package/dist/walls/07-runtime/cli/commands/branch.d.ts +7 -0
- package/dist/walls/07-runtime/cli/commands/branch.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/branch.js +169 -0
- package/dist/walls/07-runtime/cli/commands/branch.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/ci.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/ci.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/ci.js +57 -0
- package/dist/walls/07-runtime/cli/commands/ci.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/community.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/community.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/community.js +64 -0
- package/dist/walls/07-runtime/cli/commands/community.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.js +45 -0
- package/dist/walls/07-runtime/cli/commands/dashboard.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/help.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/help.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/help.js +91 -0
- package/dist/walls/07-runtime/cli/commands/help.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/memory.d.ts +5 -0
- package/dist/walls/07-runtime/cli/commands/memory.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/memory.js +252 -0
- package/dist/walls/07-runtime/cli/commands/memory.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/repl.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/repl.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/repl.js +63 -0
- package/dist/walls/07-runtime/cli/commands/repl.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/scan.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/scan.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/scan.js +263 -0
- package/dist/walls/07-runtime/cli/commands/scan.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/session.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/session.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/session.js +80 -0
- package/dist/walls/07-runtime/cli/commands/session.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/setup.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/setup.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/setup.js +216 -0
- package/dist/walls/07-runtime/cli/commands/setup.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/status.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/status.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/status.js +352 -0
- package/dist/walls/07-runtime/cli/commands/status.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/sync.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/sync.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/sync.js +116 -0
- package/dist/walls/07-runtime/cli/commands/sync.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/teach.d.ts +3 -0
- package/dist/walls/07-runtime/cli/commands/teach.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/teach.js +203 -0
- package/dist/walls/07-runtime/cli/commands/teach.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/team.d.ts +2 -0
- package/dist/walls/07-runtime/cli/commands/team.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/team.js +58 -0
- package/dist/walls/07-runtime/cli/commands/team.js.map +1 -0
- package/dist/walls/07-runtime/cli/commands/watch.d.ts +4 -0
- package/dist/walls/07-runtime/cli/commands/watch.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/commands/watch.js +129 -0
- package/dist/walls/07-runtime/cli/commands/watch.js.map +1 -0
- package/dist/walls/07-runtime/cli/utils.d.ts +26 -0
- package/dist/walls/07-runtime/cli/utils.d.ts.map +1 -0
- package/dist/walls/07-runtime/cli/utils.js +217 -0
- package/dist/walls/07-runtime/cli/utils.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/community.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/community.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/community.js +191 -0
- package/dist/walls/07-runtime/daemon/routes/community.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/cost.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/cost.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/cost.js +73 -0
- package/dist/walls/07-runtime/daemon/routes/cost.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/health.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/health.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/health.js +40 -0
- package/dist/walls/07-runtime/daemon/routes/health.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/memory.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/memory.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/memory.js +75 -0
- package/dist/walls/07-runtime/daemon/routes/memory.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.js +160 -0
- package/dist/walls/07-runtime/daemon/routes/privacy.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/project.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/project.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/project.js +59 -0
- package/dist/walls/07-runtime/daemon/routes/project.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/session.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/session.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/session.js +101 -0
- package/dist/walls/07-runtime/daemon/routes/session.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/signal.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/signal.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/signal.js +60 -0
- package/dist/walls/07-runtime/daemon/routes/signal.js.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.d.ts +3 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.d.ts.map +1 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.js +105 -0
- package/dist/walls/07-runtime/daemon/routes/workflow.js.map +1 -0
- package/dist/walls/07-runtime/daemon/server.d.ts.map +1 -1
- package/dist/walls/07-runtime/daemon/server.js +22 -0
- package/dist/walls/07-runtime/daemon/server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/deep-audit.js +103 -0
- package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts +0 -38
- package/dist/walls/03-knowledge/decisions/cross-model-engine.d.ts.map +0 -1
- package/dist/walls/03-knowledge/decisions/cross-model-engine.js +0 -98
- package/dist/walls/03-knowledge/decisions/cross-model-engine.js.map +0 -1
- package/dist/walls/03-knowledge/decisions/insight-generator.d.ts +0 -58
- package/dist/walls/03-knowledge/decisions/insight-generator.d.ts.map +0 -1
- package/dist/walls/03-knowledge/decisions/insight-generator.js +0 -314
- package/dist/walls/03-knowledge/decisions/insight-generator.js.map +0 -1
- package/dist/walls/05-community/stats/community-advanced-engine.d.ts +0 -30
- package/dist/walls/05-community/stats/community-advanced-engine.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-advanced-engine.js +0 -103
- package/dist/walls/05-community/stats/community-advanced-engine.js.map +0 -1
- package/dist/walls/05-community/stats/community-engine.d.ts +0 -62
- package/dist/walls/05-community/stats/community-engine.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-engine.js +0 -194
- package/dist/walls/05-community/stats/community-engine.js.map +0 -1
- package/dist/walls/05-community/stats/community-v2.d.ts +0 -106
- package/dist/walls/05-community/stats/community-v2.d.ts.map +0 -1
- package/dist/walls/05-community/stats/community-v2.js +0 -378
- package/dist/walls/05-community/stats/community-v2.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts +0 -20
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.js +0 -250
- package/dist/walls/08-cloud-bridge/sync/ai-bridge.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts +0 -40
- package/dist/walls/08-cloud-bridge/sync/cloud-client.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-client.js +0 -126
- package/dist/walls/08-cloud-bridge/sync/cloud-client.js.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts +0 -66
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.d.ts.map +0 -1
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.js +0 -328
- package/dist/walls/08-cloud-bridge/sync/cloud-sync.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
# FIVO Cell
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
> **Your AI forgets. Cell doesn't.**
|
|
4
4
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[]()
|
|
7
7
|
[]()
|
|
8
|
+
[](https://www.npmjs.com/package/fivocell)
|
|
9
|
+
[]()
|
|
8
10
|
|
|
9
11
|
---
|
|
10
12
|
|
|
11
|
-
## The
|
|
13
|
+
## The Problem
|
|
12
14
|
|
|
13
15
|
You work in Cursor. Then Claude Code. Then Open Code. Then Antigravity.
|
|
14
|
-
Every time you open a new tool, **you re-explain** your stack, your style,
|
|
15
|
-
what you were working on, the bug you just fixed.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Every time you switch tools, **you re-explain** your stack, your style, what you were working on, the bug you just fixed. Your AI has amnesia. Your context is trapped in each tool.
|
|
18
|
+
|
|
19
|
+
**This is the #1 productivity killer for AI-assisted developers.**
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## The Solution
|
|
24
|
+
|
|
25
|
+
**Cell sits between you and your AI tools.** It remembers everything — your coding style, your decisions, your blind spots, your session history — and injects it automatically.
|
|
18
26
|
|
|
19
27
|
```
|
|
20
28
|
$ @cell
|
|
@@ -23,153 +31,216 @@ $ @cell
|
|
|
23
31
|
CELL CONTEXT — my-saas-app
|
|
24
32
|
━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
25
33
|
|
|
26
|
-
PROJECT
|
|
34
|
+
📦 PROJECT
|
|
27
35
|
Project: my-saas-app (412 files, 24,891 lines)
|
|
28
|
-
Stack:
|
|
36
|
+
Stack: React 19 · TypeScript · Vite · TailwindCSS
|
|
29
37
|
|
|
30
|
-
BLIND SPOTS:
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
⚠️ BLIND SPOTS:
|
|
39
|
+
→ [12x, trust 92] async_without_trycatch:12/15
|
|
40
|
+
→ [8x, trust 88] chained_property_access:8/8
|
|
33
41
|
|
|
34
|
-
LAST SESSION
|
|
42
|
+
🎯 LAST SESSION
|
|
35
43
|
Tool: claude-code (12 min ago)
|
|
36
44
|
Working on: fixing memory leak in webhooks
|
|
37
45
|
Last file: src/webhooks/handler.ts
|
|
38
|
-
Key decision: switched from Map to WeakMap
|
|
46
|
+
Key decision: switched from Map to WeakMap
|
|
39
47
|
|
|
40
48
|
# ─── End @cell Context ───
|
|
41
49
|
```
|
|
42
50
|
|
|
43
|
-
**
|
|
51
|
+
**No re-explanation. No context loss. Just works.**
|
|
44
52
|
|
|
45
53
|
---
|
|
46
54
|
|
|
47
|
-
##
|
|
55
|
+
## Quick Start (30 seconds)
|
|
48
56
|
|
|
49
57
|
```bash
|
|
58
|
+
# Install
|
|
50
59
|
npm i -g fivocell
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
cell
|
|
60
|
+
|
|
61
|
+
# Setup (one-time, idempotent)
|
|
62
|
+
cell setup
|
|
63
|
+
|
|
64
|
+
# Start daemon
|
|
65
|
+
cell start
|
|
66
|
+
|
|
67
|
+
# Use in any AI tool
|
|
68
|
+
# Type @cell in Cursor, Claude Code, Open Code, Antigravity, Codex, or Windsurf
|
|
54
69
|
```
|
|
55
70
|
|
|
56
|
-
That's it.
|
|
71
|
+
That's it. Your AI now has permanent memory.
|
|
57
72
|
|
|
58
73
|
---
|
|
59
74
|
|
|
60
|
-
## How
|
|
61
|
-
|
|
62
|
-
Cell runs an MCP server on `localhost:9876` with **67 tools**. Every supported
|
|
63
|
-
IDE (Cursor, Claude Code, Open Code, Antigravity, Codex) connects to the same
|
|
64
|
-
daemon, the same SQLite DB, the same memory.
|
|
75
|
+
## How It Works
|
|
65
76
|
|
|
66
77
|
```
|
|
67
|
-
|
|
68
|
-
│
|
|
69
|
-
│
|
|
70
|
-
│ ↓
|
|
71
|
-
│
|
|
72
|
-
|
|
73
|
-
│ JSON-RPC
|
|
78
|
+
┌─────────────────────────────────────────┐
|
|
79
|
+
│ Your IDE — Cursor, Claude Code, etc │
|
|
80
|
+
│ Chat types @cell │
|
|
81
|
+
│ ↓ │
|
|
82
|
+
│ AI calls cell_get_context via MCP │
|
|
83
|
+
└──────────────┬──────────────────────────┘
|
|
84
|
+
│ JSON-RPC 2.0
|
|
74
85
|
▼
|
|
75
|
-
|
|
76
|
-
│
|
|
77
|
-
│
|
|
78
|
-
│
|
|
79
|
-
│
|
|
80
|
-
│
|
|
81
|
-
│
|
|
82
|
-
│
|
|
83
|
-
│
|
|
84
|
-
│
|
|
85
|
-
│
|
|
86
|
-
|
|
86
|
+
┌─────────────────────────────────────────┐
|
|
87
|
+
│ Cell Daemon (port 9876) │
|
|
88
|
+
│ ┌─────────────────────────────────┐ │
|
|
89
|
+
│ │ 96 MCP Tools │ │
|
|
90
|
+
│ │ Context, Scan, Blind Spots, │ │
|
|
91
|
+
│ │ Memory, Session, Branch, etc. │ │
|
|
92
|
+
│ └─────────────────────────────────┘ │
|
|
93
|
+
│ ┌─────────────────────────────────┐ │
|
|
94
|
+
│ │ SQLite DB (100% local) │ │
|
|
95
|
+
│ │ ~/.fivo/cell/cell.db │ │
|
|
96
|
+
│ └─────────────────────────────────┘ │
|
|
97
|
+
└─────────────────────────────────────────┘
|
|
87
98
|
```
|
|
88
99
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
## Commands
|
|
92
|
-
|
|
93
|
-
| Command | Does |
|
|
94
|
-
|---------|------|
|
|
95
|
-
| `cell setup` | One-time project setup: scan + watcher + MCP (idempotent) |
|
|
96
|
-
| `cell start` | Start daemon + MCP (port 9876) |
|
|
97
|
-
| `cell stop` | Stop daemon cleanly |
|
|
98
|
-
| `cell doctor` | Health check — diagnose what's missing |
|
|
99
|
-
| `cell --version` | Print version + daemon status |
|
|
100
|
-
| `cell scan` | Deep scan codebase + build all layers |
|
|
101
|
-
| `cell analyze` | AI analysis prompts from scan data |
|
|
102
|
-
| `cell status` | Full dashboard: profile, git intelligence, predictions |
|
|
103
|
-
| `cell session` | Last file touched + patterns |
|
|
104
|
-
| `cell decisions` | Recent decisions with verdict |
|
|
105
|
-
| `cell context [--short\|--full]` | Inject @cell context block for IDEs |
|
|
106
|
-
| `cell blindspots [--top N]` | Scan for blind spots with priority ranking |
|
|
107
|
-
| `cell focus [dir]` | Focus report — active/stalled/abandoned projects |
|
|
108
|
-
| `cell why <topic>` | Search decisions by topic across all tables |
|
|
109
|
-
| `cell lessons [topic]` | Engineering lessons from failure patterns |
|
|
110
|
-
| `cell evolution [--stack]` | Project evolution map + skill progression |
|
|
111
|
-
| `cell switch-back <branch>` | Restore branch context |
|
|
112
|
-
| `cell branches` | List known branches with saved context |
|
|
113
|
-
| `cell watch start` | Live file watcher |
|
|
114
|
-
| `cell bridge start` | WebSocket bridge for live IDE state |
|
|
115
|
-
| `cell team` | Git-based team sharing |
|
|
116
|
-
| `cell community` | Anonymous patterns + benchmarks |
|
|
117
|
-
| `cell replay [--last]` | Replay session timeline |
|
|
118
|
-
| `cell continue` | Continue last session |
|
|
119
|
-
| `cell mcp-config` | Auto-register cell MCP in all IDEs |
|
|
120
|
-
| `cell repl` | Interactive REPL with tab completion |
|
|
100
|
+
**Key insight:** Cell is filesystem-level, not IDE-level. It doesn't care whether you're in Cursor, Claude Code, Vim, or Notepad. Same watcher, same DB, same memory.
|
|
121
101
|
|
|
122
102
|
---
|
|
123
103
|
|
|
124
|
-
##
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
-
|
|
135
|
-
|
|
136
|
-
|
|
104
|
+
## Why Cell?
|
|
105
|
+
|
|
106
|
+
### vs Cursor Memory
|
|
107
|
+
| Feature | Cursor | Cell |
|
|
108
|
+
|---------|--------|------|
|
|
109
|
+
| Cross-IDE | ❌ Cursor only | ✅ 6+ IDEs |
|
|
110
|
+
| Blind spots | ❌ | ✅ 31 rule types |
|
|
111
|
+
| Style injection | ❌ | ✅ Auto .cursorrules |
|
|
112
|
+
| Session recovery | ❌ | ✅ Resume across tools |
|
|
113
|
+
| Memory replay | ❌ | ✅ By topic, time, file |
|
|
114
|
+
| Local-first | ❌ Cloud | ✅ 100% local |
|
|
115
|
+
| Open source | ❌ | ✅ Apache 2.0 |
|
|
116
|
+
|
|
117
|
+
### vs Claude Memory
|
|
118
|
+
| Feature | Claude | Cell |
|
|
119
|
+
|---------|--------|------|
|
|
120
|
+
| Cross-IDE | ❌ Claude only | ✅ 6+ IDEs |
|
|
121
|
+
| Persistent | ❌ Session only | ✅ Permanent |
|
|
122
|
+
| Code analysis | ❌ | ✅ AST-based |
|
|
123
|
+
| Blind spots | ❌ | ✅ 31 rules |
|
|
124
|
+
| Style learning | ❌ | ✅ Auto-detect |
|
|
125
|
+
| Local-first | ❌ | ✅ 100% local |
|
|
126
|
+
|
|
127
|
+
### vs GitHub Copilot
|
|
128
|
+
| Feature | Copilot | Cell |
|
|
129
|
+
|---------|---------|------|
|
|
130
|
+
| Context | ❌ Current file only | ✅ Full project |
|
|
131
|
+
| Memory | ❌ None | ✅ Permanent |
|
|
132
|
+
| Cross-tool | ❌ | ✅ 6+ IDEs |
|
|
133
|
+
| Code analysis | ❌ | ✅ AST + patterns |
|
|
134
|
+
| Style matching | ❌ | ✅ Auto-detect |
|
|
135
|
+
| Open source | ❌ | ✅ Apache 2.0 |
|
|
136
|
+
|
|
137
|
+
### vs Custom .cursorrules
|
|
138
|
+
| Feature | .cursorrules | Cell |
|
|
139
|
+
|---------|-------------|------|
|
|
140
|
+
| Auto-generate | ❌ Manual | ✅ Auto from scan |
|
|
141
|
+
| Update | ❌ Manual | ✅ Auto on re-scan |
|
|
142
|
+
| Cross-IDE | ❌ | ✅ All tools |
|
|
143
|
+
| Blind spots | ❌ | ✅ 31 rules |
|
|
144
|
+
| Memory | ❌ | ✅ Permanent |
|
|
145
|
+
| Session recovery | ❌ | ✅ Resume |
|
|
146
|
+
|
|
147
|
+
**Bottom line:** Other tools give you a chat. Cell gives you a **brain**.
|
|
137
148
|
|
|
138
149
|
---
|
|
139
150
|
|
|
140
|
-
##
|
|
151
|
+
## Features (What Cell Actually Does)
|
|
152
|
+
|
|
153
|
+
### 🔍 Code Intelligence
|
|
154
|
+
- **Blind Spot Scanner** — 31 rule types (async errors, N+1 queries, deep nesting, missing null checks)
|
|
155
|
+
- **Style Detection** — Auto-detect quotes, semicolons, naming, indentation, async patterns
|
|
156
|
+
- **Knowledge Graph** — File dependencies, blast radius, tech proficiency
|
|
157
|
+
- **Project DNA** — Architecture detection, framework identification, conventions
|
|
158
|
+
|
|
159
|
+
### 🧠 Memory System
|
|
160
|
+
- **Permanent Memory** — Decisions, errors, fixes, sessions stored in SQLite
|
|
161
|
+
- **Session Recovery** — Resume where you left off across tools
|
|
162
|
+
- **Memory Replay** — Replay engineering history by topic, time, or file
|
|
163
|
+
- **Handoff System** — Current status, completed work, pending tasks
|
|
164
|
+
|
|
165
|
+
### 🔗 Cross-Tool Continuity
|
|
166
|
+
- **@cell Context** — Inject full project context into any AI tool
|
|
167
|
+
- **6+ IDE Support** — Cursor, Claude Code, Open Code, Antigravity, Codex, Windsurf
|
|
168
|
+
- **Same DB** — All tools share one memory
|
|
169
|
+
- **Same Watcher** — Filesystem-level, not IDE-level
|
|
170
|
+
|
|
171
|
+
### 📊 Intelligence
|
|
172
|
+
- **Predictive Engine** — Repeat mistakes, decision regret, energy warnings
|
|
173
|
+
- **CI Integration** — Build status, test results, deploy tracking
|
|
174
|
+
- **Branch Context** — Per-branch memory, CI risk correlation
|
|
175
|
+
- **Weekly Reports** — Activity breakdown, decisions, errors, fixes
|
|
176
|
+
|
|
177
|
+
### 🛠️ Developer Tools
|
|
178
|
+
- **Doctor** — Health check with severity levels (🔴/🟡/✅)
|
|
179
|
+
- **Verify** — Data integrity check across all subsystems
|
|
180
|
+
- **Focus Report** — Active, stalled, abandoned projects
|
|
181
|
+
- **Evolution Map** — Skill progression, project history
|
|
182
|
+
|
|
183
|
+
### 🔒 Privacy
|
|
184
|
+
- **100% Local** — Code never leaves your machine
|
|
185
|
+
- **No Telemetry** — Zero tracking, zero analytics
|
|
186
|
+
- **Apache 2.0** — Free forever, no restrictions
|
|
187
|
+
- **Encrypted Storage** — AES-256-GCM for sensitive data
|
|
141
188
|
|
|
142
|
-
|
|
143
|
-
You work in Cursor:
|
|
144
|
-
- Edit src/webhooks/handler.ts
|
|
145
|
-
- Accept AI suggestion: "use WeakMap"
|
|
146
|
-
- Move to a meeting.
|
|
147
|
-
|
|
148
|
-
You open Claude Code:
|
|
149
|
-
- Type @cell
|
|
150
|
-
- See: "Last session: cursor, 23 min ago. Working on: fixing memory
|
|
151
|
-
leak in webhooks. Last file: src/webhooks/handler.ts. Key
|
|
152
|
-
decision: switched from Map to WeakMap."
|
|
153
|
-
|
|
154
|
-
You open Open Code:
|
|
155
|
-
- Type @cell
|
|
156
|
-
- Same context. No re-explanation.
|
|
157
|
-
|
|
158
|
-
You open Antigravity:
|
|
159
|
-
- Same. 67 tools, same DB, same memory.
|
|
160
|
-
```
|
|
189
|
+
---
|
|
161
190
|
|
|
162
|
-
|
|
191
|
+
## Commands Reference
|
|
192
|
+
|
|
193
|
+
### Core (Daily Use)
|
|
194
|
+
| Command | What It Does | When |
|
|
195
|
+
|---------|-------------|------|
|
|
196
|
+
| `cell setup` | One-time project setup | First time only |
|
|
197
|
+
| `cell scan` | Analyze codebase | After major changes |
|
|
198
|
+
| `cell context` | Get @cell context | Every AI query |
|
|
199
|
+
| `cell blindspots` | Show code issues | Before commits |
|
|
200
|
+
| `cell watch start` | Track file changes | Always running |
|
|
201
|
+
| `cell bridge start` | Connect to IDE | When using IDE |
|
|
202
|
+
| `cell continue` | Resume last session | Start of day |
|
|
203
|
+
| `cell doctor` | Health check | Weekly |
|
|
204
|
+
|
|
205
|
+
### Memory
|
|
206
|
+
| Command | What It Does |
|
|
207
|
+
|---------|-------------|
|
|
208
|
+
| `cell memory` | Memory stats |
|
|
209
|
+
| `cell memory search <query>` | Search memory |
|
|
210
|
+
| `cell memory doctor` | Memory health |
|
|
211
|
+
| `cell handoff` | View/create handoff |
|
|
212
|
+
| `cell replay` | Replay history |
|
|
213
|
+
|
|
214
|
+
### Branch & Team
|
|
215
|
+
| Command | What It Does |
|
|
216
|
+
|---------|-------------|
|
|
217
|
+
| `cell branches` | List branches |
|
|
218
|
+
| `cell switch-back <branch>` | Restore branch context |
|
|
219
|
+
| `cell lessons` | Engineering lessons |
|
|
220
|
+
| `cell team` | Team intelligence |
|
|
221
|
+
| `cell community` | Community patterns |
|
|
222
|
+
|
|
223
|
+
### Intelligence
|
|
224
|
+
| Command | What It Does |
|
|
225
|
+
|---------|-------------|
|
|
226
|
+
| `cell predict` | Get warnings |
|
|
227
|
+
| `cell evolution` | Project evolution |
|
|
228
|
+
| `cell focus` | Active/stalled/abandoned |
|
|
229
|
+
| `cell why <topic>` | Search decisions |
|
|
163
230
|
|
|
164
231
|
---
|
|
165
232
|
|
|
166
|
-
##
|
|
233
|
+
## Supported IDEs
|
|
167
234
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
235
|
+
| IDE | Status | How to Connect |
|
|
236
|
+
|-----|--------|---------------|
|
|
237
|
+
| Cursor | ✅ | `cell mcp-config` |
|
|
238
|
+
| Claude Code | ✅ | `cell mcp-config` |
|
|
239
|
+
| Open Code | ✅ | `cell mcp-config` |
|
|
240
|
+
| Antigravity | ✅ | `cell mcp-config` |
|
|
241
|
+
| Codex | ✅ | `cell mcp-config` |
|
|
242
|
+
| Windsurf | ✅ | `cell mcp-config` |
|
|
243
|
+
| VSCode | ⚠️ | Extension available |
|
|
173
244
|
|
|
174
245
|
---
|
|
175
246
|
|
|
@@ -178,21 +249,57 @@ You open Antigravity:
|
|
|
178
249
|
```
|
|
179
250
|
~/.fivo/cell/
|
|
180
251
|
├── cell.db — SQLite (all persistent data)
|
|
181
|
-
├── daemon.log — daemon output
|
|
252
|
+
├── daemon.log — daemon output
|
|
182
253
|
├── daemon.pid — process tracking
|
|
183
|
-
├── cell-state.json — milestone tracking
|
|
184
|
-
├── work-style.json — developer profile
|
|
185
254
|
└── personal/
|
|
186
|
-
└── insights/ — saved AI analysis
|
|
255
|
+
└── insights/ — saved AI analysis
|
|
187
256
|
|
|
188
257
|
.cell/
|
|
189
258
|
├── personal/ — profile, style, errors, decisions
|
|
190
|
-
├── team/ — members, shared patterns
|
|
191
|
-
|
|
259
|
+
├── team/ — members, shared patterns
|
|
260
|
+
├── community/ — aggregate patterns, benchmarks
|
|
261
|
+
├── memory/
|
|
262
|
+
│ ├── archive/ — encrypted long-term storage
|
|
263
|
+
│ ├── blobs/ — content-addressed dedup
|
|
264
|
+
│ ├── context/ — short, full, last-session
|
|
265
|
+
│ ├── patterns/ — code, error, fix, architecture
|
|
266
|
+
│ └── summaries/ — daily, weekly, monthly
|
|
267
|
+
└── handoff/
|
|
268
|
+
├── current.md — active handoff
|
|
269
|
+
└── history/ — past handoffs
|
|
192
270
|
```
|
|
193
271
|
|
|
194
272
|
---
|
|
195
273
|
|
|
274
|
+
## Privacy First
|
|
275
|
+
|
|
276
|
+
- **100% local** — code never leaves your machine
|
|
277
|
+
- **No telemetry** — zero tracking, zero analytics
|
|
278
|
+
- **No cloud** — all data on your device
|
|
279
|
+
- **Apache 2.0** — free forever, no restrictions
|
|
280
|
+
- **Encrypted storage** — AES-256-GCM for sensitive data
|
|
281
|
+
- **No browser sniffer, clipboard tracking, or keystroke logging** — permanently excluded
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Community
|
|
286
|
+
|
|
287
|
+
- **GitHub:** [github.com/itsvinsoni/fivocell](https://github.com/itsvinsoni/fivocell)
|
|
288
|
+
- **npm:** [npmjs.com/package/fivocell](https://www.npmjs.com/package/fivocell)
|
|
289
|
+
- **Issues:** [GitHub Issues](https://github.com/itsvinsoni/fivocell/issues)
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Contributing
|
|
294
|
+
|
|
295
|
+
1. Fork the repository
|
|
296
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
297
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
298
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
299
|
+
5. Open a Pull Request
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
196
303
|
## License
|
|
197
304
|
|
|
198
305
|
Apache 2.0 — Free forever. No restrictions for individual use.
|
|
@@ -200,3 +307,5 @@ Apache 2.0 — Free forever. No restrictions for individual use.
|
|
|
200
307
|
---
|
|
201
308
|
|
|
202
309
|
**Git stores code. Cell stores engineering experience.**
|
|
310
|
+
|
|
311
|
+
*Your AI forgets. Cell doesn't.* 🚀
|
|
@@ -107,9 +107,9 @@ describe('Cell Mirror', () => {
|
|
|
107
107
|
expect(shortContent).toContain('Short Context');
|
|
108
108
|
expect(shortContent).toContain('Use React');
|
|
109
109
|
});
|
|
110
|
-
it('verifyCellHealth reports
|
|
110
|
+
it('verifyCellHealth reports fresh status for empty project', () => {
|
|
111
111
|
const health = (0, cell_mirror_1.verifyCellHealth)(TEST_DIR);
|
|
112
|
-
expect(health.
|
|
112
|
+
expect(health.status).toBe('fresh');
|
|
113
113
|
expect(health.totalFiles).toBe(0);
|
|
114
114
|
});
|
|
115
115
|
it('verifyCellHealth passes after sync', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell-mirror.test.js","sourceRoot":"","sources":["../../src/__tests__/cell-mirror.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cell-mirror.test.js","sourceRoot":"","sources":["../../src/__tests__/cell-mirror.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ describe('CLI regression — bin entrypoint', () => {
|
|
|
58
58
|
encoding: 'utf8',
|
|
59
59
|
timeout: 10000,
|
|
60
60
|
});
|
|
61
|
-
expect(out).toContain('
|
|
61
|
+
expect(out).toContain('FivoCell');
|
|
62
62
|
expect(out).toContain('cell setup');
|
|
63
63
|
expect(out).toContain('cell doctor');
|
|
64
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-regression.test.js","sourceRoot":"","sources":["../../src/__tests__/cli-regression.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AAEzC,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAE7D,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,IAAA,wBAAQ,EAAC,SAAS,OAAO,aAAa,EAAE;YAClD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;YACrC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAA,wBAAQ,EAAC,SAAS,OAAO,QAAQ,EAAE;YAC7C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;YACrC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"cli-regression.test.js","sourceRoot":"","sources":["../../src/__tests__/cli-regression.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-context.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/teach-context.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const teach_context_1 = require("../walls/06-memory/teach/teach-context");
|
|
4
|
+
const teach_store_1 = require("../walls/06-memory/teach/teach-store");
|
|
5
|
+
const database_1 = require("../walls/06-memory/database/database");
|
|
6
|
+
describe('Teach Context', () => {
|
|
7
|
+
beforeAll(() => {
|
|
8
|
+
(0, database_1.getDb)();
|
|
9
|
+
});
|
|
10
|
+
afterEach(() => {
|
|
11
|
+
(0, teach_store_1.deleteProfile)();
|
|
12
|
+
});
|
|
13
|
+
it('generates context string from profile', () => {
|
|
14
|
+
(0, teach_store_1.saveProfileSection)('coding_style', '1. Minimal changes', { minimal_changes: 'Minimal changes' }, 85);
|
|
15
|
+
(0, teach_store_1.saveProfileSection)('hates', '1. No refactors', { no_refactors: 'No refactors' }, 85);
|
|
16
|
+
const source = (0, teach_context_1.getProfileForContext)();
|
|
17
|
+
expect(source).not.toBeNull();
|
|
18
|
+
expect(source.type).toBe('developer_profile');
|
|
19
|
+
expect(source.importance).toBe(85);
|
|
20
|
+
expect(source.data).toContain('Developer Profile:');
|
|
21
|
+
expect(source.data).toContain('Coding Style: Minimal changes');
|
|
22
|
+
expect(source.data).toContain('Hates: No refactors');
|
|
23
|
+
});
|
|
24
|
+
it('returns null when no profile', () => {
|
|
25
|
+
const source = (0, teach_context_1.getProfileForContext)();
|
|
26
|
+
expect(source).toBeNull();
|
|
27
|
+
});
|
|
28
|
+
it('returns null for empty profile', () => {
|
|
29
|
+
const source = (0, teach_context_1.getProfileForContext)();
|
|
30
|
+
expect(source).toBeNull();
|
|
31
|
+
});
|
|
32
|
+
it('has correct importance level', () => {
|
|
33
|
+
(0, teach_store_1.saveProfileSection)('coding_style', 'Test', { test: 'Test' }, 85);
|
|
34
|
+
const source = (0, teach_context_1.getProfileForContext)();
|
|
35
|
+
expect(source.importance).toBe(85);
|
|
36
|
+
});
|
|
37
|
+
it('has correct type and reason', () => {
|
|
38
|
+
(0, teach_store_1.saveProfileSection)('coding_style', 'Test', { test: 'Test' }, 85);
|
|
39
|
+
const source = (0, teach_context_1.getProfileForContext)();
|
|
40
|
+
expect(source.type).toBe('developer_profile');
|
|
41
|
+
expect(source.reason).toBe('developer identity and preferences');
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=teach-context.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-context.test.js","sourceRoot":"","sources":["../../src/__tests__/teach-context.test.ts"],"names":[],"mappings":";;AAAA,0EAA8E;AAC9E,sEAAyF;AACzF,mEAA6D;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAA,gBAAK,GAAE,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAA,2BAAa,GAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,IAAA,gCAAkB,EAAC,cAAc,EAAE,oBAAoB,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;QACrG,IAAA,gCAAkB,EAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,IAAA,oCAAoB,GAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QAChE,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,IAAA,oCAAoB,GAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,IAAA,oCAAoB,GAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,IAAA,gCAAkB,EAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAA,oCAAoB,GAAE,CAAC;QACtC,MAAM,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,gCAAkB,EAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAA,oCAAoB,GAAE,CAAC;QACtC,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-parser.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/teach-parser.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const teach_parser_1 = require("../walls/06-memory/teach/teach-parser");
|
|
4
|
+
describe('Teach Parser', () => {
|
|
5
|
+
it('parses numbered list', () => {
|
|
6
|
+
const result = (0, teach_parser_1.parseTeachInput)('1. Minimal changes\n2. Strong typing', 'coding_style');
|
|
7
|
+
expect(result.minimal_changes).toBe('Minimal changes');
|
|
8
|
+
expect(result.strong_typing).toBe('Strong typing');
|
|
9
|
+
});
|
|
10
|
+
it('parses bullet points', () => {
|
|
11
|
+
const result = (0, teach_parser_1.parseTeachInput)('- No refactors\n- No new dependencies', 'hates');
|
|
12
|
+
expect(result.no_refactors).toBe('No refactors');
|
|
13
|
+
expect(result.no_new_dependencies).toBe('No new dependencies');
|
|
14
|
+
});
|
|
15
|
+
it('parses free text', () => {
|
|
16
|
+
const result = (0, teach_parser_1.parseTeachInput)('I hate over-engineering', 'hates');
|
|
17
|
+
expect(result.i_hate_over_engineering).toBe('I hate over-engineering');
|
|
18
|
+
});
|
|
19
|
+
it('handles mixed input', () => {
|
|
20
|
+
const result = (0, teach_parser_1.parseTeachInput)('1. First item\n- Second item\nThird item', 'coding_style');
|
|
21
|
+
expect(Object.keys(result).length).toBe(3);
|
|
22
|
+
});
|
|
23
|
+
it('handles empty input', () => {
|
|
24
|
+
const result = (0, teach_parser_1.parseTeachInput)('', 'coding_style');
|
|
25
|
+
expect(Object.keys(result).length).toBe(0);
|
|
26
|
+
});
|
|
27
|
+
it('handles whitespace-only input', () => {
|
|
28
|
+
const result = (0, teach_parser_1.parseTeachInput)(' \n \n ', 'coding_style');
|
|
29
|
+
expect(Object.keys(result).length).toBe(0);
|
|
30
|
+
});
|
|
31
|
+
it('generates snake_case keys', () => {
|
|
32
|
+
const result = (0, teach_parser_1.parseTeachInput)('I love TypeScript', 'coding_style');
|
|
33
|
+
expect(result.i_love_typescript).toBe('I love TypeScript');
|
|
34
|
+
});
|
|
35
|
+
it('converts profile to context string', () => {
|
|
36
|
+
const profile = {
|
|
37
|
+
coding_style: {
|
|
38
|
+
rawText: '1. Minimal changes',
|
|
39
|
+
structuredData: { minimal_changes: 'Minimal changes' },
|
|
40
|
+
},
|
|
41
|
+
hates: {
|
|
42
|
+
rawText: '- No refactors',
|
|
43
|
+
structuredData: { no_refactors: 'No refactors' },
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
const result = (0, teach_parser_1.profileToContextString)(profile);
|
|
47
|
+
expect(result).toContain('Developer Profile:');
|
|
48
|
+
expect(result).toContain('Coding Style: Minimal changes');
|
|
49
|
+
expect(result).toContain('Hates: No refactors');
|
|
50
|
+
});
|
|
51
|
+
it('returns empty string for empty profile', () => {
|
|
52
|
+
const result = (0, teach_parser_1.profileToContextString)({});
|
|
53
|
+
expect(result).toBe('');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=teach-parser.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-parser.test.js","sourceRoot":"","sources":["../../src/__tests__/teach-parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teach-store.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/teach-store.test.ts"],"names":[],"mappings":""}
|