@autonav/core 1.1.3 → 1.1.5

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 (49) hide show
  1. package/README.md +33 -0
  2. package/dist/adapter/claude-adapter.d.ts +30 -0
  3. package/dist/adapter/claude-adapter.d.ts.map +1 -1
  4. package/dist/adapter/claude-adapter.js +155 -0
  5. package/dist/adapter/claude-adapter.js.map +1 -1
  6. package/dist/cli/autonav.d.ts +1 -0
  7. package/dist/cli/autonav.d.ts.map +1 -1
  8. package/dist/cli/autonav.js +23 -4
  9. package/dist/cli/autonav.js.map +1 -1
  10. package/dist/cli/nav-init.js +86 -13
  11. package/dist/cli/nav-init.js.map +1 -1
  12. package/dist/cli/nav-install.d.ts +3 -0
  13. package/dist/cli/nav-install.d.ts.map +1 -0
  14. package/dist/cli/nav-install.js +101 -0
  15. package/dist/cli/nav-install.js.map +1 -0
  16. package/dist/cli/nav-uninstall.d.ts +3 -0
  17. package/dist/cli/nav-uninstall.d.ts.map +1 -0
  18. package/dist/cli/nav-uninstall.js +123 -0
  19. package/dist/cli/nav-uninstall.js.map +1 -0
  20. package/dist/cli/nav-update.d.ts +3 -0
  21. package/dist/cli/nav-update.d.ts.map +1 -0
  22. package/dist/cli/nav-update.js +131 -0
  23. package/dist/cli/nav-update.js.map +1 -0
  24. package/dist/interview/App.d.ts +7 -1
  25. package/dist/interview/App.d.ts.map +1 -1
  26. package/dist/interview/App.js +211 -17
  27. package/dist/interview/App.js.map +1 -1
  28. package/dist/interview/index.d.ts +9 -2
  29. package/dist/interview/index.d.ts.map +1 -1
  30. package/dist/interview/index.js +12 -3
  31. package/dist/interview/index.js.map +1 -1
  32. package/dist/interview/progress.d.ts +55 -0
  33. package/dist/interview/progress.d.ts.map +1 -0
  34. package/dist/interview/progress.js +88 -0
  35. package/dist/interview/progress.js.map +1 -0
  36. package/dist/interview/prompts.d.ts +4 -1
  37. package/dist/interview/prompts.d.ts.map +1 -1
  38. package/dist/interview/prompts.js +46 -7
  39. package/dist/interview/prompts.js.map +1 -1
  40. package/dist/pack-installer/index.d.ts.map +1 -1
  41. package/dist/pack-installer/index.js +14 -2
  42. package/dist/pack-installer/index.js.map +1 -1
  43. package/dist/skill-generator/index.d.ts +89 -4
  44. package/dist/skill-generator/index.d.ts.map +1 -1
  45. package/dist/skill-generator/index.js +364 -143
  46. package/dist/skill-generator/index.js.map +1 -1
  47. package/dist/templates/.gitignore.template +3 -0
  48. package/package.json +11 -1
  49. package/dist/templates/CLAUDE-import.md.template +0 -90
package/README.md CHANGED
@@ -93,8 +93,41 @@ my-docs/
93
93
 
94
94
  ## Environment
95
95
 
96
+ ### Required
97
+
96
98
  `ANTHROPIC_API_KEY` - Required for queries.
97
99
 
100
+ ### Optional - LangSmith Tracing
101
+
102
+ Autonav supports optional [LangSmith](https://www.langchain.com/langsmith) tracing to monitor and debug Claude Agent SDK calls.
103
+
104
+ To enable LangSmith tracing:
105
+
106
+ 1. Install the langsmith package:
107
+ ```bash
108
+ npm install langsmith
109
+ ```
110
+
111
+ 2. Set environment variables:
112
+ ```bash
113
+ export LANGSMITH_TRACING="true"
114
+ export LANGSMITH_API_KEY="your-api-key"
115
+ export LANGSMITH_PROJECT="your-project-name" # Optional
116
+ ```
117
+
118
+ 3. Run autonav commands as normal:
119
+ ```bash
120
+ autonav query my-docs "How do I deploy?"
121
+ ```
122
+
123
+ All queries will be traced to your LangSmith project, capturing:
124
+ - Full conversation history
125
+ - Tool calls and responses
126
+ - Model parameters
127
+ - Response validation
128
+
129
+ **Note:** LangSmith is completely optional. Autonav works normally without it.
130
+
98
131
  ## FAQ
99
132
 
100
133
  **Why would I use this instead of just using Claude Code directly?**
@@ -103,6 +103,36 @@ export declare class ClaudeAdapter {
103
103
  * ```
104
104
  */
105
105
  query(navigator: LoadedNavigator, question: string, options?: QueryOptions): Promise<NavigatorResponse>;
106
+ /**
107
+ * Internal method to execute the query
108
+ * Separated to allow for LangSmith tracing wrapper
109
+ *
110
+ * @internal
111
+ */
112
+ private executeQuery;
113
+ /**
114
+ * Update navigator documentation
115
+ *
116
+ * Sends an update message to Claude with write permissions enabled.
117
+ * Claude can edit files in the knowledge base to document progress,
118
+ * add troubleshooting steps, or update existing documentation.
119
+ *
120
+ * @param navigator - Loaded navigator to update
121
+ * @param message - Update message or report
122
+ * @param options - Query options (maxTurns)
123
+ * @returns Text response from Claude describing what was updated
124
+ * @throws {Error} If API call fails or update fails
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const result = await adapter.update(
129
+ * navigator,
130
+ * 'I completed feature X. Please document this in the knowledge base.'
131
+ * );
132
+ * console.log(result);
133
+ * ```
134
+ */
135
+ update(navigator: LoadedNavigator, message: string, options?: QueryOptions): Promise<string>;
106
136
  /**
107
137
  * Parse Claude's response into a NavigatorResponse
108
138
  *
@@ -1 +1 @@
1
- {"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/claude-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAEf,iBAAiB,EAKjB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,aAAa,EAA0B,MAAM,qBAAqB,CAAC;AAIjG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD;;;;OAIG;gBACS,OAAO,GAAE,oBAAyB;IAO9C;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmHpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAwJ7B;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAoCpE;;;;;;;;;;;;;OAaG;IACH,QAAQ,CACN,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,EAAE,MAAM,GACxB,gBAAgB;CAGpB"}
1
+ {"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/claude-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAEf,iBAAiB,EAKjB,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAuB,aAAa,EAA0B,MAAM,qBAAqB,CAAC;AAiDjG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IAEzD;;;;OAIG;gBACS,OAAO,GAAE,oBAAyB;IAO9C;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmHpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAwB7B;;;;;OAKG;YACW,YAAY;IA4J1B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,MAAM,CACV,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,CAAC;IAkFlB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAoCpE;;;;;;;;;;;;;OAaG;IACH,QAAQ,CACN,QAAQ,EAAE,iBAAiB,EAC3B,iBAAiB,EAAE,MAAM,GACxB,gBAAgB;CAGpB"}
@@ -5,6 +5,44 @@ import { NavigatorConfigSchema, NavigatorResponseSchema, createAnswerQuestionPro
5
5
  import { createPluginManager, PluginConfigFileSchema } from "../plugins/index.js";
6
6
  import { sanitizeError } from "../plugins/utils/security.js";
7
7
  import { createSelfConfigMcpServer, createResponseMcpServer, SUBMIT_ANSWER_TOOL } from "../tools/index.js";
8
+ /**
9
+ * Optional LangSmith integration for tracing Claude Agent SDK calls
10
+ */
11
+ let langsmithTraceable = null;
12
+ let langsmithInitialized = false;
13
+ /**
14
+ * Lazily initialize LangSmith tracing if enabled via environment variables
15
+ */
16
+ async function initializeLangSmith() {
17
+ if (langsmithInitialized) {
18
+ return !!langsmithTraceable;
19
+ }
20
+ langsmithInitialized = true;
21
+ // Check if LangSmith tracing is enabled via environment variable
22
+ const tracingEnabled = process.env.LANGSMITH_TRACING === "true";
23
+ const hasApiKey = !!process.env.LANGSMITH_API_KEY;
24
+ if (!tracingEnabled || !hasApiKey) {
25
+ return false;
26
+ }
27
+ try {
28
+ // Dynamically import langsmith (optional peer dependency)
29
+ // Using dynamic import with string to avoid TypeScript compile-time resolution
30
+ const moduleName = "langsmith/traceable";
31
+ const langsmith = await import(moduleName);
32
+ langsmithTraceable = langsmith.traceable;
33
+ console.log("āœ… LangSmith tracing enabled");
34
+ if (process.env.LANGSMITH_PROJECT) {
35
+ console.log(` Project: ${process.env.LANGSMITH_PROJECT}`);
36
+ }
37
+ return true;
38
+ }
39
+ catch (error) {
40
+ // langsmith not installed or import failed - continue without tracing
41
+ console.warn("āš ļø LangSmith tracing requested but langsmith package not found.");
42
+ console.warn(" Install with: npm install langsmith");
43
+ return false;
44
+ }
45
+ }
8
46
  /**
9
47
  * Claude Agent SDK Adapter
10
48
  *
@@ -157,6 +195,30 @@ export class ClaudeAdapter {
157
195
  * ```
158
196
  */
159
197
  async query(navigator, question, options = {}) {
198
+ // Initialize LangSmith if needed
199
+ const tracingEnabled = await initializeLangSmith();
200
+ // Wrap the query execution with LangSmith tracing if enabled
201
+ if (tracingEnabled && langsmithTraceable) {
202
+ const tracedQuery = langsmithTraceable(this.executeQuery.bind(this), {
203
+ name: "autonav_query",
204
+ run_type: "chain",
205
+ metadata: {
206
+ navigator: navigator.config.name,
207
+ model: this.options.model,
208
+ },
209
+ });
210
+ return tracedQuery(navigator, question, options);
211
+ }
212
+ // Execute query without tracing
213
+ return this.executeQuery(navigator, question, options);
214
+ }
215
+ /**
216
+ * Internal method to execute the query
217
+ * Separated to allow for LangSmith tracing wrapper
218
+ *
219
+ * @internal
220
+ */
221
+ async executeQuery(navigator, question, options = {}) {
160
222
  const { enableSelfConfig = true, maxTurns = this.options.maxTurns, } = options;
161
223
  // Validate inputs
162
224
  if (!question || question.trim().length === 0) {
@@ -277,6 +339,99 @@ export class ClaudeAdapter {
277
339
  throw new Error(`Failed to query Claude: ${error instanceof Error ? error.message : String(error)}`);
278
340
  }
279
341
  }
342
+ /**
343
+ * Update navigator documentation
344
+ *
345
+ * Sends an update message to Claude with write permissions enabled.
346
+ * Claude can edit files in the knowledge base to document progress,
347
+ * add troubleshooting steps, or update existing documentation.
348
+ *
349
+ * @param navigator - Loaded navigator to update
350
+ * @param message - Update message or report
351
+ * @param options - Query options (maxTurns)
352
+ * @returns Text response from Claude describing what was updated
353
+ * @throws {Error} If API call fails or update fails
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * const result = await adapter.update(
358
+ * navigator,
359
+ * 'I completed feature X. Please document this in the knowledge base.'
360
+ * );
361
+ * console.log(result);
362
+ * ```
363
+ */
364
+ async update(navigator, message, options = {}) {
365
+ const { maxTurns = this.options.maxTurns } = options;
366
+ // Validate inputs
367
+ if (!message || message.trim().length === 0) {
368
+ throw new Error('Update message cannot be empty');
369
+ }
370
+ // Build system prompt with update-specific instructions
371
+ const systemPrompt = `${navigator.systemPrompt}
372
+
373
+ # Update Mode
374
+
375
+ You are in UPDATE MODE with write permissions enabled. The user wants to update the navigator's documentation.
376
+
377
+ When updating documentation:
378
+ - Edit existing files or create new files in the knowledge/ directory
379
+ - Be specific about what you're changing and why
380
+ - Maintain consistent formatting and style
381
+ - Cite which files you modified in your response
382
+
383
+ Your task: ${message}`;
384
+ try {
385
+ // Execute update using Claude Agent SDK with write permissions
386
+ const queryIterator = query({
387
+ prompt: message,
388
+ options: {
389
+ model: this.options.model,
390
+ maxTurns,
391
+ systemPrompt,
392
+ cwd: navigator.navigatorPath,
393
+ // Don't load user/project settings - we control everything
394
+ settingSources: [],
395
+ // Allow file writes in the navigator directory
396
+ permissionMode: "bypassPermissions",
397
+ },
398
+ });
399
+ // Collect the result
400
+ let resultMessage;
401
+ let lastAssistantText = "";
402
+ for await (const message of queryIterator) {
403
+ if (message.type === "assistant") {
404
+ const content = message.message.content;
405
+ for (const block of content) {
406
+ if (block.type === "text") {
407
+ lastAssistantText = block.text;
408
+ }
409
+ }
410
+ }
411
+ if (message.type === "result") {
412
+ resultMessage = message;
413
+ }
414
+ }
415
+ // Check for errors
416
+ if (!resultMessage) {
417
+ throw new Error("No result message received from Claude Agent SDK");
418
+ }
419
+ if (resultMessage.subtype !== "success") {
420
+ const errorDetails = "errors" in resultMessage
421
+ ? resultMessage.errors.join(", ")
422
+ : "Unknown error";
423
+ throw new Error(`Update failed: ${resultMessage.subtype} - ${errorDetails}`);
424
+ }
425
+ // Return the final response text
426
+ return resultMessage.result || lastAssistantText || "Update completed (no response text)";
427
+ }
428
+ catch (error) {
429
+ if (error instanceof Error) {
430
+ throw error;
431
+ }
432
+ throw new Error(`Failed to update navigator: ${error instanceof Error ? error.message : String(error)}`);
433
+ }
434
+ }
280
435
  /**
281
436
  * Parse Claude's response into a NavigatorResponse
282
437
  *
@@ -1 +1 @@
1
- {"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/adapter/claude-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../../src/adapter/claude-adapter.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Routes commands to appropriate handlers:
6
6
  * - autonav init -> nav-init.ts
7
7
  * - autonav query -> nav-query.ts
8
+ * - autonav update -> nav-update.ts
8
9
  * - autonav chat -> nav-chat.ts
9
10
  */
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"autonav.d.ts","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
1
+ {"version":3,"file":"autonav.d.ts","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
@@ -5,6 +5,7 @@
5
5
  * Routes commands to appropriate handlers:
6
6
  * - autonav init -> nav-init.ts
7
7
  * - autonav query -> nav-query.ts
8
+ * - autonav update -> nav-update.ts
8
9
  * - autonav chat -> nav-chat.ts
9
10
  */
10
11
  import { spawn } from "node:child_process";
@@ -33,9 +34,12 @@ Usage:
33
34
  autonav <command> [options]
34
35
 
35
36
  Commands:
36
- init <name> Create a new navigator
37
- query <path> Query a navigator
38
- chat <path> Interactive conversation with a navigator
37
+ init <name> Create a new navigator
38
+ query <path> Query a navigator
39
+ update <path> Update a navigator's documentation
40
+ chat <path> Interactive conversation with a navigator
41
+ install [path] Symlink local skills to global location
42
+ uninstall [path] Remove global skill symlinks (preserves local)
39
43
 
40
44
  Options:
41
45
  --help, -h Show help
@@ -46,12 +50,18 @@ Examples:
46
50
  autonav init platform-nav --pack platform-engineering
47
51
  autonav init my-nav --from ./existing-repo
48
52
  autonav query ./my-navigator "How do I deploy?"
53
+ autonav update ./my-navigator "I completed feature X. Please document this."
49
54
  autonav chat ./my-navigator
55
+ autonav install ./my-navigator
56
+ autonav uninstall ./my-navigator
50
57
 
51
58
  For command-specific help:
52
59
  autonav init --help
53
60
  autonav query --help
61
+ autonav update --help
54
62
  autonav chat --help
63
+ autonav install --help
64
+ autonav uninstall --help
55
65
  `);
56
66
  }
57
67
  function main() {
@@ -77,11 +87,20 @@ function main() {
77
87
  case "query":
78
88
  scriptPath = path.join(__dirname, "nav-query.js");
79
89
  break;
90
+ case "update":
91
+ scriptPath = path.join(__dirname, "nav-update.js");
92
+ break;
80
93
  case "chat":
81
94
  scriptPath = path.join(__dirname, "nav-chat.js");
82
95
  break;
96
+ case "install":
97
+ scriptPath = path.join(__dirname, "nav-install.js");
98
+ break;
99
+ case "uninstall":
100
+ scriptPath = path.join(__dirname, "nav-uninstall.js");
101
+ break;
83
102
  default:
84
- console.error(`āŒ Error: Unknown command: ${command}\n`);
103
+ console.error(`Error: Unknown command: ${command}\n`);
85
104
  printUsage();
86
105
  process.exit(1);
87
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"autonav.js","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonav.js","sourceRoot":"","sources":["../../src/cli/autonav.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,15 @@
2
2
  import * as fs from "node:fs";
3
3
  import * as path from "node:path";
4
4
  import * as os from "node:os";
5
+ import * as readline from "node:readline";
5
6
  import { loadTemplates, replaceTemplateVars } from "../templates/index.js";
6
7
  import { validateNavigatorName } from "../validation/index.js";
7
8
  import { installPack } from "../pack-installer/index.js";
8
- import { runInterviewTUI, isInteractiveTerminal } from "../interview/index.js";
9
+ import { runInterviewTUI, isInteractiveTerminal, hasProgress, loadProgress, clearProgress, getProgressSummary, } from "../interview/index.js";
9
10
  import { scanRepository } from "../repo-scanner/index.js";
10
11
  import { analyzeRepository } from "../repo-analyzer/index.js";
11
12
  import { confirmAnalysis, promptExistingClaudeMd, checkFileConflicts, } from "../confirmation/index.js";
12
- import { createNavigatorSkill } from "../skill-generator/index.js";
13
+ import { createAndSymlinkSkill } from "../skill-generator/index.js";
13
14
  function printUsage() {
14
15
  console.log(`
15
16
  autonav init - Create a new Platform AI navigator
@@ -139,6 +140,24 @@ function parseArgs(args) {
139
140
  }
140
141
  return { navigatorName, options };
141
142
  }
143
+ /**
144
+ * Prompt user if they want to resume from saved progress
145
+ */
146
+ async function promptResumeProgress(progress) {
147
+ const summary = getProgressSummary(progress);
148
+ return new Promise((resolve) => {
149
+ const rl = readline.createInterface({
150
+ input: process.stdin,
151
+ output: process.stdout,
152
+ });
153
+ console.log(`\n${summary}`);
154
+ rl.question("Resume from saved progress? [Y/n] ", (answer) => {
155
+ rl.close();
156
+ const shouldResume = !answer || answer.toLowerCase() === "y";
157
+ resolve(shouldResume);
158
+ });
159
+ });
160
+ }
142
161
  /**
143
162
  * Handle import mode (--from flag)
144
163
  * Scans an existing repository and creates a navigator that uses it as knowledge base
@@ -219,6 +238,7 @@ async function handleImportMode(navigatorName, options) {
219
238
  }
220
239
  console.log("\nStarting interview to customize configuration...\n");
221
240
  const interviewConfig = await runInterviewTUI(navigatorName, {
241
+ navigatorPath,
222
242
  analysisContext: analysis,
223
243
  });
224
244
  // Convert interview config to analysis result format
@@ -377,8 +397,8 @@ See \`config.json\` for navigator configuration.
377
397
  // Write README.md
378
398
  fs.writeFileSync(path.join(navigatorPath, "README.md"), replaceTemplateVars(templates.readme, vars));
379
399
  }
380
- // Create global "ask-<navname>" skill for inter-navigator communication
381
- await createNavigatorSkill({
400
+ // Create local skill and symlink to global for inter-navigator communication
401
+ await createAndSymlinkSkill(navigatorPath, {
382
402
  navigatorName,
383
403
  navigatorPath,
384
404
  description: finalAnalysis.purpose,
@@ -458,16 +478,25 @@ async function main() {
458
478
  const navigatorPath = path.resolve(process.cwd(), navigatorName);
459
479
  // Check if directory already exists
460
480
  if (fs.existsSync(navigatorPath)) {
461
- if (!options.force) {
481
+ // Check if there's saved interview progress - if so, allow continuing
482
+ if (hasProgress(navigatorPath)) {
483
+ // Directory exists with progress - we'll handle resume logic later in the interview flow
484
+ if (!options.quiet) {
485
+ console.log(`šŸ“‚ Found existing directory with saved interview progress`);
486
+ }
487
+ }
488
+ else if (!options.force) {
462
489
  console.error(`āŒ Error: Directory already exists: ${navigatorPath}`);
463
490
  console.error("Use --force to overwrite\n");
464
491
  process.exit(1);
465
492
  }
466
- // Remove existing directory if --force is specified
467
- if (!options.quiet) {
468
- console.log(`āš ļø Removing existing directory: ${navigatorPath}`);
493
+ else {
494
+ // Remove existing directory if --force is specified (and no progress)
495
+ if (!options.quiet) {
496
+ console.log(`āš ļø Removing existing directory: ${navigatorPath}`);
497
+ }
498
+ fs.rmSync(navigatorPath, { recursive: true, force: true });
469
499
  }
470
- fs.rmSync(navigatorPath, { recursive: true, force: true });
471
500
  }
472
501
  try {
473
502
  if (!options.quiet) {
@@ -554,7 +583,32 @@ async function main() {
554
583
  }
555
584
  else {
556
585
  try {
557
- interviewConfig = await runInterviewTUI(navigatorName, { packContext });
586
+ // Check for existing progress
587
+ let savedProgress;
588
+ if (hasProgress(navigatorPath)) {
589
+ const progress = loadProgress(navigatorPath);
590
+ if (progress && !options.force) {
591
+ const shouldResume = await promptResumeProgress(progress);
592
+ if (shouldResume) {
593
+ savedProgress = progress;
594
+ if (!options.quiet) {
595
+ console.log("āœ“ Resuming from saved progress\n");
596
+ }
597
+ }
598
+ else {
599
+ // User chose not to resume, clear the progress
600
+ clearProgress(navigatorPath);
601
+ if (!options.quiet) {
602
+ console.log("āœ“ Starting fresh interview\n");
603
+ }
604
+ }
605
+ }
606
+ }
607
+ interviewConfig = await runInterviewTUI(navigatorName, {
608
+ navigatorPath,
609
+ packContext,
610
+ savedProgress,
611
+ });
558
612
  if (!options.quiet) {
559
613
  console.log("\nāœ“ Interview completed");
560
614
  }
@@ -563,7 +617,26 @@ async function main() {
563
617
  // User cancelled or error occurred
564
618
  if (error instanceof Error && error.message === "Interview cancelled by user") {
565
619
  console.log("\nāš ļø Interview cancelled. Cleaning up...");
566
- fs.rmSync(navigatorPath, { recursive: true, force: true });
620
+ // Clean up the directory but keep the progress file for resume
621
+ const progressPath = path.join(navigatorPath, ".autonav-init-progress.json");
622
+ const hasProgressFile = fs.existsSync(progressPath);
623
+ if (hasProgressFile) {
624
+ // Save the progress file temporarily
625
+ const tempProgressPath = path.join(os.tmpdir(), `.autonav-init-progress-${navigatorName}.json`);
626
+ fs.copyFileSync(progressPath, tempProgressPath);
627
+ // Clean up the directory
628
+ fs.rmSync(navigatorPath, { recursive: true, force: true });
629
+ // Restore the progress file
630
+ fs.mkdirSync(navigatorPath, { recursive: true });
631
+ fs.copyFileSync(tempProgressPath, progressPath);
632
+ fs.unlinkSync(tempProgressPath);
633
+ if (!options.quiet) {
634
+ console.log("šŸ’¾ Progress saved. Run the same command again to resume.\n");
635
+ }
636
+ }
637
+ else {
638
+ fs.rmSync(navigatorPath, { recursive: true, force: true });
639
+ }
567
640
  process.exit(0);
568
641
  }
569
642
  throw error;
@@ -672,8 +745,8 @@ This is your knowledge base directory. Add your documentation files here.
672
745
  `;
673
746
  fs.writeFileSync(path.join(navigatorPath, "knowledge", "README.md"), starterReadme);
674
747
  }
675
- // Create global "ask-<navname>" skill for inter-navigator communication
676
- await createNavigatorSkill({
748
+ // Create local skill and symlink to global for inter-navigator communication
749
+ await createAndSymlinkSkill(navigatorPath, {
677
750
  navigatorName,
678
751
  navigatorPath,
679
752
  description,