brainclaw 1.8.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +592 -505
- package/dist/brainclaw-vscode.vsix +0 -0
- package/dist/cli.js +138 -13
- package/dist/commands/add-step.js +1 -1
- package/dist/commands/bootstrap.js +2 -26
- package/dist/commands/check-security-mcp.js +50 -33
- package/dist/commands/check-security.js +86 -43
- package/dist/commands/claim.js +22 -21
- package/dist/commands/confirm.js +26 -0
- package/dist/commands/context-diff.js +1 -1
- package/dist/commands/dispatch-watch.js +142 -0
- package/dist/commands/doctor.js +113 -2
- package/dist/commands/estimation-report.js +115 -16
- package/dist/commands/harvest.js +286 -23
- package/dist/commands/hooks.js +73 -73
- package/dist/commands/init.js +124 -22
- package/dist/commands/install-hooks.js +78 -78
- package/dist/commands/loops-handlers.js +4 -0
- package/dist/commands/mcp-read-handlers.js +253 -41
- package/dist/commands/mcp.js +664 -102
- package/dist/commands/memory.js +21 -17
- package/dist/commands/migrate.js +81 -17
- package/dist/commands/prune.js +78 -4
- package/dist/commands/reflect.js +26 -20
- package/dist/commands/register-agent.js +57 -1
- package/dist/commands/repair.js +20 -0
- package/dist/commands/session-end.js +15 -6
- package/dist/commands/session-start.js +18 -1
- package/dist/commands/setup-security.js +39 -18
- package/dist/commands/setup.js +26 -27
- package/dist/commands/stale.js +16 -2
- package/dist/commands/switch.js +26 -5
- package/dist/commands/uninstall.js +126 -34
- package/dist/commands/update-step.js +6 -0
- package/dist/commands/version.js +1 -1
- package/dist/commands/worktree.js +60 -0
- package/dist/core/actions.js +12 -3
- package/dist/core/agent-capability.js +30 -17
- package/dist/core/agent-files.js +963 -666
- package/dist/core/agent-integrations.js +0 -3
- package/dist/core/agent-inventory.js +67 -0
- package/dist/core/agent-registry.js +163 -29
- package/dist/core/agentrun-reconciler.js +33 -2
- package/dist/core/agentruns.js +7 -1
- package/dist/core/ai-agent-detection.js +31 -44
- package/dist/core/archival.js +15 -9
- package/dist/core/assignment-reconciler.js +56 -0
- package/dist/core/assignment-sweeper.js +127 -4
- package/dist/core/assignments.js +69 -11
- package/dist/core/bootstrap.js +233 -67
- package/dist/core/brainclaw-version.js +22 -0
- package/dist/core/candidates.js +21 -1
- package/dist/core/claims.js +313 -150
- package/dist/core/codev-prompts.js +38 -38
- package/dist/core/config.js +6 -1
- package/dist/core/context-diff.js +148 -20
- package/dist/core/context.js +129 -8
- package/dist/core/coordination.js +22 -3
- package/dist/core/default-profiles/doctor.yaml +11 -11
- package/dist/core/default-profiles/janitor.yaml +11 -11
- package/dist/core/default-profiles/onboarder.yaml +11 -11
- package/dist/core/default-profiles/reviewer.yaml +13 -13
- package/dist/core/dispatch-status.js +79 -5
- package/dist/core/dispatcher.js +65 -12
- package/dist/core/entity-operations.js +74 -27
- package/dist/core/entity-registry.js +31 -5
- package/dist/core/event-log.js +138 -21
- package/dist/core/events/checkpoint.js +258 -0
- package/dist/core/events/genesis.js +220 -0
- package/dist/core/events/journal.js +507 -0
- package/dist/core/events/materialize.js +126 -0
- package/dist/core/events/registry-post-image.js +110 -0
- package/dist/core/events/verify.js +109 -0
- package/dist/core/execution-adapters.js +23 -0
- package/dist/core/execution.js +1 -1
- package/dist/core/facade-schema.js +38 -0
- package/dist/core/gc-semantic.js +130 -5
- package/dist/core/handoff-snapshot.js +68 -0
- package/dist/core/ids.js +19 -8
- package/dist/core/instruction-templates.js +34 -115
- package/dist/core/io.js +39 -3
- package/dist/core/json-store.js +10 -1
- package/dist/core/lock.js +153 -28
- package/dist/core/loops/bootstrap-acquire.js +25 -1
- package/dist/core/loops/facade-schema.js +2 -0
- package/dist/core/loops/hooks/survey-signals-baseline.js +36 -0
- package/dist/core/loops/index.js +1 -0
- package/dist/core/loops/presets/bootstrap.js +7 -0
- package/dist/core/loops/store.js +17 -0
- package/dist/core/loops/verbs.js +24 -2
- package/dist/core/markdown.js +8 -76
- package/dist/core/mcp-command-resolution.js +245 -0
- package/dist/core/memory-compactor.js +5 -3
- package/dist/core/memory-lifecycle.js +282 -0
- package/dist/core/merge-risk.js +150 -0
- package/dist/core/messaging.js +10 -3
- package/dist/core/migration.js +11 -1
- package/dist/core/observer-mode.js +26 -0
- package/dist/core/operations/memory-mutation.js +90 -65
- package/dist/core/operations/plan.js +27 -1
- package/dist/core/protocol-skills.js +210 -0
- package/dist/core/reflection-safety.js +6 -7
- package/dist/core/reputation.js +84 -2
- package/dist/core/runtime-signals.js +72 -10
- package/dist/core/runtime.js +84 -1
- package/dist/core/schema.js +114 -0
- package/dist/core/search.js +19 -2
- package/dist/core/security-detectors.js +125 -0
- package/dist/core/security-extract.js +189 -0
- package/dist/core/security-guard.js +217 -139
- package/dist/core/security-packages.js +121 -0
- package/dist/core/security-scoring.js +76 -9
- package/dist/core/security.js +34 -2
- package/dist/core/sequence.js +11 -2
- package/dist/core/setup-flow.js +141 -13
- package/dist/core/spawn-check.js +16 -2
- package/dist/core/staleness.js +73 -2
- package/dist/core/state.js +250 -54
- package/dist/core/store-resolution.js +45 -12
- package/dist/core/worktree.js +90 -26
- package/dist/facts.js +8 -8
- package/dist/facts.json +7 -7
- package/docs/PROTOCOL.md +223 -0
- package/docs/adapters/openclaw.md +43 -43
- package/docs/architecture/project-refs.md +328 -328
- package/docs/cli.md +2097 -2096
- package/docs/concepts/coordination.md +52 -52
- package/docs/concepts/coordinator-runbook.md +129 -0
- package/docs/concepts/dispatch-lifecycle.md +245 -245
- package/docs/concepts/event-log-store.md +928 -0
- package/docs/concepts/ideation-loop.md +317 -317
- package/docs/concepts/loop-engine.md +520 -511
- package/docs/concepts/mcp-governance.md +268 -268
- package/docs/concepts/memory.md +89 -88
- package/docs/concepts/multi-agent-workflows.md +167 -167
- package/docs/concepts/observer-protocol.md +361 -0
- package/docs/concepts/parallel-merge-protocol.md +71 -0
- package/docs/concepts/plans-and-claims.md +217 -174
- package/docs/concepts/project-md-convention.md +35 -35
- package/docs/concepts/runtime-notes.md +38 -38
- package/docs/concepts/skills.md +78 -0
- package/docs/concepts/troubleshooting.md +254 -254
- package/docs/concepts/workspace-bootstrapping.md +142 -81
- package/docs/context-format-changelog.md +35 -35
- package/docs/context-format.md +48 -48
- package/docs/index.md +65 -65
- package/docs/integrations/agents.md +162 -162
- package/docs/integrations/claude-code.md +23 -23
- package/docs/integrations/cline.md +87 -88
- package/docs/integrations/codex.md +2 -2
- package/docs/integrations/continue.md +60 -60
- package/docs/integrations/copilot.md +82 -80
- package/docs/integrations/cursor.md +23 -23
- package/docs/integrations/kilocode.md +72 -72
- package/docs/integrations/mcp.md +377 -377
- package/docs/integrations/mistral-vibe.md +122 -122
- package/docs/integrations/openclaw.md +99 -98
- package/docs/integrations/opencode.md +84 -84
- package/docs/integrations/overview.md +122 -122
- package/docs/integrations/roo.md +74 -74
- package/docs/integrations/windsurf.md +83 -83
- package/docs/mcp-schema-changelog.md +360 -329
- package/docs/playbooks/integration/index.md +121 -121
- package/docs/playbooks/orchestration.md +37 -0
- package/docs/playbooks/productivity/index.md +99 -99
- package/docs/playbooks/team/index.md +117 -117
- package/docs/product/agent-first-model.md +184 -184
- package/docs/product/entity-model-audit.md +462 -462
- package/docs/product/positioning.md +86 -86
- package/docs/quickstart-existing-project.md +107 -107
- package/docs/quickstart.md +148 -147
- package/docs/release-maintenance.md +79 -79
- package/docs/reputation.md +52 -52
- package/docs/review.md +45 -45
- package/docs/security.md +212 -53
- package/docs/server-operations.md +118 -118
- package/docs/storage.md +110 -108
- package/package.json +86 -69
package/docs/storage.md
CHANGED
|
@@ -1,108 +1,110 @@
|
|
|
1
|
-
# Storage Model
|
|
2
|
-
|
|
3
|
-
brainclaw is local-first and workspace-centric.
|
|
4
|
-
|
|
5
|
-
## Default structure
|
|
6
|
-
|
|
7
|
-
```text
|
|
8
|
-
.brainclaw/
|
|
9
|
-
config.yaml ← Project configuration
|
|
10
|
-
project.md ←
|
|
11
|
-
events.jsonl ← Append-only event log (agent notifications)
|
|
12
|
-
audit.log ← Append-only audit trail (before/after snapshots)
|
|
13
|
-
memory/
|
|
14
|
-
constraints/ ← Canonical constraint entries (one JSON per entity)
|
|
15
|
-
decisions/ ← Canonical decision entries
|
|
16
|
-
traps/ ← Canonical trap entries
|
|
17
|
-
instructions/ ← Layered shared instructions
|
|
18
|
-
coordination/
|
|
19
|
-
plans/ ← Shared plan items
|
|
20
|
-
claims/ ← Active scope claims
|
|
21
|
-
handoffs/ ← Handoff records
|
|
22
|
-
sessions/ ← Session state
|
|
23
|
-
runtime/ ← Runtime notes (shared, machine, private)
|
|
24
|
-
inbox/ ← Candidate review queue
|
|
25
|
-
discovery/
|
|
26
|
-
bootstrap/ ← Bootstrap profiles and seeds
|
|
27
|
-
agents/ ← Agent registration and identity
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Design principles
|
|
31
|
-
|
|
32
|
-
### Canonical state is split
|
|
33
|
-
Each entity is stored as its own JSON file (e.g. `memory/decisions/dec_abc123.json`).
|
|
34
|
-
|
|
35
|
-
Benefits:
|
|
36
|
-
|
|
37
|
-
- readable diffs in `.brainclaw/.git`
|
|
38
|
-
- easier merges
|
|
39
|
-
- clear provenance per entity
|
|
40
|
-
- O(1) lookup by ID (direct file access)
|
|
41
|
-
- no giant monolithic memory blob
|
|
42
|
-
- isolated corruption (one bad file does not affect others)
|
|
43
|
-
|
|
44
|
-
### Derived views are best-effort
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
73
|
-
|
|
74
|
-
| `
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
- [
|
|
1
|
+
# Storage Model
|
|
2
|
+
|
|
3
|
+
brainclaw is local-first and workspace-centric.
|
|
4
|
+
|
|
5
|
+
## Default structure
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.brainclaw/
|
|
9
|
+
config.yaml ← Project configuration
|
|
10
|
+
project.md ← Legacy derived readable view (best-effort, regenerable)
|
|
11
|
+
events.jsonl ← Append-only event log (agent notifications)
|
|
12
|
+
audit.log ← Append-only audit trail (before/after snapshots)
|
|
13
|
+
memory/
|
|
14
|
+
constraints/ ← Canonical constraint entries (one JSON per entity)
|
|
15
|
+
decisions/ ← Canonical decision entries
|
|
16
|
+
traps/ ← Canonical trap entries
|
|
17
|
+
instructions/ ← Layered shared instructions
|
|
18
|
+
coordination/
|
|
19
|
+
plans/ ← Shared plan items
|
|
20
|
+
claims/ ← Active scope claims
|
|
21
|
+
handoffs/ ← Handoff records
|
|
22
|
+
sessions/ ← Session state
|
|
23
|
+
runtime/ ← Runtime notes (shared, machine, private)
|
|
24
|
+
inbox/ ← Candidate review queue
|
|
25
|
+
discovery/
|
|
26
|
+
bootstrap/ ← Bootstrap profiles and seeds
|
|
27
|
+
agents/ ← Agent registration and identity
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Design principles
|
|
31
|
+
|
|
32
|
+
### Canonical state is split
|
|
33
|
+
Each entity is stored as its own JSON file (e.g. `memory/decisions/dec_abc123.json`).
|
|
34
|
+
|
|
35
|
+
Benefits:
|
|
36
|
+
|
|
37
|
+
- readable diffs in `.brainclaw/.git`
|
|
38
|
+
- easier merges
|
|
39
|
+
- clear provenance per entity
|
|
40
|
+
- O(1) lookup by ID (direct file access)
|
|
41
|
+
- no giant monolithic memory blob
|
|
42
|
+
- isolated corruption (one bad file does not affect others)
|
|
43
|
+
|
|
44
|
+
### Derived views are best-effort
|
|
45
|
+
`.brainclaw/project.md` is a **legacy derived view** regenerated from canonical state via `rebuildProjectMd()`. It is not a write target and no longer carries live claims, plans, handoffs, or runtime state — use `brainclaw agent-board`, `brainclaw context`, or MCP board/context tools for that operational data.
|
|
46
|
+
|
|
47
|
+
Root `PROJECT.md` is different: it is the durable project vision and should contain stable product, architecture, and contribution guidance that does not expire every session.
|
|
48
|
+
|
|
49
|
+
Failures to regenerate `project.md` are logged but never block mutations. If it gets stale, `brainclaw doctor` detects the drift.
|
|
50
|
+
|
|
51
|
+
### All mutations go through a single pipeline
|
|
52
|
+
Every write to `.brainclaw/` is serialized through `mutate()` (`src/core/mutation-pipeline.ts`):
|
|
53
|
+
|
|
54
|
+
1. **Store-wide lock** — advisory file lock at `.brainclaw/.store-mutation` (5s timeout, 10s expiry)
|
|
55
|
+
2. **Reentrant** — nested mutations within the same process are safe
|
|
56
|
+
3. **Atomic writes** — individual files use temp-file + rename pattern
|
|
57
|
+
4. **Git versioned** — `.brainclaw/.git` tracks all changes for rollback
|
|
58
|
+
|
|
59
|
+
For agents using MCP (the recommended path), mutations are additionally serialized by the MCP server's `McpTaskRunner` — a FIFO queue that runs one task at a time. This provides two layers of write safety:
|
|
60
|
+
|
|
61
|
+
| Layer | Scope | Mechanism |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| **McpTaskRunner** | Single MCP server process | FIFO queue, one active Worker thread |
|
|
64
|
+
| **mutate() file lock** | Cross-process (CLI + MCP) | Advisory `.store-mutation` lock file |
|
|
65
|
+
|
|
66
|
+
Agents should always use MCP tools for mutations. The CLI is for human operators, scripting, and fallback workflows.
|
|
67
|
+
|
|
68
|
+
### Topology can vary
|
|
69
|
+
|
|
70
|
+
Depending on configuration, storage may be:
|
|
71
|
+
|
|
72
|
+
| Topology | Behavior |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `embedded` (default) | `.brainclaw/` inside the repo, tracked by Git |
|
|
75
|
+
| `sidecar` | `.brainclaw/` inside the repo but gitignored |
|
|
76
|
+
| `local-only` | Outside the repo, never tracked |
|
|
77
|
+
|
|
78
|
+
## What belongs in canonical memory
|
|
79
|
+
|
|
80
|
+
- decisions
|
|
81
|
+
- constraints
|
|
82
|
+
- traps
|
|
83
|
+
- layered instructions
|
|
84
|
+
- handoffs
|
|
85
|
+
- plans
|
|
86
|
+
|
|
87
|
+
## What stays operational
|
|
88
|
+
|
|
89
|
+
- machine-local runtime notes
|
|
90
|
+
- private notes
|
|
91
|
+
- short-lived observations (with optional TTL)
|
|
92
|
+
- reflective candidates awaiting review
|
|
93
|
+
- event log and audit trail
|
|
94
|
+
|
|
95
|
+
## Why this model matters
|
|
96
|
+
|
|
97
|
+
The storage model is part of the product value:
|
|
98
|
+
|
|
99
|
+
- local-first — no cloud dependency
|
|
100
|
+
- inspectable — plain text + JSON
|
|
101
|
+
- Git-friendly — entity-per-file, readable diffs
|
|
102
|
+
- reversible — `.brainclaw/.git` history + rollback
|
|
103
|
+
- mutation-safe — serialized writes, atomic file operations
|
|
104
|
+
- suitable for both humans and agents
|
|
105
|
+
|
|
106
|
+
## Related pages
|
|
107
|
+
|
|
108
|
+
- [concepts/memory.md](concepts/memory.md)
|
|
109
|
+
- [concepts/runtime-notes.md](concepts/runtime-notes.md)
|
|
110
|
+
- [security.md](security.md)
|
package/package.json
CHANGED
|
@@ -1,69 +1,86 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "brainclaw",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Shared project memory for humans and coding agents.",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
},
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"test
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"cli",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "brainclaw",
|
|
3
|
+
"version": "1.9.1",
|
|
4
|
+
"description": "Shared project memory for humans and coding agents.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/jberdah/brainclaw.git"
|
|
9
|
+
},
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/jberdah/brainclaw/issues"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://brainclaw.dev",
|
|
14
|
+
"bin": {
|
|
15
|
+
"brainclaw": "dist/cli.js",
|
|
16
|
+
"bclaw": "dist/cli.js"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist/**/*.js",
|
|
20
|
+
"dist/core/default-profiles/*.yaml",
|
|
21
|
+
"dist/brainclaw-vscode.vsix",
|
|
22
|
+
"dist/facts.json",
|
|
23
|
+
"docs/**/*.md",
|
|
24
|
+
"!docs/concepts/*proposal*.md",
|
|
25
|
+
"!docs/concepts/*critique*.md",
|
|
26
|
+
"!docs/concepts/*phase0-measurements*.md",
|
|
27
|
+
"README.md",
|
|
28
|
+
"LICENSE"
|
|
29
|
+
],
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20.0.0"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"clean:build": "node scripts/clean-build.mjs dist dist-test",
|
|
38
|
+
"clean:dist": "node scripts/clean-build.mjs dist",
|
|
39
|
+
"clean:dist-test": "node scripts/clean-build.mjs dist-test",
|
|
40
|
+
"build": "npm run build:cli && node scripts/build-vsix.mjs --optional",
|
|
41
|
+
"build:cli": "npm run clean:dist && tsc && node scripts/copy-default-profiles.mjs",
|
|
42
|
+
"build:release": "npm run build:cli && node scripts/emit-site-facts.mjs && node scripts/build-vsix.mjs",
|
|
43
|
+
"emit:facts": "npm run build:cli && node scripts/emit-site-facts.mjs",
|
|
44
|
+
"dev": "npm run clean:dist && tsc && node scripts/copy-default-profiles.mjs && node dist/cli.js",
|
|
45
|
+
"dev:mcp": "tsc && node scripts/copy-default-profiles.mjs",
|
|
46
|
+
"build:mcp-schemas": "npm run clean:dist && tsc && node scripts/build-mcp-schemas.mjs",
|
|
47
|
+
"dev:link": "npm link && echo 'Symlink created: global brainclaw → local repo. MCP agents now use dist/ directly.'",
|
|
48
|
+
"build:test": "npm run build:cli && npm run clean:dist-test && tsc -p tsconfig.test.json",
|
|
49
|
+
"pack:check": "node scripts/check-pack.mjs",
|
|
50
|
+
"lint": "eslint .",
|
|
51
|
+
"lint:fix": "eslint . --fix",
|
|
52
|
+
"test": "npm run build:test && node scripts/run-tests.mjs default",
|
|
53
|
+
"test:unit": "npm run build:test && node scripts/run-tests.mjs unit",
|
|
54
|
+
"test:smoke": "npm run build:test && node scripts/run-tests.mjs smoke",
|
|
55
|
+
"test:e2e": "npm run build:test && node scripts/run-tests.mjs e2e",
|
|
56
|
+
"test:all": "npm run build:test && node scripts/run-tests.mjs all",
|
|
57
|
+
"test:cross": "npm run build:test && node scripts/test-cross.mjs default",
|
|
58
|
+
"test:coverage": "npm run build:test && c8 --all --src dist-test/src --reporter=text-summary --reporter=lcov --exclude=dist-test/tests/** --exclude=dist-test/scripts/** node scripts/run-tests.mjs default",
|
|
59
|
+
"test:coverage:check": "npm run build:test && c8 --all --check-coverage --lines 55 --functions 60 --branches 65 --statements 55 --src dist-test/src --reporter=text-summary --exclude=dist-test/tests/** --exclude=dist-test/scripts/** node scripts/run-tests.mjs default",
|
|
60
|
+
"prepublishOnly": "npm run build:release && npm run pack:check"
|
|
61
|
+
},
|
|
62
|
+
"keywords": [
|
|
63
|
+
"cli",
|
|
64
|
+
"memory",
|
|
65
|
+
"agents",
|
|
66
|
+
"coding-agents",
|
|
67
|
+
"project-context",
|
|
68
|
+
"handoff",
|
|
69
|
+
"local-first"
|
|
70
|
+
],
|
|
71
|
+
"license": "MIT",
|
|
72
|
+
"dependencies": {
|
|
73
|
+
"commander": "^14.0.3",
|
|
74
|
+
"yaml": "^2.7.1",
|
|
75
|
+
"zod": "^4.4.3"
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@eslint/js": "^10.0.1",
|
|
79
|
+
"@types/node": "^24.12.2",
|
|
80
|
+
"ajv": "^8.20.0",
|
|
81
|
+
"c8": "^11.0.0",
|
|
82
|
+
"eslint": "^10.5.0",
|
|
83
|
+
"typescript": "^6.0.3",
|
|
84
|
+
"typescript-eslint": "^8.61.1"
|
|
85
|
+
}
|
|
86
|
+
}
|