@spilno/herald-mcp 1.5.0 → 1.5.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/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +33 -27
- package/dist/cli/init.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/init.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Herald MCP Init CLI
|
|
4
4
|
*
|
|
5
|
-
* Creates .claude/
|
|
5
|
+
* Creates .claude/mcp.json with Herald MCP configuration
|
|
6
6
|
* and updates CLAUDE.md with Herald integration instructions.
|
|
7
7
|
*
|
|
8
8
|
* Usage: npx @spilno/herald-mcp init [options]
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAqDH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAqBzD;AAED,wBAAgB,OAAO,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,IAAI,CA4FjD"}
|
package/dist/cli/init.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Herald MCP Init CLI
|
|
4
4
|
*
|
|
5
|
-
* Creates .claude/
|
|
5
|
+
* Creates .claude/mcp.json with Herald MCP configuration
|
|
6
6
|
* and updates CLAUDE.md with Herald integration instructions.
|
|
7
7
|
*
|
|
8
8
|
* Usage: npx @spilno/herald-mcp init [options]
|
|
@@ -10,40 +10,45 @@
|
|
|
10
10
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
11
11
|
import { join, basename } from "path";
|
|
12
12
|
import { updateClaudeMdContent } from "./templates/claude-md.js";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
function createHeraldConfig(context) {
|
|
14
|
+
return {
|
|
15
|
+
mcpServers: {
|
|
16
|
+
herald: {
|
|
17
|
+
command: "npx",
|
|
18
|
+
args: ["-y", "@spilno/herald-mcp"],
|
|
19
|
+
env: {
|
|
20
|
+
HERALD_API_URL: "https://getceda.com",
|
|
21
|
+
HERALD_COMPANY: context.company,
|
|
22
|
+
HERALD_PROJECT: context.project,
|
|
23
|
+
HERALD_USER: context.user
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
24
29
|
function printInitHelp() {
|
|
25
30
|
console.log(`
|
|
26
|
-
Herald MCP Init - Configure Claude
|
|
31
|
+
Herald MCP Init - Configure Claude Code for Herald
|
|
27
32
|
|
|
28
33
|
Usage:
|
|
29
34
|
npx @spilno/herald-mcp init [options]
|
|
30
35
|
|
|
31
36
|
Options:
|
|
32
37
|
--help, -h Show this help message
|
|
33
|
-
--force, -f Overwrite existing
|
|
38
|
+
--force, -f Overwrite existing mcp.json
|
|
34
39
|
--company, -c Company context (e.g., goprint)
|
|
35
40
|
--project, -p Project context (e.g., mobidruk)
|
|
36
41
|
--user, -u User context (default: plumber)
|
|
37
42
|
--no-claude-md Skip CLAUDE.md modification
|
|
38
43
|
|
|
39
44
|
What it does:
|
|
40
|
-
1. Creates .claude/
|
|
45
|
+
1. Creates .claude/mcp.json with Herald MCP server configuration
|
|
41
46
|
2. Creates/updates CLAUDE.md with Herald integration instructions
|
|
42
47
|
|
|
43
48
|
After running init:
|
|
44
|
-
1.
|
|
49
|
+
1. Restart Claude Code (or start a new session)
|
|
45
50
|
2. Herald will be available as an MCP server
|
|
46
|
-
3. Claude will
|
|
51
|
+
3. Claude will use Herald for pattern learning
|
|
47
52
|
|
|
48
53
|
Example:
|
|
49
54
|
cd my-project
|
|
@@ -84,19 +89,19 @@ export function runInit(args = []) {
|
|
|
84
89
|
const cwd = process.cwd();
|
|
85
90
|
const projectName = basename(cwd);
|
|
86
91
|
const claudeDir = join(cwd, ".claude");
|
|
87
|
-
const
|
|
92
|
+
const mcpConfigPath = join(claudeDir, "mcp.json");
|
|
88
93
|
const claudeMdPath = join(cwd, "CLAUDE.md");
|
|
89
94
|
const context = {
|
|
90
95
|
company: options.company || "default",
|
|
91
96
|
project: options.project || projectName,
|
|
92
97
|
user: options.user || "plumber",
|
|
93
98
|
};
|
|
94
|
-
if (existsSync(
|
|
99
|
+
if (existsSync(mcpConfigPath) && !options.force) {
|
|
95
100
|
console.log(`
|
|
96
|
-
.claude/
|
|
101
|
+
.claude/mcp.json already exists.
|
|
97
102
|
|
|
98
103
|
To view current config:
|
|
99
|
-
cat .claude/
|
|
104
|
+
cat .claude/mcp.json
|
|
100
105
|
|
|
101
106
|
To overwrite:
|
|
102
107
|
npx @spilno/herald-mcp init --force
|
|
@@ -107,26 +112,27 @@ To overwrite:
|
|
|
107
112
|
mkdirSync(claudeDir, { recursive: true });
|
|
108
113
|
console.log("Created .claude directory");
|
|
109
114
|
}
|
|
110
|
-
|
|
111
|
-
|
|
115
|
+
const heraldConfig = createHeraldConfig(context);
|
|
116
|
+
let finalConfig = heraldConfig;
|
|
117
|
+
if (existsSync(mcpConfigPath)) {
|
|
112
118
|
try {
|
|
113
|
-
const existingContent = readFileSync(
|
|
119
|
+
const existingContent = readFileSync(mcpConfigPath, "utf-8");
|
|
114
120
|
const existingConfig = JSON.parse(existingContent);
|
|
115
121
|
finalConfig = {
|
|
116
122
|
...existingConfig,
|
|
117
123
|
mcpServers: {
|
|
118
124
|
...existingConfig.mcpServers,
|
|
119
|
-
...
|
|
125
|
+
...heraldConfig.mcpServers
|
|
120
126
|
}
|
|
121
127
|
};
|
|
122
|
-
console.log("Merging with existing
|
|
128
|
+
console.log("Merging with existing .claude/mcp.json");
|
|
123
129
|
}
|
|
124
130
|
catch {
|
|
125
|
-
console.log("Overwriting invalid
|
|
131
|
+
console.log("Overwriting invalid .claude/mcp.json");
|
|
126
132
|
}
|
|
127
133
|
}
|
|
128
|
-
writeFileSync(
|
|
129
|
-
console.log("Created .mcp.json with Herald config");
|
|
134
|
+
writeFileSync(mcpConfigPath, JSON.stringify(finalConfig, null, 2) + "\n", "utf-8");
|
|
135
|
+
console.log("Created .claude/mcp.json with Herald MCP config");
|
|
130
136
|
if (!options.noClaudeMd) {
|
|
131
137
|
let existingClaudeMd = null;
|
|
132
138
|
if (existsSync(claudeMdPath)) {
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAsB,MAAM,0BAA0B,CAAC;AAErF,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|