@spilno/herald-mcp 1.28.0 → 1.28.2
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 +89 -102
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,157 +18,144 @@ AI agents start fresh each session. Herald gives them memory:
|
|
|
18
18
|
## Quick Start
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
|
|
21
|
+
cd your-project
|
|
22
22
|
npx @spilno/herald-mcp init
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**That's it.** Context is derived from your folder path automatically. Zero config.
|
|
26
|
+
|
|
27
|
+
Then start Claude Code and say `herald health` to verify.
|
|
23
28
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
## Init Options
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx @spilno/herald-mcp init [options]
|
|
27
33
|
```
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
| Option | Description |
|
|
36
|
+
|--------|-------------|
|
|
37
|
+
| `--force`, `-f` | Overwrite existing config |
|
|
38
|
+
| `--no-claude-md` | Skip CLAUDE.md modification |
|
|
39
|
+
| `--help`, `-h` | Show help |
|
|
40
|
+
|
|
41
|
+
Context tags are derived automatically from your folder path - no configuration needed.
|
|
30
42
|
|
|
31
43
|
## Core Tools
|
|
32
44
|
|
|
33
45
|
| Tool | Purpose |
|
|
34
46
|
|------|---------|
|
|
35
|
-
| `herald_predict` | Generate structure from natural language |
|
|
36
|
-
| `herald_refine` | Refine predictions with feedback |
|
|
37
47
|
| `herald_patterns` | Query what worked before |
|
|
38
48
|
| `herald_reflect` | Capture patterns and antipatterns |
|
|
49
|
+
| `herald_predict` | Generate structure from natural language |
|
|
50
|
+
| `herald_refine` | Refine predictions with feedback |
|
|
39
51
|
| `herald_feedback` | Reinforce helpful patterns |
|
|
40
52
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
AI: herald_patterns()
|
|
45
|
-
→ Returns: patterns that worked, antipatterns to avoid
|
|
53
|
+
## Pattern Capture
|
|
46
54
|
|
|
47
|
-
|
|
48
|
-
→ Returns: structured prediction based on accumulated patterns
|
|
55
|
+
When something works or fails, capture it:
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
```
|
|
58
|
+
User: "Herald reflect - that was smooth"
|
|
59
|
+
Claude: "What specifically worked?"
|
|
60
|
+
User: "The ASCII visualization approach"
|
|
61
|
+
→ Pattern captured, available in future sessions
|
|
62
|
+
|
|
63
|
+
User: "Herald reflect - that was rough"
|
|
64
|
+
Claude: "What went wrong?"
|
|
65
|
+
User: "Forgot to check existing tests before refactoring"
|
|
66
|
+
→ Antipattern captured, Claude will avoid this
|
|
53
67
|
```
|
|
54
68
|
|
|
55
|
-
##
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Start a session
|
|
59
|
-
herald-mcp predict "create incident report module"
|
|
60
|
-
|
|
61
|
-
# Refine iteratively
|
|
62
|
-
herald-mcp refine "add witness section"
|
|
63
|
-
herald-mcp refine "require photos for severity > 3"
|
|
69
|
+
## How Context Works
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
herald-mcp observe yes
|
|
71
|
+
Herald derives context **automatically** from your working directory:
|
|
67
72
|
|
|
68
|
-
# Resume anytime
|
|
69
|
-
herald-mcp resume
|
|
70
73
|
```
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
### Claude Desktop / Claude Code
|
|
75
|
-
|
|
76
|
-
```json
|
|
77
|
-
{
|
|
78
|
-
"mcpServers": {
|
|
79
|
-
"herald": {
|
|
80
|
-
"command": "npx",
|
|
81
|
-
"args": ["@spilno/herald-mcp"],
|
|
82
|
-
"env": {
|
|
83
|
-
"HERALD_API_URL": "https://getceda.com"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
74
|
+
~/Documents/acme-corp/safety-app
|
|
75
|
+
↓
|
|
76
|
+
Tags: ["acme-corp", "safety-app"]
|
|
88
77
|
```
|
|
89
78
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
| `HERALD_API_URL` | Yes | CEDA server (default: https://getceda.com) |
|
|
95
|
-
| `HERALD_COMPANY` | No | Multi-tenant company context |
|
|
96
|
-
| `HERALD_PROJECT` | No | Project context |
|
|
97
|
-
| `HERALD_USER` | No | User context |
|
|
79
|
+
Patterns are matched by **tag overlap**, not rigid hierarchy:
|
|
80
|
+
- Your patterns in `project-a` can help in `project-b` if they share tags
|
|
81
|
+
- No need to configure company/project/user upfront
|
|
82
|
+
- Structure emerges from usage, not configuration
|
|
98
83
|
|
|
99
|
-
##
|
|
84
|
+
## Pattern Reach
|
|
100
85
|
|
|
101
|
-
Patterns
|
|
86
|
+
Patterns expand organically through adoption:
|
|
102
87
|
|
|
103
88
|
```
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
CREATOR → Only you see it
|
|
90
|
+
↓
|
|
91
|
+
TAGS → Users with overlapping context tags see it
|
|
92
|
+
↓
|
|
93
|
+
GLOBAL → Everyone sees it (anonymized)
|
|
106
94
|
```
|
|
107
95
|
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
export HERALD_COMPANY=acme
|
|
111
|
-
export HERALD_PROJECT=safety-modules
|
|
112
|
-
```
|
|
96
|
+
Reach expands when others validate your patterns work for them too.
|
|
113
97
|
|
|
114
|
-
##
|
|
98
|
+
## Configuration
|
|
115
99
|
|
|
116
|
-
|
|
100
|
+
### Files Created by Init
|
|
117
101
|
|
|
118
|
-
|
|
|
102
|
+
| File | Purpose |
|
|
119
103
|
|------|---------|
|
|
120
|
-
| `
|
|
121
|
-
| `
|
|
122
|
-
| `herald_query_insights` | Query shared insights |
|
|
123
|
-
| `herald_sync` | Flush local buffer to cloud |
|
|
104
|
+
| `.claude/settings.local.json` | MCP server configuration |
|
|
105
|
+
| `CLAUDE.md` | Project instructions with Herald integration |
|
|
124
106
|
|
|
125
|
-
|
|
107
|
+
### Environment Variables
|
|
126
108
|
|
|
127
|
-
|
|
109
|
+
| Variable | Default | Description |
|
|
110
|
+
|----------|---------|-------------|
|
|
111
|
+
| `CEDA_URL` | `https://getceda.com` | CEDA backend URL |
|
|
112
|
+
| `HERALD_USER` | System username | User identity (optional override) |
|
|
128
113
|
|
|
129
|
-
|
|
130
|
-
herald-mcp chat
|
|
131
|
-
```
|
|
114
|
+
## Troubleshooting
|
|
132
115
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
116
|
+
### Old version loading after update
|
|
117
|
+
|
|
118
|
+
If `herald health` shows an old version after updating:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# Clear npx cache
|
|
122
|
+
rm -rf ~/.npm/_npx/*
|
|
136
123
|
|
|
137
|
-
|
|
138
|
-
|
|
124
|
+
# Verify latest version
|
|
125
|
+
npm view @spilno/herald-mcp version
|
|
139
126
|
|
|
140
|
-
|
|
141
|
-
Herald: Module accepted and saved.
|
|
127
|
+
# Restart Claude Code
|
|
142
128
|
```
|
|
143
129
|
|
|
144
|
-
|
|
130
|
+
The `@latest` tag can be cached by npx. Clearing the cache forces a fresh fetch.
|
|
131
|
+
|
|
132
|
+
### Verify installation
|
|
145
133
|
|
|
146
134
|
```bash
|
|
147
|
-
|
|
148
|
-
herald-mcp
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
herald-mcp resume # Resume last session
|
|
152
|
-
herald-mcp observe <yes|no> # Accept or reject prediction
|
|
153
|
-
herald-mcp new # Start fresh session
|
|
154
|
-
herald-mcp health # Check CEDA connection
|
|
155
|
-
herald-mcp stats # Show loaded patterns
|
|
135
|
+
# Check what npm registry has
|
|
136
|
+
npm view @spilno/herald-mcp version
|
|
137
|
+
|
|
138
|
+
# Should match what herald health shows
|
|
156
139
|
```
|
|
157
140
|
|
|
158
141
|
## Architecture
|
|
159
142
|
|
|
160
143
|
```
|
|
161
144
|
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
162
|
-
│
|
|
163
|
-
│
|
|
164
|
-
│
|
|
145
|
+
│ Claude │────▶│ Herald │────▶│ CEDA │
|
|
146
|
+
│ Code │ │ (MCP) │ │ (Pattern │
|
|
147
|
+
│ │◀────│ │◀────│ Memory) │
|
|
165
148
|
└─────────────┘ └─────────────┘ └─────────────┘
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
│
|
|
149
|
+
│ │
|
|
150
|
+
│ ┌──────┴──────┐
|
|
151
|
+
│ │ Tags │
|
|
152
|
+
└───────────▶│ Patterns │
|
|
153
|
+
│ Reach │
|
|
171
154
|
└─────────────┘
|
|
155
|
+
|
|
156
|
+
Context derived from folder path → Tags
|
|
157
|
+
Patterns matched by tag overlap
|
|
158
|
+
Reach expands through adoption
|
|
172
159
|
```
|
|
173
160
|
|
|
174
161
|
## What is CEDA?
|
|
@@ -193,4 +180,4 @@ MIT
|
|
|
193
180
|
|
|
194
181
|
---
|
|
195
182
|
|
|
196
|
-
*Herald v1.
|
|
183
|
+
*Herald v1.28.2 — Pattern memory for AI agents*
|
package/dist/index.js
CHANGED
|
@@ -42,7 +42,7 @@ const HERALD_VAULT = process.env.HERALD_VAULT || "";
|
|
|
42
42
|
const AEGIS_OFFSPRING_PATH = process.env.AEGIS_OFFSPRING_PATH || join(homedir(), "Documents", "aegis_ceda", "_offspring");
|
|
43
43
|
// Cloud mode: Use CEDA API for offspring communication instead of local files
|
|
44
44
|
const OFFSPRING_CLOUD_MODE = process.env.HERALD_OFFSPRING_CLOUD === "true";
|
|
45
|
-
const VERSION = "1.28.
|
|
45
|
+
const VERSION = "1.28.2";
|
|
46
46
|
// Self-routing description - teaches Claude when to call Herald
|
|
47
47
|
const HERALD_DESCRIPTION = `AI-native pattern learning for CEDA.
|
|
48
48
|
|