ace-swarm 1.1.1 → 1.1.4

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 (55) hide show
  1. package/README.md +84 -0
  2. package/dist/cli.js +186 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/helpers.d.ts +5 -0
  5. package/dist/helpers.d.ts.map +1 -1
  6. package/dist/helpers.js +49 -0
  7. package/dist/helpers.js.map +1 -1
  8. package/dist/tools-framework.d.ts.map +1 -1
  9. package/dist/tools-framework.js +31 -2
  10. package/dist/tools-framework.js.map +1 -1
  11. package/dist/tui/agent-runner.d.ts +112 -0
  12. package/dist/tui/agent-runner.d.ts.map +1 -0
  13. package/dist/tui/agent-runner.js +228 -0
  14. package/dist/tui/agent-runner.js.map +1 -0
  15. package/dist/tui/chat.d.ts +48 -0
  16. package/dist/tui/chat.d.ts.map +1 -0
  17. package/dist/tui/chat.js +178 -0
  18. package/dist/tui/chat.js.map +1 -0
  19. package/dist/tui/commands.d.ts +52 -0
  20. package/dist/tui/commands.d.ts.map +1 -0
  21. package/dist/tui/commands.js +396 -0
  22. package/dist/tui/commands.js.map +1 -0
  23. package/dist/tui/dashboard.d.ts +35 -0
  24. package/dist/tui/dashboard.d.ts.map +1 -0
  25. package/dist/tui/dashboard.js +233 -0
  26. package/dist/tui/dashboard.js.map +1 -0
  27. package/dist/tui/index.d.ts +73 -0
  28. package/dist/tui/index.d.ts.map +1 -0
  29. package/dist/tui/index.js +627 -0
  30. package/dist/tui/index.js.map +1 -0
  31. package/dist/tui/input.d.ts +47 -0
  32. package/dist/tui/input.d.ts.map +1 -0
  33. package/dist/tui/input.js +319 -0
  34. package/dist/tui/input.js.map +1 -0
  35. package/dist/tui/layout.d.ts +102 -0
  36. package/dist/tui/layout.d.ts.map +1 -0
  37. package/dist/tui/layout.js +305 -0
  38. package/dist/tui/layout.js.map +1 -0
  39. package/dist/tui/ollama.d.ts +116 -0
  40. package/dist/tui/ollama.d.ts.map +1 -0
  41. package/dist/tui/ollama.js +189 -0
  42. package/dist/tui/ollama.js.map +1 -0
  43. package/dist/tui/renderer.d.ts +166 -0
  44. package/dist/tui/renderer.d.ts.map +1 -0
  45. package/dist/tui/renderer.js +304 -0
  46. package/dist/tui/renderer.js.map +1 -0
  47. package/dist/tui/tabs.d.ts +70 -0
  48. package/dist/tui/tabs.d.ts.map +1 -0
  49. package/dist/tui/tabs.js +208 -0
  50. package/dist/tui/tabs.js.map +1 -0
  51. package/dist/tui/telemetry.d.ts +56 -0
  52. package/dist/tui/telemetry.d.ts.map +1 -0
  53. package/dist/tui/telemetry.js +106 -0
  54. package/dist/tui/telemetry.js.map +1 -0
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -47,6 +47,40 @@ This writes:
47
47
  - `.vscode/mcp.json`
48
48
  - `.mcp-config/{codex.config.toml,vscode.mcp.json,claude_desktop_config.json,cursor.mcp.json,antigravity.mcp.json}`
49
49
 
50
+ ### Turnkey with Ollama (Local Models)
51
+
52
+ Bootstrap ACE + local model profile in one command:
53
+
54
+ ```bash
55
+ npx -y ace-swarm turnkey --project "My Project" --llm ollama --model llama3.1:8b
56
+ ```
57
+
58
+ Then enable and verify local runtime:
59
+
60
+ ```bash
61
+ ollama serve
62
+ ollama pull llama3.1:8b
63
+ ace doctor --llm ollama --model llama3.1:8b
64
+ ```
65
+
66
+ If you need to explicitly (re)write MCP config for your editor:
67
+
68
+ ```bash
69
+ ace mcp-config --client vscode > .vscode/mcp.json
70
+ # or choose codex|claude|cursor|antigravity
71
+ ```
72
+
73
+ Artifacts written for local-model flow:
74
+
75
+ - `.ace/llm-profile.json`
76
+ - `.ace/doctor-checks.md`
77
+
78
+ Rollout status:
79
+
80
+ - `P0`: `init/turnkey` supports `--llm ollama --model --ollama-url`.
81
+ - `P1`: `ace doctor` validates MCP config, Ollama endpoint, and model presence.
82
+ - `P2`: MCP `bootstrap_state` supports `llm_provider`, `ollama_model`, `ollama_base_url`.
83
+
50
84
  ## Client Compatibility
51
85
 
52
86
  ACE Swarm ships config templates for:
@@ -78,12 +112,43 @@ ace mcp-config --all
78
112
  ```bash
79
113
  ace mcp # start MCP server on stdio
80
114
  ace serve # alias for mcp
115
+ ace tui [options] # launch interactive terminal dashboard
81
116
  ace init [options] # bootstrap ACE files into current workspace
82
117
  ace turnkey [options] # same as init (turnkey alias)
118
+ ace doctor [options] # local LLM + MCP readiness checks
83
119
  ace mcp-config [--client <name>|--all] # print one/all MCP client snippets
84
120
  ace paths # show resolved package/workspace paths
85
121
  ```
86
122
 
123
+ ### Interactive TUI
124
+
125
+ Launch a full-screen terminal dashboard with Ollama model chat, agent tabs, telemetry, and task tracking:
126
+
127
+ ```bash
128
+ ace tui
129
+ ace tui --model llama3.1:8b --ollama-url http://127.0.0.1:11434
130
+ ```
131
+
132
+ The TUI starts regardless of whether Ollama is running. Use `/ollama` inside the TUI to check status, or `/pull <model>` to download models.
133
+
134
+ Key commands inside TUI:
135
+
136
+ | Command | Description |
137
+ |---------|-------------|
138
+ | `/models` | List available Ollama models |
139
+ | `/model <name>` | Switch active model |
140
+ | `/pull <name>` | Download a model |
141
+ | `/ollama` | Check Ollama connection status |
142
+ | `/agent <role>` | Start a subagent in a new tab |
143
+ | `/agents` | List all agent roles and status |
144
+ | `/status` | Show orchestrator status |
145
+ | `/chat` | Open new chat tab |
146
+ | `/logs` | Open logs tab |
147
+ | `/help` | List all commands |
148
+ | `/quit` | Exit TUI |
149
+
150
+ Keyboard shortcuts: `Alt+1-9` switch tabs, `Tab/Shift+Tab` cycle tabs, `Ctrl+N` new chat, `Ctrl+R` refresh, `Ctrl+D` quit.
151
+
87
152
  Options for `init` / `turnkey`:
88
153
 
89
154
  ```bash
@@ -91,6 +156,25 @@ Options for `init` / `turnkey`:
91
156
  --force # Overwrite scaffolded files
92
157
  --no-mcp-config # Skip .vscode/mcp.json
93
158
  --no-client-config-bundle # Skip .mcp-config client bundle
159
+ --llm <provider> # ollama
160
+ --model <name> # local model name (default: llama3.1:8b)
161
+ --ollama-url <url> # Ollama base URL (default: http://127.0.0.1:11434)
162
+ ```
163
+
164
+ Options for `doctor`:
165
+
166
+ ```bash
167
+ --llm <provider> # ollama (or auto from .ace/llm-profile.json)
168
+ --model <name> # override model to check
169
+ --ollama-url <url> # override Ollama URL to check
170
+ ```
171
+
172
+ ## Initiate ACE Swarm
173
+
174
+ After bootstrap, start your MCP host and issue:
175
+
176
+ ```text
177
+ initiate ACE
94
178
  ```
95
179
 
96
180
  ## Schema Validation (Runtime)
package/dist/cli.js CHANGED
@@ -1,26 +1,42 @@
1
1
  #!/usr/bin/env node
2
- import { ALL_MCP_CLIENTS, DEFAULTS_ROOT, PACKAGE_ROOT, WORKSPACE_ROOT, bootstrapAceWorkspace, getAllMcpServerConfigSnippets, getMcpClientInstallHint, getMcpServerConfigSnippet, } from "./helpers.js";
2
+ import { ALL_MCP_CLIENTS, ALL_LLM_PROVIDERS, DEFAULTS_ROOT, PACKAGE_ROOT, WORKSPACE_ROOT, bootstrapAceWorkspace, fileExists, getAllMcpServerConfigSnippets, getMcpClientInstallHint, getMcpServerConfigSnippet, wsPath, } from "./helpers.js";
3
3
  import { refreshAstgrepIndex } from "./astgrep-index.js";
4
4
  import { scanWorkspaceDelta } from "./index-store.js";
5
5
  import { startStdioServer } from "./server.js";
6
6
  import { appendRunLedgerEntry } from "./run-ledger.js";
7
+ import { readFileSync } from "node:fs";
8
+ import { runTui } from "./tui/index.js";
7
9
  function printHelp() {
8
10
  console.log(`ACE Swarm CLI
9
11
 
10
12
  Usage:
11
13
  ace mcp Start MCP server over stdio
12
14
  ace serve Alias for mcp
15
+ ace tui [options] Launch interactive TUI dashboard
13
16
  ace init [options] Bootstrap ACE files into current workspace
14
17
  ace turnkey [options] Bootstrap + multi-client MCP config bundle
18
+ ace doctor [options] Validate local LLM + MCP readiness
15
19
  ace mcp-config [options] Print MCP config snippet(s)
16
20
  ace paths Show resolved package/workspace paths
17
21
  ace help Show help
18
22
 
23
+ Options for tui:
24
+ --model <name> Ollama model name (default: from profile or llama3.1:8b)
25
+ --ollama-url <url> Ollama base URL (default: http://127.0.0.1:11434)
26
+
19
27
  Options for init:
20
28
  --project <name> Project name for global-state/MASTER_PLAN.md
21
29
  --force Overwrite scaffolded files if they already exist
22
30
  --no-mcp-config Do not write .vscode/mcp.json
23
31
  --no-client-config-bundle Do not write .mcp-config bundle
32
+ --llm <provider> ollama
33
+ --model <name> Model name for local provider (default: llama3.1:8b)
34
+ --ollama-url <url> Ollama base URL (default: http://127.0.0.1:11434)
35
+
36
+ Options for doctor:
37
+ --llm <provider> ollama (default: auto from .ace/llm-profile.json)
38
+ --model <name> Model name override
39
+ --ollama-url <url> Ollama base URL override
24
40
 
25
41
  Options for mcp-config:
26
42
  --client <name> codex|vscode|claude|cursor|antigravity
@@ -36,16 +52,63 @@ function readFlagValue(args, flag) {
36
52
  return undefined;
37
53
  return args[index + 1];
38
54
  }
55
+ function readOllamaProfile() {
56
+ const profilePath = wsPath(".ace", "llm-profile.json");
57
+ if (!fileExists(profilePath))
58
+ return undefined;
59
+ try {
60
+ const raw = readFileSync(profilePath, "utf-8");
61
+ const parsed = JSON.parse(raw);
62
+ if (!parsed || typeof parsed !== "object")
63
+ return undefined;
64
+ return parsed;
65
+ }
66
+ catch {
67
+ return undefined;
68
+ }
69
+ }
70
+ function normalizeOllamaBaseUrl(url) {
71
+ if (!url)
72
+ return undefined;
73
+ const trimmed = url.trim();
74
+ if (!trimmed)
75
+ return undefined;
76
+ return trimmed.endsWith("/") ? trimmed.slice(0, -1) : trimmed;
77
+ }
78
+ function parseLlmOptions(args) {
79
+ const profile = readOllamaProfile();
80
+ const fromFlag = readFlagValue(args, "--llm")?.trim().toLowerCase();
81
+ const fromProfile = profile?.provider?.trim().toLowerCase() === "ollama" ? "ollama" : undefined;
82
+ const selected = fromFlag ?? fromProfile;
83
+ if (!selected)
84
+ return {};
85
+ if (!ALL_LLM_PROVIDERS.includes(selected)) {
86
+ throw new Error(`Unsupported LLM provider: ${selected}`);
87
+ }
88
+ const ollamaModel = readFlagValue(args, "--model")?.trim() || profile?.model || "llama3.1:8b";
89
+ const ollamaBaseUrl = normalizeOllamaBaseUrl(readFlagValue(args, "--ollama-url")) ??
90
+ normalizeOllamaBaseUrl(profile?.base_url) ??
91
+ "http://127.0.0.1:11434";
92
+ return {
93
+ llmProvider: selected,
94
+ ollamaModel,
95
+ ollamaBaseUrl,
96
+ };
97
+ }
39
98
  async function runInit(args) {
40
99
  const projectName = readFlagValue(args, "--project");
41
100
  const force = args.includes("--force");
42
101
  const includeMcpConfig = !args.includes("--no-mcp-config");
43
102
  const includeClientConfigBundle = !args.includes("--no-client-config-bundle");
103
+ const llm = parseLlmOptions(args);
44
104
  const result = bootstrapAceWorkspace({
45
105
  projectName,
46
106
  force,
47
107
  includeMcpConfig,
48
108
  includeClientConfigBundle,
109
+ llmProvider: llm.llmProvider,
110
+ ollamaModel: llm.ollamaModel,
111
+ ollamaBaseUrl: llm.ollamaBaseUrl,
49
112
  });
50
113
  const astIndex = refreshAstgrepIndex({
51
114
  scope: ".",
@@ -73,6 +136,12 @@ async function runInit(args) {
73
136
  console.log(`Fingerprint path: ${delta.fingerprint_path}`);
74
137
  console.log(`AST index path: ${astIndex.output_json_path}`);
75
138
  console.log(`AST index generated: ${astIndex.generated_at}`);
139
+ if (llm.llmProvider === "ollama") {
140
+ console.log(`LLM provider: ollama`);
141
+ console.log(`Ollama model: ${llm.ollamaModel}`);
142
+ console.log(`Ollama URL: ${llm.ollamaBaseUrl}`);
143
+ console.log(`LLM profile path: ${wsPath(".ace", "llm-profile.json")}`);
144
+ }
76
145
  if (result.created.length > 0) {
77
146
  console.log("\nCreated files/directories:");
78
147
  for (const path of result.created)
@@ -102,6 +171,9 @@ async function runInit(args) {
102
171
  skipped_count: result.skipped.length,
103
172
  indexed_files: delta.snapshot.file_count,
104
173
  force,
174
+ llm_provider: llm.llmProvider ?? null,
175
+ ollama_model: llm.ollamaModel ?? null,
176
+ ollama_base_url: llm.ollamaBaseUrl ?? null,
105
177
  },
106
178
  });
107
179
  }
@@ -109,6 +181,100 @@ async function runInit(args) {
109
181
  // Run-ledger write may fail on first bootstrap before dirs exist
110
182
  }
111
183
  }
184
+ async function runDoctor(args) {
185
+ const llm = parseLlmOptions(args);
186
+ if (llm.llmProvider !== "ollama") {
187
+ throw new Error("Doctor currently supports Ollama only. Use --llm ollama or run `ace turnkey --llm ollama` first.");
188
+ }
189
+ const checks = [];
190
+ const mcpConfigPaths = [
191
+ wsPath(".vscode", "mcp.json"),
192
+ wsPath(".mcp-config", "vscode.mcp.json"),
193
+ wsPath(".mcp-config", "codex.config.toml"),
194
+ wsPath(".mcp-config", "cursor.mcp.json"),
195
+ wsPath(".mcp-config", "claude_desktop_config.json"),
196
+ wsPath(".mcp-config", "antigravity.mcp.json"),
197
+ ];
198
+ const hasMcpConfig = mcpConfigPaths.some((path) => fileExists(path));
199
+ checks.push({
200
+ name: "MCP config present",
201
+ ok: hasMcpConfig,
202
+ detail: hasMcpConfig
203
+ ? "Found one or more MCP config files."
204
+ : "No MCP config files found. Run `ace turnkey`.",
205
+ });
206
+ const profilePath = wsPath(".ace", "llm-profile.json");
207
+ const hasProfile = fileExists(profilePath);
208
+ checks.push({
209
+ name: "LLM profile present",
210
+ ok: hasProfile,
211
+ detail: hasProfile
212
+ ? profilePath
213
+ : "Missing .ace/llm-profile.json. Run `ace turnkey --llm ollama`.",
214
+ });
215
+ const endpoint = `${llm.ollamaBaseUrl}/api/tags`;
216
+ let modelNames = [];
217
+ const controller = new AbortController();
218
+ const timeout = setTimeout(() => controller.abort(), 4000);
219
+ try {
220
+ const response = await fetch(endpoint, {
221
+ method: "GET",
222
+ headers: { Accept: "application/json" },
223
+ signal: controller.signal,
224
+ });
225
+ if (!response.ok) {
226
+ checks.push({
227
+ name: "Ollama endpoint reachable",
228
+ ok: false,
229
+ detail: `${endpoint} returned HTTP ${response.status}`,
230
+ });
231
+ }
232
+ else {
233
+ const payload = (await response.json().catch(() => ({})));
234
+ modelNames = Array.isArray(payload.models)
235
+ ? payload.models
236
+ .map((item) => item?.name?.trim())
237
+ .filter((name) => Boolean(name))
238
+ : [];
239
+ checks.push({
240
+ name: "Ollama endpoint reachable",
241
+ ok: true,
242
+ detail: `${endpoint} responded with ${modelNames.length} models`,
243
+ });
244
+ }
245
+ }
246
+ catch (error) {
247
+ checks.push({
248
+ name: "Ollama endpoint reachable",
249
+ ok: false,
250
+ detail: `${endpoint} request failed: ${error instanceof Error ? error.message : String(error)}`,
251
+ });
252
+ }
253
+ finally {
254
+ clearTimeout(timeout);
255
+ }
256
+ const hasModel = modelNames.includes(llm.ollamaModel ?? "");
257
+ checks.push({
258
+ name: "Requested model installed",
259
+ ok: hasModel,
260
+ detail: hasModel
261
+ ? `${llm.ollamaModel} found`
262
+ : `${llm.ollamaModel} missing (run: ollama pull ${llm.ollamaModel})`,
263
+ });
264
+ const failed = checks.filter((check) => !check.ok);
265
+ console.log("ACE Doctor Report (Ollama)");
266
+ console.log(`Workspace: ${WORKSPACE_ROOT}`);
267
+ console.log(`Model: ${llm.ollamaModel}`);
268
+ console.log(`Base URL: ${llm.ollamaBaseUrl}`);
269
+ console.log("");
270
+ for (const check of checks) {
271
+ const status = check.ok ? "PASS" : "FAIL";
272
+ console.log(`- [${status}] ${check.name}: ${check.detail}`);
273
+ }
274
+ if (failed.length > 0) {
275
+ process.exitCode = 1;
276
+ }
277
+ }
112
278
  function parseClientFlag(args) {
113
279
  const client = readFlagValue(args, "--client");
114
280
  if (!client)
@@ -148,6 +314,21 @@ async function main() {
148
314
  await startStdioServer();
149
315
  return;
150
316
  }
317
+ if (command === "tui") {
318
+ const profile = readOllamaProfile();
319
+ const model = readFlagValue(args.slice(1), "--model")?.trim() ||
320
+ profile?.model ||
321
+ "llama3.1:8b";
322
+ const ollamaUrl = normalizeOllamaBaseUrl(readFlagValue(args.slice(1), "--ollama-url")) ??
323
+ normalizeOllamaBaseUrl(profile?.base_url) ??
324
+ "http://127.0.0.1:11434";
325
+ await runTui({
326
+ model,
327
+ ollamaUrl,
328
+ workspaceRoot: WORKSPACE_ROOT,
329
+ });
330
+ return;
331
+ }
151
332
  if (command === "init") {
152
333
  await runInit(args.slice(1));
153
334
  return;
@@ -156,6 +337,10 @@ async function main() {
156
337
  await runInit(args.slice(1));
157
338
  return;
158
339
  }
340
+ if (command === "doctor") {
341
+ await runDoctor(args.slice(1));
342
+ return;
343
+ }
159
344
  if (command === "mcp-config") {
160
345
  await runMcpConfig(args.slice(1));
161
346
  return;
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/dist/helpers.d.ts CHANGED
@@ -8,6 +8,8 @@ export declare const WORKSPACE_ROOT: string;
8
8
  export declare const DEFAULTS_ROOT: string;
9
9
  export declare const ALL_MCP_CLIENTS: readonly ["codex", "vscode", "claude", "cursor", "antigravity"];
10
10
  export type McpClient = (typeof ALL_MCP_CLIENTS)[number];
11
+ export declare const ALL_LLM_PROVIDERS: readonly ["ollama"];
12
+ export type LlmProvider = (typeof ALL_LLM_PROVIDERS)[number];
11
13
  export declare const ALL_AGENTS: readonly ["orchestrator", "vos", "ui", "coders", "astgrep", "skeptic", "ops", "research", "spec", "builder", "qa", "docs", "memory", "security", "observability", "eval", "release"];
12
14
  export type AgentRole = (typeof ALL_AGENTS)[number];
13
15
  export declare const SWARM_AGENTS: readonly ["orchestrator", "vos", "ui", "coders"];
@@ -32,6 +34,9 @@ export interface BootstrapOptions {
32
34
  force?: boolean;
33
35
  includeMcpConfig?: boolean;
34
36
  includeClientConfigBundle?: boolean;
37
+ llmProvider?: LlmProvider;
38
+ ollamaModel?: string;
39
+ ollamaBaseUrl?: string;
35
40
  }
36
41
  export interface BootstrapResult {
37
42
  created: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.js CHANGED
@@ -25,6 +25,7 @@ export const ALL_MCP_CLIENTS = [
25
25
  "cursor",
26
26
  "antigravity",
27
27
  ];
28
+ export const ALL_LLM_PROVIDERS = ["ollama"];
28
29
  export const ALL_AGENTS = [
29
30
  "orchestrator",
30
31
  "vos",
@@ -465,6 +466,12 @@ function getMcpCommandSpec() {
465
466
  args: ["-y", "ace-swarm", "mcp"],
466
467
  };
467
468
  }
469
+ function normalizeOllamaBaseUrl(url) {
470
+ const trimmed = url.trim();
471
+ if (!trimmed)
472
+ return "http://127.0.0.1:11434";
473
+ return trimmed.endsWith("/") ? trimmed.slice(0, -1) : trimmed;
474
+ }
468
475
  export function getMcpClientBundlePath(client) {
469
476
  if (client === "codex")
470
477
  return wsPath(".mcp-config", "codex.config.toml");
@@ -534,6 +541,12 @@ export function bootstrapAceWorkspace(options = {}) {
534
541
  const projectName = options.projectName?.trim() || "ACE Project";
535
542
  const includeMcpConfig = options.includeMcpConfig ?? true;
536
543
  const includeClientConfigBundle = options.includeClientConfigBundle ?? true;
544
+ const llmProvider = options.llmProvider;
545
+ const ollamaModel = options.ollamaModel?.trim() || "llama3.1:8b";
546
+ const ollamaBaseUrl = normalizeOllamaBaseUrl(options.ollamaBaseUrl ?? "http://127.0.0.1:11434");
547
+ if (llmProvider && llmProvider !== "ollama") {
548
+ throw new Error(`Unsupported llmProvider: ${llmProvider}`);
549
+ }
537
550
  const result = { created: [], updated: [], skipped: [] };
538
551
  const dirSeeds = [
539
552
  wsPath("global-state"),
@@ -553,6 +566,9 @@ export function bootstrapAceWorkspace(options = {}) {
553
566
  wsPath("scripts"),
554
567
  wsPath("scripts", "ace"),
555
568
  ];
569
+ if (llmProvider === "ollama") {
570
+ dirSeeds.push(wsPath(".ace"));
571
+ }
556
572
  for (const dir of dirSeeds)
557
573
  ensureDir(dir, result);
558
574
  // Copy packaged defaults for tasks, instructions, skills, and agent-state.
@@ -818,6 +834,39 @@ export function bootstrapAceWorkspace(options = {}) {
818
834
  "",
819
835
  "## Install Hints",
820
836
  ...ALL_MCP_CLIENTS.map((client) => `- ${client}: ${getMcpClientInstallHint(client)}`),
837
+ ...(llmProvider === "ollama"
838
+ ? [
839
+ "",
840
+ "## Local Model Profile",
841
+ "- `.ace/llm-profile.json` (generated for Ollama)",
842
+ "- `.ace/doctor-checks.md` (commands to verify local runtime)",
843
+ `- Run \`ace doctor --llm ollama --model ${ollamaModel}\` after starting Ollama`,
844
+ ]
845
+ : []),
846
+ ].join("\n"), result, force);
847
+ }
848
+ if (llmProvider === "ollama") {
849
+ writeIfMissingOrForced(wsPath(".ace", "llm-profile.json"), JSON.stringify({
850
+ provider: "ollama",
851
+ model: ollamaModel,
852
+ base_url: ollamaBaseUrl,
853
+ api_compat_base_url: `${ollamaBaseUrl}/v1`,
854
+ default_api_key: "ollama",
855
+ generated_at: new Date().toISOString(),
856
+ }, null, 2), result, force);
857
+ writeIfMissingOrForced(wsPath(".ace", "doctor-checks.md"), [
858
+ "# ACE + Ollama Doctor Checks",
859
+ "",
860
+ "Run these commands to verify local-model readiness:",
861
+ "",
862
+ "```bash",
863
+ "ollama serve",
864
+ `ollama pull ${ollamaModel}`,
865
+ `curl -s ${ollamaBaseUrl}/api/tags`,
866
+ `ace doctor --llm ollama --model ${ollamaModel} --ollama-url ${ollamaBaseUrl}`,
867
+ "```",
868
+ "",
869
+ "MCP is still configured separately via `.vscode/mcp.json` or `.mcp-config/*`.",
821
870
  ].join("\n"), result, force);
822
871
  }
823
872
  return result;