@sibyllinesoft/smith-installer 0.1.11 → 0.1.12
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/agents.md +64 -8
- package/dist/cli.js +143 -21
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/skills/detect-system/SKILL.md +6 -5
- package/skills/preflight/SKILL.md +21 -4
- package/skills/start-chat-bridge/SKILL.md +6 -6
- package/skills/verify/SKILL.md +9 -10
package/agents.md
CHANGED
|
@@ -15,8 +15,8 @@ You are the Smith Core installer and configuration agent. Your job is to bootstr
|
|
|
15
15
|
|
|
16
16
|
Run these phases in order unless the user asks for a specific step:
|
|
17
17
|
|
|
18
|
-
1. `infra` — start Docker infrastructure.
|
|
19
|
-
2. `build` —
|
|
18
|
+
1. `infra` — start Docker infrastructure (pulls pre-built images from ghcr.io).
|
|
19
|
+
2. `build` — install pre-built smith-services and agentd binaries via npm.
|
|
20
20
|
3. `npm` — install Node workspace dependencies.
|
|
21
21
|
4. `verify` — run lightweight build checks and tunnel e2e checks when configured.
|
|
22
22
|
5. `configure-agentd` — ensure `.env` defaults are present and, on macOS, enable Gondolin VM pool settings.
|
|
@@ -49,22 +49,22 @@ if [ "$(uname -s)" = "Darwin" ]; then
|
|
|
49
49
|
# SMITH_EXECUTOR_GONDOLIN_ARGS=exec,--
|
|
50
50
|
fi
|
|
51
51
|
|
|
52
|
-
# infra
|
|
52
|
+
# infra (pulls pre-built images from ghcr.io)
|
|
53
53
|
bash infra/envoy/certs/generate-certs.sh
|
|
54
54
|
docker compose up -d
|
|
55
55
|
docker compose ps
|
|
56
56
|
|
|
57
|
-
# build
|
|
58
|
-
|
|
57
|
+
# build (install pre-built binaries)
|
|
58
|
+
npm install -g @sibyllinesoft/smith-services
|
|
59
|
+
npm install -g @sibyllinesoft/agentd
|
|
59
60
|
|
|
60
61
|
# npm
|
|
61
62
|
npm install
|
|
62
|
-
npm install -g @sibyllinesoft/agentd
|
|
63
63
|
|
|
64
64
|
# verify
|
|
65
|
-
cargo check --workspace
|
|
66
65
|
npm run build --workspaces --if-present
|
|
67
|
-
|
|
66
|
+
smith-chat-daemon --help || echo "smith-services not installed (non-fatal)"
|
|
67
|
+
agentd --version || echo "agentd not installed (non-fatal)"
|
|
68
68
|
|
|
69
69
|
# optional tunnel e2e checks when configured in .env
|
|
70
70
|
bash scripts/tunnel-e2e.sh cloudflare
|
|
@@ -107,3 +107,59 @@ When a step fails:
|
|
|
107
107
|
3. Apply the smallest viable fix.
|
|
108
108
|
4. Re-run only the failed command.
|
|
109
109
|
5. Summarize the root cause and the fix applied.
|
|
110
|
+
|
|
111
|
+
### Port Conflicts
|
|
112
|
+
|
|
113
|
+
If Docker Compose fails with "port is already allocated" or "address already in use":
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Linux — identify what is using a port
|
|
117
|
+
ss -tlnp 'sport = :5432'
|
|
118
|
+
|
|
119
|
+
# macOS — identify what is using a port
|
|
120
|
+
lsof -iTCP:5432 -sTCP:LISTEN
|
|
121
|
+
|
|
122
|
+
# If a previous smith-core stack is running
|
|
123
|
+
docker compose down
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Key ports: 4222 (NATS), 5432 (PostgreSQL), 3000 (Grafana), 9200 (MCP Index), 6173 (Envoy), 9901 (Envoy Admin).
|
|
127
|
+
|
|
128
|
+
### Node.js Version Management
|
|
129
|
+
|
|
130
|
+
If `node_22_ok` is `no` in preflight, check `node_version_manager`:
|
|
131
|
+
|
|
132
|
+
- **`fnm` detected**: Run `fnm install 22 && fnm use 22`, then verify with `node -v`.
|
|
133
|
+
- **`nvm` detected**: Run `. "$NVM_DIR/nvm.sh" && nvm install 22 && nvm use 22`, then verify with `node -v`.
|
|
134
|
+
- **`none` detected**: Ask the user which version manager they'd like to install:
|
|
135
|
+
- **fnm** (recommended — single binary, fast):
|
|
136
|
+
```bash
|
|
137
|
+
curl -fsSL https://fnm.vercel.app/install | bash
|
|
138
|
+
```
|
|
139
|
+
- **nvm** (widely used):
|
|
140
|
+
```bash
|
|
141
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
142
|
+
```
|
|
143
|
+
After installation, source the shell profile and install Node 22.
|
|
144
|
+
Remind the user they may need to restart their shell for PATH changes to take effect.
|
|
145
|
+
|
|
146
|
+
### npm Auth Warnings
|
|
147
|
+
|
|
148
|
+
`npm notice Access token expired or revoked` during `npm install -g` is harmless — smith packages are public. This warning appears when npm finds a stale token in `~/.npmrc`. The install will succeed regardless.
|
|
149
|
+
|
|
150
|
+
### Network Configuration
|
|
151
|
+
|
|
152
|
+
When no private network indicator is detected, recommend one of:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Cloudflare Tunnel
|
|
156
|
+
cloudflared tunnel login
|
|
157
|
+
# Then set CLOUDFLARE_TUNNEL_TOKEN in .env
|
|
158
|
+
|
|
159
|
+
# Tailscale
|
|
160
|
+
tailscale up
|
|
161
|
+
# Then set TAILSCALE_AUTHKEY in .env
|
|
162
|
+
|
|
163
|
+
# SSH tunneling (simplest)
|
|
164
|
+
ssh -L 6173:localhost:6173 user@host
|
|
165
|
+
```
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,7 @@ import { pipeline } from "stream/promises";
|
|
|
6
6
|
import { randomBytes } from "crypto";
|
|
7
7
|
import { tmpdir, homedir } from "os";
|
|
8
8
|
import { createInterface } from "readline/promises";
|
|
9
|
+
import { createServer } from "net";
|
|
9
10
|
import { createInstallerSession } from "./agents.js";
|
|
10
11
|
import { parseArgs, findSmithRoot, evaluateInstallerSecurity, readSmithConfig, writeSmithConfig } from "./lib.js";
|
|
11
12
|
const DEFAULT_REPO = "sibyllinesoft/smith-core";
|
|
@@ -185,7 +186,40 @@ function isCommandAvailable(cmd) {
|
|
|
185
186
|
return false;
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
|
-
function
|
|
189
|
+
function detectNodeVersionManager() {
|
|
190
|
+
// fnm is a standalone binary
|
|
191
|
+
try {
|
|
192
|
+
execFileSync("fnm", ["--version"], { stdio: "ignore" });
|
|
193
|
+
return { name: "fnm", dir: "" };
|
|
194
|
+
}
|
|
195
|
+
catch { }
|
|
196
|
+
// nvm is a shell function sourced from NVM_DIR/nvm.sh
|
|
197
|
+
const nvmDir = process.env.NVM_DIR || join(homedir(), ".nvm");
|
|
198
|
+
if (existsSync(join(nvmDir, "nvm.sh"))) {
|
|
199
|
+
return { name: "nvm", dir: nvmDir };
|
|
200
|
+
}
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
const REQUIRED_PORTS = [
|
|
204
|
+
[4222, "NATS"],
|
|
205
|
+
[5432, "PostgreSQL"],
|
|
206
|
+
[3000, "Grafana"],
|
|
207
|
+
[9200, "MCP Index"],
|
|
208
|
+
[6173, "Envoy mTLS Gateway"],
|
|
209
|
+
[9901, "Envoy Admin"],
|
|
210
|
+
];
|
|
211
|
+
function checkPortAvailable(port, host = "127.0.0.1") {
|
|
212
|
+
return new Promise((resolve) => {
|
|
213
|
+
const server = createServer();
|
|
214
|
+
server.once("error", () => resolve(false));
|
|
215
|
+
server.once("listening", () => {
|
|
216
|
+
server.close();
|
|
217
|
+
resolve(true);
|
|
218
|
+
});
|
|
219
|
+
server.listen(port, host);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
async function runPreflightChecks() {
|
|
189
223
|
const errors = [];
|
|
190
224
|
// Check Docker
|
|
191
225
|
if (!isCommandAvailable("docker")) {
|
|
@@ -210,7 +244,10 @@ function runPreflightChecks() {
|
|
|
210
244
|
const nodeVersion = process.versions.node;
|
|
211
245
|
const major = parseInt(nodeVersion.split(".")[0], 10);
|
|
212
246
|
if (major < 20) {
|
|
213
|
-
errors.push(`Node.js ${nodeVersion} detected but >=20 is required
|
|
247
|
+
errors.push(`Node.js v${nodeVersion} detected but >=20 is required (>=22 recommended).\n` +
|
|
248
|
+
` Install with nvm: nvm install 22 && nvm use 22\n` +
|
|
249
|
+
` Install with fnm: fnm install 22 && fnm use 22\n` +
|
|
250
|
+
` Or download from: https://nodejs.org/`);
|
|
214
251
|
}
|
|
215
252
|
if (errors.length > 0) {
|
|
216
253
|
console.error("\n[preflight] Missing prerequisites:\n");
|
|
@@ -222,10 +259,39 @@ function runPreflightChecks() {
|
|
|
222
259
|
}
|
|
223
260
|
console.log(`[preflight] Docker OK, Node.js ${nodeVersion} OK`);
|
|
224
261
|
if (major < 22) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
262
|
+
const versionManager = detectNodeVersionManager();
|
|
263
|
+
if (versionManager) {
|
|
264
|
+
const cmd = versionManager.name;
|
|
265
|
+
console.warn(`\n[preflight] Warning: Node.js v${nodeVersion} detected — runtime services require Node >= 22.\n` +
|
|
266
|
+
`[preflight] Affected: pi-bridge, smith-cron, session-recorder (local dev only;\n` +
|
|
267
|
+
`[preflight] Docker containers use Node 22 regardless).\n` +
|
|
268
|
+
`[preflight] Detected ${cmd}. Upgrade with: ${cmd} install 22 && ${cmd} use 22\n`);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
console.warn(`\n[preflight] Warning: Node.js v${nodeVersion} detected — runtime services require Node >= 22.\n` +
|
|
272
|
+
`[preflight] Affected: pi-bridge, smith-cron, session-recorder (local dev only;\n` +
|
|
273
|
+
`[preflight] Docker containers use Node 22 regardless).\n` +
|
|
274
|
+
`[preflight] No version manager (nvm/fnm) detected — the installer agent can help set one up.\n`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// Check port availability for Docker services
|
|
278
|
+
const portConflicts = [];
|
|
279
|
+
for (const [port, service] of REQUIRED_PORTS) {
|
|
280
|
+
const available = await checkPortAvailable(port);
|
|
281
|
+
if (!available) {
|
|
282
|
+
portConflicts.push([port, service]);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (portConflicts.length > 0) {
|
|
286
|
+
console.warn("\n[preflight] Port conflicts detected — these ports are already in use:");
|
|
287
|
+
for (const [port, service] of portConflicts) {
|
|
288
|
+
console.warn(`[preflight] :${port} (${service})`);
|
|
289
|
+
}
|
|
290
|
+
console.warn(`[preflight]\n` +
|
|
291
|
+
`[preflight] Docker Compose will fail if these ports are not freed.\n` +
|
|
292
|
+
`[preflight] To identify the process: ss -tlnp 'sport = :PORT' (Linux)\n` +
|
|
293
|
+
`[preflight] lsof -iTCP:PORT -sTCP:LISTEN (macOS)\n` +
|
|
294
|
+
`[preflight] If a previous smith-core stack is running: docker compose down\n`);
|
|
229
295
|
}
|
|
230
296
|
}
|
|
231
297
|
function ensureMacOsGondolinDefaults(smithRoot) {
|
|
@@ -319,6 +385,33 @@ function ensureSecurityDefaults(smithRoot) {
|
|
|
319
385
|
configured.push(key);
|
|
320
386
|
}
|
|
321
387
|
};
|
|
388
|
+
// Database / service password hardening — replace known weak defaults
|
|
389
|
+
const weakPasswords = [
|
|
390
|
+
["POSTGRES_PASSWORD", ["smith-dev", "postgres", "password", "changeme"]],
|
|
391
|
+
["CLICKHOUSE_PASSWORD", ["observability-dev", "clickhouse", "password", "changeme"]],
|
|
392
|
+
["GRAFANA_ADMIN_PASSWORD", ["admin", "grafana", "password", "changeme"]],
|
|
393
|
+
];
|
|
394
|
+
for (const [key, weakValues] of weakPasswords) {
|
|
395
|
+
const current = (vars[key] ?? "").trim();
|
|
396
|
+
if (current.length === 0 || weakValues.includes(current)) {
|
|
397
|
+
const newPassword = generateHexSecret(16); // 32-char hex
|
|
398
|
+
upsertEnvValue(envPath, key, newPassword);
|
|
399
|
+
// Update connection strings that embed the old password
|
|
400
|
+
if (key === "POSTGRES_PASSWORD" && current.length > 0) {
|
|
401
|
+
const connKeys = ["SMITH_DATABASE_URL", "PI_BRIDGE_PG"];
|
|
402
|
+
for (const connKey of connKeys) {
|
|
403
|
+
const connStr = (vars[connKey] ?? "").trim();
|
|
404
|
+
if (connStr && connStr.includes(`:${current}@`)) {
|
|
405
|
+
const updated = connStr.replace(`:${current}@`, `:${newPassword}@`);
|
|
406
|
+
upsertEnvValue(envPath, connKey, updated);
|
|
407
|
+
vars[connKey] = updated;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
vars[key] = newPassword;
|
|
412
|
+
generated.push(key);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
322
415
|
// MCP index / sidecar API hardening
|
|
323
416
|
ensureToken("MCP_INDEX_API_TOKEN", 24, 24);
|
|
324
417
|
ensureToken("MCP_SIDECAR_API_TOKEN", 24, 24);
|
|
@@ -346,6 +439,42 @@ function ensureSecurityDefaults(smithRoot) {
|
|
|
346
439
|
console.log(`[installer] Applied security defaults in .env (${details})`);
|
|
347
440
|
}
|
|
348
441
|
}
|
|
442
|
+
function tryInstallSmithServices(smithRoot) {
|
|
443
|
+
const platform = process.platform;
|
|
444
|
+
const arch = process.arch;
|
|
445
|
+
const platformTag = `${platform}-${arch}`;
|
|
446
|
+
const supported = {
|
|
447
|
+
"linux-x64": "@sibyllinesoft/smith-services-linux-x64",
|
|
448
|
+
"darwin-arm64": "@sibyllinesoft/smith-services-darwin-arm64",
|
|
449
|
+
};
|
|
450
|
+
if (!supported[platformTag]) {
|
|
451
|
+
console.warn(`[installer] smith-services: no pre-built binaries for ${platformTag}.\n` +
|
|
452
|
+
`[installer] Supported platforms: ${Object.keys(supported).join(", ")}.\n` +
|
|
453
|
+
`[installer] To build from source: cargo build --workspace\n` +
|
|
454
|
+
`[installer] Skipping smith-services install (non-fatal).`);
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
try {
|
|
458
|
+
runCommand(smithRoot, { command: "npm", args: ["install", "-g", "@sibyllinesoft/smith-services"] });
|
|
459
|
+
}
|
|
460
|
+
catch {
|
|
461
|
+
console.warn(`\n[installer] smith-services installation failed.\n` +
|
|
462
|
+
`[installer] The platform package ${supported[platformTag]} may not be published yet.\n` +
|
|
463
|
+
`[installer] This is non-fatal — you can build from source: cargo build --workspace\n` +
|
|
464
|
+
`[installer] To retry later: npm install -g @sibyllinesoft/smith-services\n`);
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
// Verify at least one binary works
|
|
468
|
+
try {
|
|
469
|
+
execFileSync("smith-chat-daemon", ["--help"], { stdio: "pipe", env: process.env });
|
|
470
|
+
console.log("[installer] smith-services installed and verified.");
|
|
471
|
+
}
|
|
472
|
+
catch {
|
|
473
|
+
console.warn(`\n[installer] smith-services package installed but binaries not functional on ${platformTag}.\n` +
|
|
474
|
+
`[installer] The platform package ${supported[platformTag]} may be missing from the registry.\n` +
|
|
475
|
+
`[installer] This is non-fatal — you can build from source: cargo build --workspace\n`);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
349
478
|
function tryInstallAgentd(smithRoot) {
|
|
350
479
|
const platform = process.platform;
|
|
351
480
|
const arch = process.arch;
|
|
@@ -442,23 +571,18 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
|
|
|
442
571
|
all: [
|
|
443
572
|
{ command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
|
|
444
573
|
{ command: "docker", args: ["compose", "up", "-d"] },
|
|
445
|
-
{ command: "cargo", args: ["build", "--workspace"] },
|
|
446
574
|
{ command: "npm", args: ["install"] },
|
|
447
|
-
{ command: "cargo", args: ["check", "--workspace"] },
|
|
448
575
|
{ command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
|
|
449
576
|
],
|
|
450
577
|
infra: [
|
|
451
578
|
{ command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
|
|
452
579
|
{ command: "docker", args: ["compose", "up", "-d"] },
|
|
453
580
|
],
|
|
454
|
-
build: [
|
|
455
|
-
{ command: "cargo", args: ["build", "--workspace"] },
|
|
456
|
-
],
|
|
581
|
+
build: [],
|
|
457
582
|
npm: [
|
|
458
583
|
{ command: "npm", args: ["install"] },
|
|
459
584
|
],
|
|
460
585
|
verify: [
|
|
461
|
-
{ command: "cargo", args: ["check", "--workspace"] },
|
|
462
586
|
{ command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
|
|
463
587
|
],
|
|
464
588
|
"25": [
|
|
@@ -468,11 +592,8 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
|
|
|
468
592
|
{ command: "bash", args: ["infra/envoy/certs/generate-certs.sh"] },
|
|
469
593
|
{ command: "docker", args: ["compose", "up", "-d"] },
|
|
470
594
|
],
|
|
471
|
-
"40": [
|
|
472
|
-
{ command: "cargo", args: ["build", "--workspace"] },
|
|
473
|
-
],
|
|
595
|
+
"40": [],
|
|
474
596
|
"90": [
|
|
475
|
-
{ command: "cargo", args: ["check", "--workspace"] },
|
|
476
597
|
{ command: "npm", args: ["run", "build", "--workspaces", "--if-present"] },
|
|
477
598
|
],
|
|
478
599
|
"configure-policy": [
|
|
@@ -500,9 +621,10 @@ function runNonInteractiveBootstrap(smithRoot, step, force) {
|
|
|
500
621
|
if (infraSteps.includes(normalizedStep)) {
|
|
501
622
|
waitForDockerHealth(smithRoot);
|
|
502
623
|
}
|
|
503
|
-
// Install
|
|
504
|
-
const
|
|
505
|
-
if (
|
|
624
|
+
// Install pre-built binaries (non-fatal) after build/all steps
|
|
625
|
+
const binarySteps = ["all", "build", "40"];
|
|
626
|
+
if (binarySteps.includes(normalizedStep)) {
|
|
627
|
+
tryInstallSmithServices(smithRoot);
|
|
506
628
|
tryInstallAgentd(smithRoot);
|
|
507
629
|
}
|
|
508
630
|
if (normalizedStep === "all" || normalizedStep === "verify" || normalizedStep === "90") {
|
|
@@ -519,7 +641,7 @@ Options:
|
|
|
519
641
|
--provider <name> LLM provider (default: anthropic)
|
|
520
642
|
--model <id> Model ID (default: claude-sonnet-4-20250514)
|
|
521
643
|
--thinking <level> Thinking level: none, low, medium, high (default: medium)
|
|
522
|
-
--step <name> Run one step: all, infra, build, npm, verify, policy (also
|
|
644
|
+
--step <name> Run one step: all, infra, build, npm, verify, policy (also 25/30/40/90)
|
|
523
645
|
--force Recreate infrastructure before running infra/all
|
|
524
646
|
--repo <owner/repo> GitHub repository (default: sibyllinesoft/smith-core)
|
|
525
647
|
--ref <tag> Release tag to install (default: latest)
|
|
@@ -540,7 +662,7 @@ async function main() {
|
|
|
540
662
|
printHelp();
|
|
541
663
|
process.exit(0);
|
|
542
664
|
}
|
|
543
|
-
runPreflightChecks();
|
|
665
|
+
await runPreflightChecks();
|
|
544
666
|
// Resolve smith-core location
|
|
545
667
|
const existingConfig = readSmithConfig();
|
|
546
668
|
let smithRoot;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@ uname -a
|
|
|
10
10
|
node -v
|
|
11
11
|
docker --version
|
|
12
12
|
docker compose version
|
|
13
|
-
cargo --version
|
|
13
|
+
cargo --version 2>/dev/null || echo "cargo not installed (optional — pre-built binaries available)"
|
|
14
14
|
|
|
15
15
|
if [ "$(uname -s)" = "Darwin" ]; then
|
|
16
16
|
command -v gondolin
|
|
@@ -25,7 +25,7 @@ This skill gathers the minimum environment facts needed before bootstrap.
|
|
|
25
25
|
1. Confirms host OS/kernel information.
|
|
26
26
|
2. Confirms Node.js runtime availability.
|
|
27
27
|
3. Confirms Docker engine and Compose plugin availability.
|
|
28
|
-
4.
|
|
28
|
+
4. Checks for Rust toolchain (optional — pre-built binaries are available via npm).
|
|
29
29
|
5. On macOS, confirms Gondolin is installed for persistent VM sandbox mode.
|
|
30
30
|
6. Establishes whether the machine can run the standard Smith Core flow.
|
|
31
31
|
|
|
@@ -51,17 +51,18 @@ cargo 1.xx.x ...
|
|
|
51
51
|
|
|
52
52
|
- Missing `node` means installer and Node workspaces cannot run.
|
|
53
53
|
- Missing `docker compose` means infrastructure cannot start.
|
|
54
|
-
- Missing `cargo`
|
|
54
|
+
- Missing `cargo` is non-blocking — pre-built binaries are installed via `npm install -g @sibyllinesoft/smith-services`. Cargo is only needed to build from source.
|
|
55
55
|
- On macOS, missing `gondolin` means persistent VM sandbox sessions cannot start.
|
|
56
56
|
|
|
57
57
|
## Common Failures
|
|
58
58
|
|
|
59
59
|
| Symptom | Cause | Fix |
|
|
60
60
|
|---------|-------|-----|
|
|
61
|
-
| `node: command not found` | Node.js missing | Install Node 22
|
|
61
|
+
| `node: command not found` | Node.js missing | Install Node 22+: `nvm install 22` or `fnm install 22` |
|
|
62
|
+
| Node < 22 detected | Older Node.js version | Upgrade: `nvm install 22 && nvm use 22` (or `fnm install 22 && fnm use 22`) |
|
|
62
63
|
| `docker: command not found` | Docker missing | Install Docker engine |
|
|
63
64
|
| `docker compose` unknown command | Compose plugin missing | Install Docker Compose plugin |
|
|
64
|
-
| `cargo: command not found` | Rust toolchain missing | Install Rust via rustup |
|
|
65
|
+
| `cargo: command not found` | Rust toolchain missing | Optional — pre-built binaries available via npm. Install Rust via rustup only if building from source |
|
|
65
66
|
| `gondolin: command not found` (macOS) | Gondolin missing | Install Gondolin and verify `gondolin help` works |
|
|
66
67
|
|
|
67
68
|
## Notes
|
|
@@ -30,15 +30,25 @@ NODE_VERSION="$(node -v 2>/dev/null || echo missing)"
|
|
|
30
30
|
NODE_MAJOR="${NODE_VERSION#v}"
|
|
31
31
|
NODE_MAJOR="${NODE_MAJOR%%.*}"
|
|
32
32
|
|
|
33
|
+
# Detect node version manager
|
|
34
|
+
if command -v fnm >/dev/null 2>&1; then
|
|
35
|
+
NODE_VM="fnm"
|
|
36
|
+
elif [ -f "${NVM_DIR:-$HOME/.nvm}/nvm.sh" ]; then
|
|
37
|
+
NODE_VM="nvm"
|
|
38
|
+
else
|
|
39
|
+
NODE_VM="none"
|
|
40
|
+
fi
|
|
41
|
+
|
|
33
42
|
cat > var/installer/preflight.json <<JSON
|
|
34
43
|
{
|
|
35
44
|
"env_source": "'${ENV_SOURCE}'",
|
|
36
45
|
"node": "'${NODE_VERSION}'",
|
|
37
46
|
"node_major": "'${NODE_MAJOR}'",
|
|
38
47
|
"node_22_ok": "'$( [ "${NODE_MAJOR}" -ge 22 ] 2>/dev/null && echo yes || echo no )'",
|
|
48
|
+
"node_version_manager": "'${NODE_VM}'",
|
|
39
49
|
"docker": "'$(docker --version 2>/dev/null || echo missing)'",
|
|
40
50
|
"compose": "'$(docker compose version 2>/dev/null || echo missing)'",
|
|
41
|
-
"cargo": "'$(cargo --version 2>/dev/null || echo
|
|
51
|
+
"cargo": "'$(cargo --version 2>/dev/null || echo optional)'",
|
|
42
52
|
"postgres_password_default": "'$( [ "${POSTGRES_PASSWORD}" = "smith-dev" ] && echo yes || echo no )'",
|
|
43
53
|
"mcp_index_token_set": "'$( [ -n "${MCP_INDEX_API_TOKEN}" ] && echo yes || echo no )'",
|
|
44
54
|
"cloudflare_tunnel_hint": "'$( [ -n "${CLOUDFLARE_TUNNEL_TOKEN}" ] && echo yes || echo no )'",
|
|
@@ -70,9 +80,10 @@ A JSON document exists at `var/installer/preflight.json` and includes:
|
|
|
70
80
|
- `node` — full version string
|
|
71
81
|
- `node_major` — major version number
|
|
72
82
|
- `node_22_ok` — `yes` if Node >= 22 (recommended for runtime services)
|
|
83
|
+
- `node_version_manager` — `fnm`, `nvm`, or `none`
|
|
73
84
|
- `docker`
|
|
74
85
|
- `compose`
|
|
75
|
-
- `cargo`
|
|
86
|
+
- `cargo` — `optional` if not installed (pre-built binaries available via npm)
|
|
76
87
|
- `postgres_password_default`
|
|
77
88
|
- `mcp_index_token_set`
|
|
78
89
|
- `cloudflare_tunnel_hint`
|
|
@@ -80,10 +91,13 @@ A JSON document exists at `var/installer/preflight.json` and includes:
|
|
|
80
91
|
|
|
81
92
|
## Reading Results
|
|
82
93
|
|
|
83
|
-
-
|
|
84
|
-
- If `node_22_ok` is `no`, warn that runtime services (pi-bridge, smith-cron, session-recorder) require Node >= 22 for local development. Docker containers use Node 22 regardless, so this only affects running services outside Docker.
|
|
94
|
+
- A `missing` value for `node`, `docker`, or `compose` is a hard blocker for full bootstrap. A `cargo` value of `optional` is non-blocking since pre-built binaries are available.
|
|
95
|
+
- If `node_22_ok` is `no`, warn that runtime services (pi-bridge, smith-cron, session-recorder) require Node >= 22 for local development. Docker containers use Node 22 regardless, so this only affects running services outside Docker. Provide upgrade instructions:
|
|
96
|
+
- nvm: `nvm install 22 && nvm use 22`
|
|
97
|
+
- fnm: `fnm install 22 && fnm use 22`
|
|
85
98
|
- If all values are present, continue with stack startup/build steps.
|
|
86
99
|
- If password defaults or missing private-network hints are detected, continue but emit loud warnings.
|
|
100
|
+
- Port conflicts are checked automatically by the CLI preflight. If reported, the user must free the ports before `docker compose up` will succeed.
|
|
87
101
|
|
|
88
102
|
## Common Failures
|
|
89
103
|
|
|
@@ -93,3 +107,6 @@ A JSON document exists at `var/installer/preflight.json` and includes:
|
|
|
93
107
|
| Empty JSON values | Command substitution failed | Re-run with full shell output |
|
|
94
108
|
| `cat: ... no such file` | Preflight command not run | Re-run preflight block |
|
|
95
109
|
| Missing tunnel hints | VPN/tunnel env not configured yet | Continue with warning and recommend Cloudflare Tunnel or Tailscale |
|
|
110
|
+
| Port conflict on :5432 | Another PostgreSQL instance | `ss -tlnp 'sport = :5432'` (Linux) or `lsof -iTCP:5432` (macOS) to identify; stop the conflicting service |
|
|
111
|
+
| Port conflict on :4222 | Another NATS instance | Stop the conflicting NATS or remap in compose |
|
|
112
|
+
| Port conflict on :3000 | Another service on Grafana port | Free port or remap Grafana in compose |
|
|
@@ -26,7 +26,7 @@ This skill starts the chat bridge daemon and the correct gateway binary for each
|
|
|
26
26
|
### 1. Start the daemon
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
|
|
29
|
+
smith-chat-daemon
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
The daemon reads `CHAT_BRIDGE_CONFIG` (defaults to `config/chat-bridge.toml`) and starts the webhook server on `CHAT_BRIDGE_WEBHOOK_PORT` (defaults to 8092).
|
|
@@ -34,7 +34,7 @@ The daemon reads `CHAT_BRIDGE_CONFIG` (defaults to `config/chat-bridge.toml`) an
|
|
|
34
34
|
Start this in a separate terminal or background it with log redirection:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
|
|
37
|
+
smith-chat-daemon 2>&1 | tee logs/chat-daemon.log &
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
### 2. Start gateway(s) for each configured platform
|
|
@@ -54,16 +54,16 @@ Parse the `type = ` values from the config and start the matching gateway binary
|
|
|
54
54
|
| `google_chat` | `smith-google-chat-gateway` | `GOOGLE_CHAT_WEBHOOK_URL` |
|
|
55
55
|
| `imessage` | `smith-imessage-gateway` | (config-only) |
|
|
56
56
|
|
|
57
|
-
Start each gateway
|
|
57
|
+
Start each gateway directly:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
|
|
60
|
+
<binary-name>
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
For example, for Discord:
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
|
|
66
|
+
smith-discord-gateway 2>&1 | tee logs/discord-gateway.log &
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
Each gateway should run in its own terminal or backgrounded process.
|
|
@@ -73,7 +73,7 @@ Each gateway should run in its own terminal or backgrounded process.
|
|
|
73
73
|
- `config/chat-bridge.toml` exists and has at least one `[[adapters]]` stanza (run `setup-chat-bridge` first).
|
|
74
74
|
- Platform credentials set in `.env` for each configured adapter.
|
|
75
75
|
- Docker stack running (NATS and Redis required by daemon).
|
|
76
|
-
-
|
|
76
|
+
- smith-services installed (`npm install -g @sibyllinesoft/smith-services`) or built from source (`cargo build -p smith-chat`).
|
|
77
77
|
|
|
78
78
|
## Expected Output
|
|
79
79
|
|
package/skills/verify/SKILL.md
CHANGED
|
@@ -6,24 +6,24 @@ description: Verify the full Smith Core bootstrap state after install steps
|
|
|
6
6
|
Run:
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
cargo check --workspace
|
|
10
9
|
npm run build --workspaces --if-present
|
|
11
10
|
docker compose ps
|
|
12
11
|
```
|
|
13
12
|
|
|
14
|
-
Then check
|
|
13
|
+
Then check pre-built binaries (optional, may not be installed):
|
|
15
14
|
|
|
16
15
|
```bash
|
|
16
|
+
smith-chat-daemon --help || echo "smith-services not installed (non-fatal)"
|
|
17
17
|
agentd --version || echo "agentd not installed (non-fatal)"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## What It Does
|
|
21
21
|
|
|
22
|
-
This skill validates that core components are
|
|
22
|
+
This skill validates that core components are installed and infrastructure is running.
|
|
23
23
|
|
|
24
|
-
1.
|
|
25
|
-
2.
|
|
26
|
-
3.
|
|
24
|
+
1. Builds Node workspaces.
|
|
25
|
+
2. Confirms Docker services are active and healthy.
|
|
26
|
+
3. Optionally verifies smith-services binaries are installed (non-fatal if missing).
|
|
27
27
|
4. Optionally verifies agentd is installed (non-fatal if missing).
|
|
28
28
|
|
|
29
29
|
## Prerequisites
|
|
@@ -33,27 +33,26 @@ This skill validates that core components are buildable and infrastructure is ru
|
|
|
33
33
|
|
|
34
34
|
## Expected Output
|
|
35
35
|
|
|
36
|
-
- All
|
|
36
|
+
- All build commands exit with status 0.
|
|
37
37
|
- `docker compose ps` shows core services as `running` or `healthy`.
|
|
38
38
|
|
|
39
39
|
## Reading Results
|
|
40
40
|
|
|
41
41
|
Installation is considered healthy when:
|
|
42
42
|
|
|
43
|
-
- Rust checks pass.
|
|
44
43
|
- Node workspace build passes.
|
|
45
44
|
- Core services (`nats`, `postgres`, `envoy`, `mcp-index`) are running.
|
|
46
45
|
|
|
47
|
-
agentd
|
|
46
|
+
smith-services and agentd are supplementary components — their absence does not block the core stack.
|
|
48
47
|
|
|
49
48
|
## Common Failures
|
|
50
49
|
|
|
51
50
|
| Symptom | Cause | Fix |
|
|
52
51
|
|---------|-------|-----|
|
|
53
|
-
| Rust check failures | Code/toolchain mismatch | Fix compile issues and rerun |
|
|
54
52
|
| npm build failures | TS/dependency issue | Resolve workspace build errors |
|
|
55
53
|
| Containers not running | Compose/startup failure | Inspect compose logs and restart |
|
|
56
54
|
| Intermittent health failures | Service startup race | Wait and re-run verification |
|
|
55
|
+
| smith-chat-daemon --help fails | Platform binary not available | Non-fatal; build from source with cargo if needed |
|
|
57
56
|
| agentd --version fails | Platform binary not available | Non-fatal; build from source if needed |
|
|
58
57
|
|
|
59
58
|
## Notes
|