@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
@@ -17,7 +17,7 @@ export declare function getInterviewSystemPrompt(packContext?: PackContext, anal
17
17
  /**
18
18
  * Legacy export for backwards compatibility
19
19
  */
20
- export declare const INTERVIEW_SYSTEM_PROMPT = "You are helping create a new Autonav navigator - a self-organizing knowledge assistant.\n\n## Your Role\nGuide the user through understanding their needs so you can create a well-configured navigator. Ask questions naturally, one at a time. Listen carefully and ask follow-up questions when needed.\n\n## Key Topics to Explore\n\n1. **Purpose**: What is this navigator for? What problems will it solve?\n2. **Scope**: What topics should it know about? What's explicitly out of scope?\n3. **Knowledge Structure**: How should knowledge be organized? (by topic, project, chronologically, as a journal, etc.)\n4. **Knowledge Sources**: What documentation will be added? How should new knowledge be captured over time?\n5. **Audience**: Who will use this? How should it communicate? (formal, casual, technical depth)\n6. **Autonomy**: How autonomous should it be? Should it create/modify files freely, or ask first?\n\n## Philosophy\nNavs are \"self-organizing notebooks that talk back\" - they edit their own knowledge files, learn from conversations, and maintain their own context. Help the user think through how they want this self-organization to work.\n\n## Guidelines\n- Ask ONE question at a time\n- Be conversational and helpful\n- Ask follow-up questions when answers are vague\n- After gathering enough information (usually 4-6 exchanges), output the navigator configuration\n\n## When Creating the Navigator\nAfter gathering enough information, output a JSON configuration block wrapped in ```json and ``` markers. The JSON must include:\n\n```json\n{\n \"purpose\": \"One-sentence description of what this navigator is for\",\n \"scope\": \"Topics in scope and explicitly out of scope\",\n \"knowledgeStructure\": \"How knowledge should be organized (by topic, chronologically, by project, etc.)\",\n \"audience\": \"Who uses this navigator and how it should communicate\",\n \"autonomy\": \"Autonomy level - can it create files freely or should it ask first\",\n \"claudeMd\": \"The complete CLAUDE.md content as a string with proper newlines (\\n)\",\n \"suggestedDirectories\": [\"optional\", \"array\", \"of\", \"subdirectories\"]\n}\n```\n\nThe claudeMd field should be a complete, personalized CLAUDE.md file based on what you learned, including:\n- Clear purpose statement\n- Grounding rules (always cite, never invent, acknowledge uncertainty)\n- Domain-specific scope definition\n- Knowledge organization guidance\n- Response format expectations\n- Self-organization rules based on their autonomy preference\n\nIMPORTANT: Only output the JSON configuration when you have gathered enough information. Before that, just ask questions conversationally.";
20
+ export declare const INTERVIEW_SYSTEM_PROMPT = "You are helping create a new Autonav navigator - a self-organizing knowledge assistant.\n\n## Your Role\nGuide the user through understanding their needs so you can create a well-configured navigator. Ask questions naturally, one at a time. Listen carefully and ask follow-up questions when needed.\n\n## Key Topics to Explore\n\n1. **Purpose**: What is this navigator for? What problems will it solve?\n2. **Scope**: What topics should it know about? What's explicitly out of scope?\n3. **Knowledge Structure**: How should knowledge be organized? (by topic, project, chronologically, as a journal, etc.)\n4. **Knowledge Sources**: What documentation will be added? How should new knowledge be captured over time?\n5. **Audience**: Who will use this? How should it communicate? (formal, casual, technical depth)\n6. **Autonomy**: How autonomous should it be? Should it create/modify files freely, or ask first?\n\n## Philosophy\nNavs are \"self-organizing notebooks that talk back\" - they edit their own knowledge files, learn from conversations, and maintain their own context. Help the user think through how they want this self-organization to work.\n\n## Interview Flow\n\n### Phase 1: Information Gathering (Exchanges 1-4)\n- Ask ONE question at a time\n- Be conversational and helpful\n- Ask follow-up questions when answers are vague\n- Focus on understanding their needs\n\n### Phase 2: Signal Readiness (After 4-6 exchanges)\nOnce you have gathered enough information to create a basic navigator configuration, signal that you're ready by saying something like:\n\n\"I have enough information to create your navigator. Type 'done' when you're ready, or we can continue refining if you have more details to share.\"\n\n**IMPORTANT**: After signaling readiness, DO NOT generate the JSON configuration yet. Wait for the user to explicitly type 'done', 'finish', 'ready', or similar. Continue answering any additional questions they have.\n\n### Phase 3: Configuration Generation (User types 'done')\nOnly generate the configuration when the user explicitly indicates they're ready.\n\n## When Creating the Navigator\nAfter the user types 'done' (or similar), output a JSON configuration block wrapped in ```json and ``` markers.\n\n**CRITICAL**: Output ONLY the JSON block and NOTHING ELSE. Do NOT add explanatory text before or after the JSON. The JSON itself IS your final response.\n\nThe JSON must include:\n\n```json\n{\n \"purpose\": \"One-sentence description of what this navigator is for\",\n \"scope\": \"Topics in scope and explicitly out of scope\",\n \"knowledgeStructure\": \"How knowledge should be organized (by topic, chronologically, by project, etc.)\",\n \"audience\": \"Who uses this navigator and how it should communicate\",\n \"autonomy\": \"Autonomy level - can it create files freely or should it ask first\",\n \"claudeMd\": \"The complete CLAUDE.md content as a string with proper newlines (\\n)\",\n \"suggestedDirectories\": [\"optional\", \"array\", \"of\", \"subdirectories\"]\n}\n```\n\n**IMPORTANT**: After outputting the JSON block, your job is complete. Do NOT add any commentary, instructions, or ask for further confirmation. The system will automatically use this configuration to create the navigator.\n\nThe claudeMd field should be a complete, personalized CLAUDE.md file based on what you learned, including:\n- Clear purpose statement\n- Grounding rules (always cite, never invent, acknowledge uncertainty)\n- Domain-specific scope definition\n- Knowledge organization guidance\n- Response format expectations\n- Self-organization rules based on their autonomy preference\n\n## Critical Rules\n1. Ask questions conversationally until you have enough information (4-6 exchanges typically)\n2. Signal readiness explicitly but DO NOT auto-generate configuration\n3. Wait for user's explicit 'done' command before generating JSON\n4. Never simulate user responses or create multi-turn conversations alone";
21
21
  /**
22
22
  * Type for the navigator configuration from the interview
23
23
  */
@@ -32,6 +32,9 @@ export interface NavigatorConfig {
32
32
  }
33
33
  /**
34
34
  * Parse a JSON configuration from the assistant's response
35
+ *
36
+ * This function extracts JSON from markdown code blocks and validates it.
37
+ * It handles cases where the agent includes additional text before or after the JSON.
35
38
  */
36
39
  export declare function parseNavigatorConfig(text: string): NavigatorConfig | null;
37
40
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/interview/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqDD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,cAAc,GAC/B,MAAM,CA+DR;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,unFAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAmBzE"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/interview/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2ED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,cAAc,GAC/B,MAAM,CA+DR;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,23HAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiCzE"}
@@ -21,14 +21,30 @@ Guide the user through understanding their needs so you can create a well-config
21
21
  ## Philosophy
22
22
  Navs are "self-organizing notebooks that talk back" - they edit their own knowledge files, learn from conversations, and maintain their own context. Help the user think through how they want this self-organization to work.
23
23
 
24
- ## Guidelines
24
+ ## Interview Flow
25
+
26
+ ### Phase 1: Information Gathering (Exchanges 1-4)
25
27
  - Ask ONE question at a time
26
28
  - Be conversational and helpful
27
29
  - Ask follow-up questions when answers are vague
28
- - After gathering enough information (usually 4-6 exchanges), output the navigator configuration
30
+ - Focus on understanding their needs
31
+
32
+ ### Phase 2: Signal Readiness (After 4-6 exchanges)
33
+ Once you have gathered enough information to create a basic navigator configuration, signal that you're ready by saying something like:
34
+
35
+ "I have enough information to create your navigator. Type 'done' when you're ready, or we can continue refining if you have more details to share."
36
+
37
+ **IMPORTANT**: After signaling readiness, DO NOT generate the JSON configuration yet. Wait for the user to explicitly type 'done', 'finish', 'ready', or similar. Continue answering any additional questions they have.
38
+
39
+ ### Phase 3: Configuration Generation (User types 'done')
40
+ Only generate the configuration when the user explicitly indicates they're ready.
29
41
 
30
42
  ## When Creating the Navigator
31
- After gathering enough information, output a JSON configuration block wrapped in \`\`\`json and \`\`\` markers. The JSON must include:
43
+ After the user types 'done' (or similar), output a JSON configuration block wrapped in \`\`\`json and \`\`\` markers.
44
+
45
+ **CRITICAL**: Output ONLY the JSON block and NOTHING ELSE. Do NOT add explanatory text before or after the JSON. The JSON itself IS your final response.
46
+
47
+ The JSON must include:
32
48
 
33
49
  \`\`\`json
34
50
  {
@@ -42,6 +58,8 @@ After gathering enough information, output a JSON configuration block wrapped in
42
58
  }
43
59
  \`\`\`
44
60
 
61
+ **IMPORTANT**: After outputting the JSON block, your job is complete. Do NOT add any commentary, instructions, or ask for further confirmation. The system will automatically use this configuration to create the navigator.
62
+
45
63
  The claudeMd field should be a complete, personalized CLAUDE.md file based on what you learned, including:
46
64
  - Clear purpose statement
47
65
  - Grounding rules (always cite, never invent, acknowledge uncertainty)
@@ -50,7 +68,11 @@ The claudeMd field should be a complete, personalized CLAUDE.md file based on wh
50
68
  - Response format expectations
51
69
  - Self-organization rules based on their autonomy preference
52
70
 
53
- IMPORTANT: Only output the JSON configuration when you have gathered enough information. Before that, just ask questions conversationally.`;
71
+ ## Critical Rules
72
+ 1. Ask questions conversationally until you have enough information (4-6 exchanges typically)
73
+ 2. Signal readiness explicitly but DO NOT auto-generate configuration
74
+ 3. Wait for user's explicit 'done' command before generating JSON
75
+ 4. Never simulate user responses or create multi-turn conversations alone`;
54
76
  /**
55
77
  * Get the interview system prompt, optionally customized for a pack or analysis
56
78
  */
@@ -119,22 +141,39 @@ Start by presenting the analysis summary and asking if they'd like to refine any
119
141
  export const INTERVIEW_SYSTEM_PROMPT = BASE_INTERVIEW_PROMPT;
120
142
  /**
121
143
  * Parse a JSON configuration from the assistant's response
144
+ *
145
+ * This function extracts JSON from markdown code blocks and validates it.
146
+ * It handles cases where the agent includes additional text before or after the JSON.
122
147
  */
123
148
  export function parseNavigatorConfig(text) {
124
- // Look for JSON code block
149
+ // Look for JSON code block - use non-greedy match to get first occurrence
150
+ // Pattern matches: ```json ... ``` (with optional whitespace)
125
151
  const jsonMatch = text.match(/```json\s*([\s\S]*?)```/);
126
152
  if (!jsonMatch || !jsonMatch[1]) {
127
153
  return null;
128
154
  }
129
155
  try {
130
- const config = JSON.parse(jsonMatch[1].trim());
156
+ const jsonText = jsonMatch[1].trim();
157
+ const config = JSON.parse(jsonText);
131
158
  // Validate required fields
132
159
  if (!config.purpose || !config.scope || !config.claudeMd) {
160
+ // Log validation failure for debugging
161
+ if (process.env.AUTONAV_DEBUG === "1" || process.env.DEBUG === "1") {
162
+ console.error("[DEBUG] Config validation failed:", {
163
+ hasPurpose: !!config.purpose,
164
+ hasScope: !!config.scope,
165
+ hasClaudeMd: !!config.claudeMd,
166
+ });
167
+ }
133
168
  return null;
134
169
  }
135
170
  return config;
136
171
  }
137
- catch {
172
+ catch (err) {
173
+ // Log parse error for debugging
174
+ if (process.env.AUTONAV_DEBUG === "1" || process.env.DEBUG === "1") {
175
+ console.error("[DEBUG] JSON parse error:", err);
176
+ }
138
177
  return null;
139
178
  }
140
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/interview/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2IA8C6G,CAAC;AAE5I;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAyB,EACzB,eAAgC;IAEhC,IAAI,MAAM,GAAG,qBAAqB,CAAC;IAEnC,uCAAuC;IACvC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,GAAG;;;6CAGuB,WAAW,CAAC,QAAQ,uBAAuB,WAAW,CAAC,WAAW;;CAE9G,CAAC;QAEE,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,WAAW,IAAI;;;;;;EAMnB,WAAW,CAAC,SAAS;;;;CAItB,CAAC;QACE,CAAC;aAAM,CAAC;YACN,WAAW,IAAI;;;;;;CAMpB,CAAC;QACE,CAAC;QAED,MAAM,IAAI,WAAW,CAAC;IACxB,CAAC;IAED,2CAA2C;IAC3C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG;;;;;;iBAMX,eAAe,CAAC,OAAO;eACzB,eAAe,CAAC,KAAK;kBAClB,eAAe,CAAC,QAAQ;oBACtB,CAAC,eAAe,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;;;CAShE,CAAC;QAEE,MAAM,IAAI,eAAe,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAe7D;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,2BAA2B;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAoB,CAAC;QAElE,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/interview/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EAoE4C,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAAyB,EACzB,eAAgC;IAEhC,IAAI,MAAM,GAAG,qBAAqB,CAAC;IAEnC,uCAAuC;IACvC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,GAAG;;;6CAGuB,WAAW,CAAC,QAAQ,uBAAuB,WAAW,CAAC,WAAW;;CAE9G,CAAC;QAEE,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,WAAW,IAAI;;;;;;EAMnB,WAAW,CAAC,SAAS;;;;CAItB,CAAC;QACE,CAAC;aAAM,CAAC;YACN,WAAW,IAAI;;;;;;CAMpB,CAAC;QACE,CAAC;QAED,MAAM,IAAI,WAAW,CAAC;IACxB,CAAC;IAED,2CAA2C;IAC3C,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG;;;;;;iBAMX,eAAe,CAAC,OAAO;eACzB,eAAe,CAAC,KAAK;kBAClB,eAAe,CAAC,QAAQ;oBACtB,CAAC,eAAe,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;;;CAShE,CAAC;QAEE,MAAM,IAAI,eAAe,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAe7D;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,0EAA0E;IAC1E,8DAA8D;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAoB,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzD,uCAAuC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE;oBACjD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;oBAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gCAAgC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pack-installer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAOD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA4C5B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAwB5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pack-installer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;EAKtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAOD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAoD5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA4C5B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAwB5B"}
@@ -29,11 +29,23 @@ export async function installPackFromFile(packFilePath, targetDir, onProgress) {
29
29
  file: packFilePath,
30
30
  cwd: tempDir,
31
31
  });
32
+ // Check if extraction created a single top-level directory
33
+ // (common pattern in tarballs from GitHub, etc.)
34
+ let packDir = tempDir;
35
+ const extractedEntries = fs.readdirSync(tempDir);
36
+ if (extractedEntries.length === 1) {
37
+ const firstEntry = extractedEntries[0];
38
+ if (firstEntry &&
39
+ fs.statSync(path.join(tempDir, firstEntry)).isDirectory()) {
40
+ // Use the single top-level directory as the pack directory
41
+ packDir = path.join(tempDir, firstEntry);
42
+ }
43
+ }
32
44
  // Validate pack structure
33
- const metadata = validatePackStructure(tempDir);
45
+ const metadata = validatePackStructure(packDir);
34
46
  onProgress?.(`Validated pack: ${metadata.name} v${metadata.version}`);
35
47
  // Install pack files to target directory
36
- const installedFiles = installPackFiles(tempDir, targetDir, onProgress);
48
+ const installedFiles = installPackFiles(packDir, targetDir, onProgress);
37
49
  // Clean up temp directory
38
50
  fs.rmSync(tempDir, { recursive: true, force: true });
39
51
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pack-installer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pack-installer/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  /**
2
2
  * Skill Generator
3
3
  *
4
- * Generates global Claude Code skills for navigators, enabling
4
+ * Generates Claude Code skills for navigators, enabling
5
5
  * inter-navigator communication via the "ask <navname>" pattern.
6
+ *
7
+ * Skills are stored locally in the navigator directory (.autonav/skills/)
8
+ * and symlinked to the global skills directory (~/.claude/skills/) for
9
+ * discovery by Claude Code.
6
10
  */
7
11
  export interface SkillConfig {
8
12
  /** Navigator name (used for skill name: ask-<navname>) */
@@ -17,21 +21,49 @@ export interface SkillConfig {
17
21
  audience?: string;
18
22
  }
19
23
  /**
20
- * Get the global skills directory path
24
+ * Get the global skills directory path (~/.claude/skills/)
21
25
  */
22
26
  export declare function getGlobalSkillsDir(): string;
23
27
  /**
24
- * Check if a skill already exists
28
+ * Get the local skills directory path for a navigator (.autonav/skills/)
29
+ */
30
+ export declare function getLocalSkillsDir(navigatorPath: string): string;
31
+ /**
32
+ * Get the full path to a local skill directory
33
+ */
34
+ export declare function getLocalSkillPath(navigatorPath: string, skillName: string): string;
35
+ /**
36
+ * Check if a skill already exists globally
25
37
  */
26
38
  export declare function skillExists(skillName: string): boolean;
39
+ /**
40
+ * Check if a skill exists locally in a navigator
41
+ */
42
+ export declare function localSkillExists(navigatorPath: string, skillName: string): boolean;
43
+ /**
44
+ * Check if a global skill is a symlink
45
+ */
46
+ export declare function isSkillSymlink(skillName: string): boolean;
47
+ /**
48
+ * Get the target of a global skill symlink
49
+ */
50
+ export declare function getSkillSymlinkTarget(skillName: string): string | null;
27
51
  /**
28
52
  * Generate the skill name from navigator name
29
53
  */
30
54
  export declare function getSkillName(navigatorName: string): string;
55
+ /**
56
+ * Generate the update skill name from navigator name
57
+ */
58
+ export declare function getUpdateSkillName(navigatorName: string): string;
31
59
  /**
32
60
  * Generate the SKILL.md content for a navigator
33
61
  */
34
62
  export declare function generateSkillContent(config: SkillConfig): string;
63
+ /**
64
+ * Generate the update skill content for a navigator (with write permissions)
65
+ */
66
+ export declare function generateUpdateSkillContent(config: SkillConfig): string;
35
67
  /**
36
68
  * Create a global skill for a navigator
37
69
  *
@@ -44,9 +76,62 @@ export declare function createNavigatorSkill(config: SkillConfig, options?: {
44
76
  quiet?: boolean;
45
77
  }): Promise<string | null>;
46
78
  /**
47
- * Remove a navigator skill
79
+ * Remove a navigator skill (both ask and update skills, global only)
48
80
  */
49
81
  export declare function removeNavigatorSkill(navigatorName: string, options?: {
50
82
  quiet?: boolean;
51
83
  }): boolean;
84
+ export interface SymlinkResult {
85
+ success: boolean;
86
+ action: "created" | "already_linked" | "conflict" | "error";
87
+ message: string;
88
+ skillName: string;
89
+ localPath?: string;
90
+ globalPath?: string;
91
+ conflictTarget?: string;
92
+ }
93
+ /**
94
+ * Create a skill locally in the navigator's .autonav/skills/ directory
95
+ */
96
+ export declare function createLocalSkill(navigatorPath: string, config: SkillConfig, options?: {
97
+ force?: boolean;
98
+ quiet?: boolean;
99
+ }): Promise<string | null>;
100
+ /**
101
+ * Create a symlink from global skills directory to local skill
102
+ *
103
+ * @returns SymlinkResult with status and details
104
+ */
105
+ export declare function symlinkSkillToGlobal(localSkillPath: string, skillName: string, options?: {
106
+ force?: boolean;
107
+ quiet?: boolean;
108
+ }): SymlinkResult;
109
+ /**
110
+ * Remove the global symlink for a skill (preserves local skill)
111
+ */
112
+ export declare function removeSkillSymlink(skillName: string, options?: {
113
+ quiet?: boolean;
114
+ }): {
115
+ success: boolean;
116
+ wasSymlink: boolean;
117
+ message: string;
118
+ };
119
+ /**
120
+ * Create a skill locally AND symlink it globally (recommended for new navigators)
121
+ *
122
+ * This is the preferred method for creating skills as it:
123
+ * 1. Stores the skill in the navigator's .autonav/skills/ (version-controlled)
124
+ * 2. Symlinks to ~/.claude/skills/ for global discovery
125
+ */
126
+ export declare function createAndSymlinkSkill(navigatorPath: string, config: SkillConfig, options?: {
127
+ force?: boolean;
128
+ quiet?: boolean;
129
+ }): Promise<{
130
+ localPath: string | null;
131
+ symlinkResult: SymlinkResult | null;
132
+ }>;
133
+ /**
134
+ * Discover all local skills in a navigator
135
+ */
136
+ export declare function discoverLocalSkills(navigatorPath: string): string[];
52
137
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill-generator/index.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgKhE;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAkBT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skill-generator/index.ts"],"names":[],"mappings":"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"}