nightshift-mcp 1.0.10 → 1.1.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.
Files changed (45) hide show
  1. package/README.md +106 -10
  2. package/dist/agent-spawner.d.ts +6 -1
  3. package/dist/agent-spawner.d.ts.map +1 -1
  4. package/dist/agent-spawner.js +114 -8
  5. package/dist/agent-spawner.js.map +1 -1
  6. package/dist/cli.d.ts +13 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +358 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/daemon-manager.d.ts +1 -1
  11. package/dist/daemon-manager.d.ts.map +1 -1
  12. package/dist/daemon-manager.js +33 -28
  13. package/dist/daemon-manager.js.map +1 -1
  14. package/dist/daemon.d.ts.map +1 -1
  15. package/dist/daemon.js +11 -9
  16. package/dist/daemon.js.map +1 -1
  17. package/dist/index.js +6 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/orchestrator.d.ts +1 -0
  20. package/dist/orchestrator.d.ts.map +1 -1
  21. package/dist/orchestrator.js +68 -24
  22. package/dist/orchestrator.js.map +1 -1
  23. package/dist/platform.d.ts +14 -0
  24. package/dist/platform.d.ts.map +1 -1
  25. package/dist/platform.js +21 -0
  26. package/dist/platform.js.map +1 -1
  27. package/dist/ralph-manager.d.ts +20 -6
  28. package/dist/ralph-manager.d.ts.map +1 -1
  29. package/dist/ralph-manager.js +157 -36
  30. package/dist/ralph-manager.js.map +1 -1
  31. package/dist/tools/agents.d.ts.map +1 -1
  32. package/dist/tools/agents.js +95 -13
  33. package/dist/tools/agents.js.map +1 -1
  34. package/dist/tools/utility.d.ts.map +1 -1
  35. package/dist/tools/utility.js +1 -0
  36. package/dist/tools/utility.js.map +1 -1
  37. package/dist/tools/workflow.js +4 -4
  38. package/dist/tools/workflow.js.map +1 -1
  39. package/dist/types.d.ts +2 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/workflow-manager.d.ts +4 -2
  42. package/dist/workflow-manager.d.ts.map +1 -1
  43. package/dist/workflow-manager.js +2 -2
  44. package/dist/workflow-manager.js.map +1 -1
  45. package/package.json +3 -2
package/README.md CHANGED
@@ -6,17 +6,19 @@ Explicit delegation, review, and handoffs between AI models.
6
6
 
7
7
  ---
8
8
 
9
- An MCP (Model Context Protocol) server for agent teams and multi-agent orchestration across different AI models. Coordinate Claude, Codex, Gemini, Vibe, and Goose as an agentic team — with structured delegation, shared task management, and autonomous workflows. Works with any MCP-compatible client.
9
+ An MCP (Model Context Protocol) server for agent teams and multi-agent orchestration across different AI models. Coordinate Claude, Codex, Gemini, Goose, and local Ollama models as an agentic team — with structured delegation, shared task management, and autonomous workflows. Works with any MCP-compatible client.
10
10
 
11
11
  ## Features
12
12
 
13
13
  - **Multi-agent chat**: Structured inter-agent messaging with agent name, timestamp, type, and content
14
14
  - **Failover handling**: Seamless handoffs when an agent hits limits or context windows fill up
15
- - **PRD-driven task management**: Work through user stories in prd.json with Zod-validated schemas and helpful error messages
15
+ - **PRD-driven task management**: Work through user stories in prd.json with dependencies (`dependsOn`) and tags for smart routing
16
16
  - **Progress tracking**: Shared learnings via progress.txt
17
17
  - **Selective context retrieval**: Topic-based context store lets agents query relevant context instead of prompt-stuffing
18
18
  - **Execution tracing**: Structured trace of agent spawns, completions, and failures with parent-child tree visualization
19
- - **Agent spawning & orchestration**: Spawn Claude, Codex, Gemini, Vibe, or Goose as subprocesses with full lifecycle tracking
19
+ - **Agent spawning & orchestration**: Spawn Claude, Codex, Gemini, Goose, or local Ollama models as subprocesses with full lifecycle tracking
20
+ - **Agent availability checks**: Pre-flight validation before spawning — never fails silently on missing agents
21
+ - **Local model support**: Use Goose + Ollama for free, private, offline agent work with local models
20
22
  - **Autonomous orchestration**: Single `orchestrate` tool runs a claim→implement→complete loop until all stories pass
21
23
  - **Agent status tracking**: Monitor spawned agents by PID, check exit codes, and tail output in real-time
22
24
  - **Smart retry**: Automatically suggests or uses a different agent when one fails
@@ -26,8 +28,20 @@ An MCP (Model Context Protocol) server for agent teams and multi-agent orchestra
26
28
  - **Cross-platform**: Works on Windows, Linux, and macOS (uses cross-spawn and platform-safe process management)
27
29
  - **Heterogeneous agent teams**: Mix different AI models — use each for what it's best at
28
30
  - **Universal compatibility**: Works with any MCP-supporting tool (49 tools across 10 categories)
31
+ - **Flexible savepoints**: Git-based checkpoints when available, JSON state snapshots when not
29
32
  - **Simple file-based storage**: No external services required
30
33
 
34
+ ## What's New in 1.1.0
35
+
36
+ - **Local model support**: New `ollama` agent type + Goose/Ollama integration for local model tool use
37
+ - **Agent availability checks**: All spawn/delegate tools validate agents before attempting — clear errors with available alternatives
38
+ - **PRD dependencies**: `dependsOn` field prevents stories from running before their prerequisites complete
39
+ - **PRD tags**: `tags` field enables smart agent routing (e.g., `["code"]` routes to codex, `["research"]` routes to gemini)
40
+ - **Optional savepoints**: Works without git — falls back to JSON state snapshots
41
+ - **Persistent agent tracking**: Agent registry survives restarts (`.robot-chat/agent-registry.json`)
42
+ - **Flexible workflow phases**: Custom phase names beyond the built-in set
43
+ - **Benchmark suite**: Test local model tool-use reliability (`benchmarks/run-experiment.mjs`)
44
+
31
45
  ## Installation
32
46
 
33
47
  **Via npm (recommended):**
@@ -276,16 +290,24 @@ NightShift includes Ralph-compatible PRD and progress management, enabling struc
276
290
  "userStories": [
277
291
  {
278
292
  "id": "US-001",
293
+ "title": "Set up project structure",
294
+ "description": "Initialize the project with routing and base components",
295
+ "acceptanceCriteria": ["Add routes", "Create base components", "Typecheck passes"],
296
+ "priority": 1,
297
+ "passes": false,
298
+ "notes": "",
299
+ "tags": ["infrastructure"]
300
+ },
301
+ {
302
+ "id": "US-002",
279
303
  "title": "Add database field",
280
304
  "description": "As a developer, I need to store the new field",
281
- "acceptanceCriteria": [
282
- "Add column to table",
283
- "Run migration",
284
- "Typecheck passes"
285
- ],
286
- "priority": 1,
305
+ "acceptanceCriteria": ["Add column to table", "Run migration", "Typecheck passes"],
306
+ "priority": 2,
287
307
  "passes": false,
288
- "notes": ""
308
+ "notes": "",
309
+ "dependsOn": ["US-001"],
310
+ "tags": ["code", "infrastructure"]
289
311
  }
290
312
  ]
291
313
  }
@@ -310,6 +332,13 @@ NightShift includes Ralph-compatible PRD and progress management, enabling struc
310
332
  | `priority` | number | no | 999 | Lower = higher priority |
311
333
  | `passes` | boolean | no | false | Whether the story is complete |
312
334
  | `notes` | string | no | "" | Implementation notes |
335
+ | `dependsOn` | string[] | no | — | Story IDs that must complete first |
336
+ | `tags` | string[] | no | — | Labels for routing (e.g., `["code", "security"]`) |
337
+
338
+ **Tags and routing:** When the orchestrator uses `adaptive` strategy, tags influence which agent gets assigned:
339
+ - `research`, `planning`, `documentation` → prefers gemini/claude
340
+ - `code`, `implementation`, `feature` → prefers codex/claude
341
+ - `security`, `architecture`, `infrastructure` → prefers claude
313
342
 
314
343
  ### PRD Validation
315
344
 
@@ -857,6 +886,73 @@ The daemon provides hands-off multi-agent orchestration:
857
886
  └─────────────────────────────────────────────────────────────┘
858
887
  ```
859
888
 
889
+ ## Local Models via Ollama
890
+
891
+ NightShift supports local Ollama models through two harnesses:
892
+
893
+ ### Goose + Ollama (Recommended for tool use)
894
+
895
+ [Goose](https://github.com/block/goose) has its own tool-calling implementation that works reliably with local models. This is the recommended path for local agent work.
896
+
897
+ ```bash
898
+ # Install Goose CLI
899
+ curl -fsSL https://github.com/block/goose/releases/latest/download/install.sh | bash
900
+
901
+ # Install Ollama and pull a model
902
+ ollama pull qwen3.5:4b
903
+
904
+ # Configure nightshift to use Goose with Ollama
905
+ export NIGHTSHIFT_GOOSE_PROVIDER=ollama
906
+ export NIGHTSHIFT_GOOSE_MODEL=qwen3.5:4b
907
+ ```
908
+
909
+ Then use `goose` as your agent in nightshift:
910
+ ```
911
+ spawn_agent(agent: "goose", prompt: "Fix the pagination bug in src/api.ts")
912
+ delegate_research(agent: "goose", task: "Analyze error handling patterns")
913
+ ```
914
+
915
+ **Recommended models** (by hardware):
916
+
917
+ | GPU VRAM | Model | Size | Notes |
918
+ |----------|-------|------|-------|
919
+ | 4GB+ | `qwen3.5:4b` | 3.4 GB | Fast, good tool use |
920
+ | 6GB+ | `qwen3.5:4b-q8_0` | 5.3 GB | Better accuracy, same speed |
921
+ | 8GB+ | `qwen3.5:9b` | 6.6 GB | Best quality, slower on consumer GPUs |
922
+
923
+ ### Claude Code + Ollama (Text generation only)
924
+
925
+ For tasks that don't require tool use (summarization, code review, planning):
926
+
927
+ ```bash
928
+ export NIGHTSHIFT_OLLAMA_MODEL=qwen3.5:4b # or any Ollama model
929
+ ```
930
+
931
+ Then use `ollama` as your agent:
932
+ ```
933
+ spawn_agent(agent: "ollama", prompt: "Review this PR for security issues")
934
+ delegate_research(agent: "ollama", task: "Summarize the authentication patterns")
935
+ ```
936
+
937
+ This uses Claude Code's harness with Ollama's Anthropic-compatible API. Text generation works well, but local models don't reliably trigger Claude Code's structured tool calls.
938
+
939
+ ### Benchmarking Local Models
940
+
941
+ A benchmark suite is included to test which models work on your hardware:
942
+
943
+ ```bash
944
+ # Test all tasks with goose + a specific model
945
+ node benchmarks/run-experiment.mjs --agent goose --model qwen3.5:4b
946
+
947
+ # Test only text-level tasks (fast sanity check)
948
+ node benchmarks/run-experiment.mjs --agent goose --model qwen3.5:4b --level text
949
+
950
+ # Compare models
951
+ node benchmarks/run-experiment.mjs --agent goose --model qwen3.5:9b
952
+ ```
953
+
954
+ Results are saved to `benchmarks/results/` for comparison across runs.
955
+
860
956
  ## Multi-Agent Tips
861
957
 
862
958
  1. **Same directory**: All agents must run in the same project directory to share chat
@@ -1,4 +1,4 @@
1
- export type AgentType = "claude" | "codex" | "gemini" | "vibe" | "goose";
1
+ export type AgentType = "claude" | "codex" | "gemini" | "vibe" | "goose" | "ollama";
2
2
  export interface TrackedAgent {
3
3
  agent: AgentType;
4
4
  pid: number | undefined;
@@ -7,6 +7,11 @@ export interface TrackedAgent {
7
7
  storyId?: string;
8
8
  prompt: string;
9
9
  }
10
+ /**
11
+ * Set the project path so the agent registry can persist to disk.
12
+ * Called automatically on first spawn; can also be called at init.
13
+ */
14
+ export declare function initAgentRegistry(projectPath: string): void;
10
15
  /**
11
16
  * Update a tracked agent's metadata (e.g., attach a storyId after spawning)
12
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spawner.d.ts","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-spawner.d.ts","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAMpF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAO3D;AAiCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMlF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAsCA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAAC;IACzC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAyBD;AAGD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0FD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuG5E;AAiJD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG;IAC3D,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CA0EA;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CA6ED;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAC7C,MAAM,CAAC,SAAS,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAC5E,CAYA"}
@@ -2,11 +2,53 @@ import { spawn, spawnSync } from "child_process";
2
2
  import * as path from "path";
3
3
  import * as fs from "fs";
4
4
  import { commandExistsAsync, killProcess, isProcessRunning, isWindows, } from "./platform.js";
5
- /** All agents spawned in this session, keyed by PID or outputFile */
5
+ /** All agents spawned, keyed by PID or outputFile. Persisted to disk. */
6
6
  const trackedAgents = new Map();
7
+ /** Path to the on-disk registry (set once we know projectPath) */
8
+ let registryFile = null;
9
+ /**
10
+ * Set the project path so the agent registry can persist to disk.
11
+ * Called automatically on first spawn; can also be called at init.
12
+ */
13
+ export function initAgentRegistry(projectPath) {
14
+ const dir = path.join(projectPath, ".robot-chat");
15
+ if (!fs.existsSync(dir)) {
16
+ fs.mkdirSync(dir, { recursive: true });
17
+ }
18
+ registryFile = path.join(dir, "agent-registry.json");
19
+ loadRegistry();
20
+ }
21
+ /** Load persisted registry from disk into the in-memory map */
22
+ function loadRegistry() {
23
+ if (!registryFile || !fs.existsSync(registryFile))
24
+ return;
25
+ try {
26
+ const data = JSON.parse(fs.readFileSync(registryFile, "utf-8"));
27
+ for (const entry of data) {
28
+ const key = entry.pid ? String(entry.pid) : entry.outputFile;
29
+ trackedAgents.set(key, entry);
30
+ }
31
+ }
32
+ catch {
33
+ // Corrupt file — start fresh
34
+ }
35
+ }
36
+ /** Persist the in-memory map to disk */
37
+ function saveRegistry() {
38
+ if (!registryFile)
39
+ return;
40
+ try {
41
+ const data = Array.from(trackedAgents.values());
42
+ fs.writeFileSync(registryFile, JSON.stringify(data, null, 2), "utf-8");
43
+ }
44
+ catch {
45
+ // Non-critical — best effort
46
+ }
47
+ }
7
48
  function trackAgent(entry) {
8
49
  const key = entry.pid ? String(entry.pid) : entry.outputFile;
9
50
  trackedAgents.set(key, entry);
51
+ saveRegistry();
10
52
  }
11
53
  /**
12
54
  * Update a tracked agent's metadata (e.g., attach a storyId after spawning)
@@ -15,6 +57,7 @@ export function updateTrackedAgent(pid, update) {
15
57
  const entry = trackedAgents.get(String(pid));
16
58
  if (entry && update.storyId) {
17
59
  entry.storyId = update.storyId;
60
+ saveRegistry();
18
61
  }
19
62
  }
20
63
  /**
@@ -110,16 +153,45 @@ function getAgentConfig(agent) {
110
153
  args: ["-p", "--output", "text"],
111
154
  promptDelivery: "stdin",
112
155
  };
113
- case "goose":
156
+ case "goose": {
114
157
  // goose run: non-interactive task execution
115
158
  // --no-session: don't persist session state
116
159
  // -q: quiet mode, only model output
117
160
  // --instructions -: read prompt from stdin (supports large prompts)
161
+ // If NIGHTSHIFT_GOOSE_PROVIDER is set (e.g. "ollama"), use it with the model.
162
+ const gooseProvider = process.env.NIGHTSHIFT_GOOSE_PROVIDER;
163
+ const gooseModel = process.env.NIGHTSHIFT_GOOSE_MODEL;
164
+ const gooseArgs = ["run", "--no-session", "-q", "--max-turns", "10", "--instructions", "-"];
165
+ if (gooseProvider)
166
+ gooseArgs.splice(2, 0, "--provider", gooseProvider);
167
+ if (gooseModel)
168
+ gooseArgs.splice(2, 0, "--model", gooseModel);
118
169
  return {
119
170
  cmd: "goose",
120
- args: ["run", "--no-session", "-q", "--instructions", "-"],
171
+ args: gooseArgs,
172
+ promptDelivery: "stdin",
173
+ };
174
+ }
175
+ case "ollama": {
176
+ // Uses the Claude Code harness with a local Ollama model via
177
+ // Ollama's Anthropic-compatible API. Full tool use (file read/write,
178
+ // shell, etc.) backed by a local model.
179
+ // Config via env vars:
180
+ // NIGHTSHIFT_OLLAMA_MODEL - model name (default: qwen3:8b)
181
+ // OLLAMA_HOST - Ollama server URL (default: http://localhost:11434)
182
+ const model = process.env.NIGHTSHIFT_OLLAMA_MODEL || "qwen3:8b";
183
+ const ollamaHost = process.env.OLLAMA_HOST || "http://localhost:11434";
184
+ return {
185
+ cmd: "claude",
186
+ args: ["--model", model, "--dangerously-skip-permissions", "--print"],
121
187
  promptDelivery: "stdin",
188
+ env: {
189
+ ANTHROPIC_AUTH_TOKEN: "ollama",
190
+ ANTHROPIC_BASE_URL: ollamaHost,
191
+ ANTHROPIC_API_KEY: "",
192
+ },
122
193
  };
194
+ }
123
195
  default:
124
196
  throw new Error(`Unknown agent type: ${agent}`);
125
197
  }
@@ -129,8 +201,11 @@ function getAgentConfig(agent) {
129
201
  */
130
202
  export async function spawnAgent(options) {
131
203
  const { agent, prompt, projectPath, timeout = 5 * 60 * 1000 } = options;
204
+ // Ensure registry is initialized for this project
205
+ if (!registryFile)
206
+ initAgentRegistry(projectPath);
132
207
  const config = getAgentConfig(agent);
133
- const { cmd, args, promptDelivery, promptFlag } = config;
208
+ const { cmd, args, promptDelivery, promptFlag, env: agentEnv } = config;
134
209
  return new Promise((resolve) => {
135
210
  let output = "";
136
211
  let errorOutput = "";
@@ -149,6 +224,7 @@ export async function spawnAgent(options) {
149
224
  cwd: projectPath,
150
225
  env: {
151
226
  ...process.env,
227
+ ...agentEnv,
152
228
  ROBOT_CHAT_PROJECT_PATH: projectPath,
153
229
  },
154
230
  stdio: ["pipe", "pipe", "pipe"],
@@ -346,8 +422,11 @@ proc.on("error", (err) => {
346
422
  */
347
423
  export function spawnAgentBackground(options) {
348
424
  const { agent, prompt, projectPath } = options;
425
+ // Ensure registry is initialized for this project
426
+ if (!registryFile)
427
+ initAgentRegistry(projectPath);
349
428
  const config = getAgentConfig(agent);
350
- const { cmd, args, promptDelivery, promptFlag } = config;
429
+ const { cmd, args, promptDelivery, promptFlag, env: agentEnv } = config;
351
430
  // Create output directory
352
431
  const outputDir = path.join(projectPath, ".robot-chat");
353
432
  if (!fs.existsSync(outputDir)) {
@@ -367,6 +446,7 @@ export function spawnAgentBackground(options) {
367
446
  cwd: projectPath,
368
447
  env: {
369
448
  ...process.env,
449
+ ...agentEnv,
370
450
  ROBOT_CHAT_PROJECT_PATH: projectPath,
371
451
  },
372
452
  detached: true,
@@ -415,9 +495,35 @@ export async function canAgentRun(agent) {
415
495
  return {
416
496
  available: false,
417
497
  canRun: false,
418
- reason: `${agent} CLI not found in PATH`,
498
+ reason: agent === "ollama"
499
+ ? `ollama agent requires claude CLI (not found in PATH). Install Claude Code first.`
500
+ : `${agent} CLI not found in PATH`,
419
501
  };
420
502
  }
503
+ // For ollama agent, also check that the Ollama server is reachable
504
+ if (agent === "ollama") {
505
+ const ollamaUrl = process.env.OLLAMA_HOST || "http://localhost:11434";
506
+ try {
507
+ const controller = new AbortController();
508
+ const timeout = setTimeout(() => controller.abort(), 5000);
509
+ const resp = await fetch(`${ollamaUrl}/api/tags`, { signal: controller.signal });
510
+ clearTimeout(timeout);
511
+ if (!resp.ok) {
512
+ return {
513
+ available: true,
514
+ canRun: false,
515
+ reason: `Ollama server at ${ollamaUrl} returned ${resp.status}. Is Ollama running?`,
516
+ };
517
+ }
518
+ }
519
+ catch (err) {
520
+ return {
521
+ available: true,
522
+ canRun: false,
523
+ reason: `Cannot reach Ollama server at ${ollamaUrl}. Start Ollama first (ollama serve).`,
524
+ };
525
+ }
526
+ }
421
527
  // Actually try running the agent with --version to verify it works
422
528
  // This catches broken installs, missing auth, bad configurations, etc.
423
529
  try {
@@ -460,7 +566,7 @@ export async function canAgentRun(agent) {
460
566
  * Get list of available agents
461
567
  */
462
568
  export async function getAvailableAgents() {
463
- const agents = ["claude", "codex", "gemini", "vibe", "goose"];
569
+ const agents = ["claude", "codex", "gemini", "vibe", "goose", "ollama"];
464
570
  const available = [];
465
571
  for (const agent of agents) {
466
572
  if (await isAgentAvailable(agent)) {
@@ -473,7 +579,7 @@ export async function getAvailableAgents() {
473
579
  * Get detailed status of all agents
474
580
  */
475
581
  export async function getAgentStatus() {
476
- const agents = ["claude", "codex", "gemini", "vibe", "goose"];
582
+ const agents = ["claude", "codex", "gemini", "vibe", "goose", "ollama"];
477
583
  const status = {};
478
584
  for (const agent of agents) {
479
585
  status[agent] = await canAgentRun(agent);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-spawner.js","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-spawner.js","sourceRoot":"","sources":["../src/agent-spawner.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * NightShift CLI
4
+ *
5
+ * Lightweight command-line interface for agent coordination.
6
+ * Any AI agent CLI (Claude, Codex, Gemini, Vibe, Goose) can use this
7
+ * to claim stories, post updates, complete work, and coordinate —
8
+ * without needing MCP access.
9
+ *
10
+ * Usage: nightshift <command> [options]
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG"}