@magic-ingredients/tiny-brain-local 0.13.0 → 0.14.10

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 (258) hide show
  1. package/dist/agents/formatters/claude-code-formatter.js +0 -1
  2. package/dist/agents/formatters/formatter-factory.js +0 -1
  3. package/dist/agents/types.js +0 -1
  4. package/dist/core/console-logger.js +0 -1
  5. package/dist/core/file-logger.js +0 -1
  6. package/dist/core/mcp-server.js +0 -1
  7. package/dist/index.d.ts +22 -8
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +20 -148
  10. package/dist/prompts/index.js +0 -1
  11. package/dist/prompts/persona/persona.prompt.js +0 -1
  12. package/dist/prompts/planning/planning.prompt.js +0 -1
  13. package/dist/prompts/prompt-registry.js +0 -1
  14. package/dist/prompts/rules/rules.prompt.js +0 -1
  15. package/dist/prompts/thinking/thinking.prompt.js +0 -1
  16. package/dist/services/UpdateService.js +0 -1
  17. package/dist/services/agent-installation-service.js +0 -1
  18. package/dist/services/agent-manager.js +0 -1
  19. package/dist/services/agent-service.js +0 -1
  20. package/dist/services/analyse-service.d.ts +52 -8
  21. package/dist/services/analyse-service.d.ts.map +1 -1
  22. package/dist/services/analyse-service.js +325 -66
  23. package/dist/services/credential-storage.service.js +0 -1
  24. package/dist/services/dashboard-launcher.service.js +0 -1
  25. package/dist/services/persona-enhancer.js +0 -1
  26. package/dist/services/persona-service.js +0 -1
  27. package/dist/services/remote/auth-token-service.js +0 -1
  28. package/dist/services/remote/persona-sync-service.js +0 -1
  29. package/dist/services/remote/system-persona-service.js +0 -1
  30. package/dist/services/repo-service.d.ts.map +1 -1
  31. package/dist/services/repo-service.js +31 -25
  32. package/dist/services/versioning-service.js +0 -1
  33. package/dist/storage/local-filesystem-adapter.js +0 -1
  34. package/dist/storage/platform-config-adapter.js +0 -1
  35. package/dist/storage/platform-path-builder.js +0 -1
  36. package/dist/storage/storage-path-builder.js +0 -1
  37. package/dist/tools/analyse-request/analyse-request.tool.js +0 -1
  38. package/dist/tools/analyse.tool.d.ts +4 -0
  39. package/dist/tools/analyse.tool.d.ts.map +1 -1
  40. package/dist/tools/analyse.tool.js +34 -3
  41. package/dist/tools/config/config.tool.d.ts +3 -0
  42. package/dist/tools/config/config.tool.d.ts.map +1 -1
  43. package/dist/tools/config/config.tool.js +139 -70
  44. package/dist/tools/config/index.js +0 -1
  45. package/dist/tools/index.d.ts +4 -4
  46. package/dist/tools/index.js +0 -1
  47. package/dist/tools/persona/as.tool.js +0 -1
  48. package/dist/tools/persona/persona.tool.js +0 -1
  49. package/dist/tools/plan/plan.tool.d.ts +4 -0
  50. package/dist/tools/plan/plan.tool.d.ts.map +1 -1
  51. package/dist/tools/plan/plan.tool.js +144 -32
  52. package/dist/tools/rules/rules.tool.js +0 -1
  53. package/dist/tools/strategy/strategy.tool.js +0 -1
  54. package/dist/tools/thinking/thinking.tool.js +0 -1
  55. package/dist/tools/tool-registry.js +0 -1
  56. package/dist/tools/update/update.tool.js +0 -1
  57. package/dist/tools/validate-response/validate-response.tool.js +0 -1
  58. package/dist/types/local-context.js +0 -1
  59. package/dist/types/request-context.d.ts +1 -1
  60. package/dist/types/request-context.d.ts.map +1 -1
  61. package/dist/types/request-context.js +0 -1
  62. package/dist/utils/package-version.js +0 -1
  63. package/dist/utils/repo-utils.js +0 -1
  64. package/package.json +8 -32
  65. package/LICENSE +0 -21
  66. package/README.md +0 -260
  67. package/dist/agents/formatters/claude-code-formatter.js.map +0 -1
  68. package/dist/agents/formatters/formatter-factory.js.map +0 -1
  69. package/dist/agents/types.js.map +0 -1
  70. package/dist/analyser/analyzers/script-analyzer.d.ts +0 -10
  71. package/dist/analyser/analyzers/script-analyzer.d.ts.map +0 -1
  72. package/dist/analyser/analyzers/script-analyzer.js +0 -205
  73. package/dist/analyser/analyzers/script-analyzer.js.map +0 -1
  74. package/dist/analyser/detectors/base-detector.d.ts +0 -12
  75. package/dist/analyser/detectors/base-detector.d.ts.map +0 -1
  76. package/dist/analyser/detectors/base-detector.js +0 -50
  77. package/dist/analyser/detectors/base-detector.js.map +0 -1
  78. package/dist/analyser/detectors/javascript-detector.d.ts +0 -19
  79. package/dist/analyser/detectors/javascript-detector.d.ts.map +0 -1
  80. package/dist/analyser/detectors/javascript-detector.js +0 -347
  81. package/dist/analyser/detectors/javascript-detector.js.map +0 -1
  82. package/dist/analyser/index.d.ts +0 -5
  83. package/dist/analyser/index.d.ts.map +0 -1
  84. package/dist/analyser/index.js +0 -315
  85. package/dist/analyser/index.js.map +0 -1
  86. package/dist/analyser/types.d.ts +0 -2
  87. package/dist/analyser/types.d.ts.map +0 -1
  88. package/dist/analyser/types.js +0 -2
  89. package/dist/analyser/types.js.map +0 -1
  90. package/dist/analyser/utils.d.ts +0 -5
  91. package/dist/analyser/utils.d.ts.map +0 -1
  92. package/dist/analyser/utils.js +0 -24
  93. package/dist/analyser/utils.js.map +0 -1
  94. package/dist/cli/cli-factory.d.ts +0 -3
  95. package/dist/cli/cli-factory.d.ts.map +0 -1
  96. package/dist/cli/cli-factory.js +0 -235
  97. package/dist/cli/cli-factory.js.map +0 -1
  98. package/dist/cli/commands/analyse.command.d.ts +0 -18
  99. package/dist/cli/commands/analyse.command.d.ts.map +0 -1
  100. package/dist/cli/commands/analyse.command.js +0 -161
  101. package/dist/cli/commands/analyse.command.js.map +0 -1
  102. package/dist/cli/commands/config.command.d.ts +0 -25
  103. package/dist/cli/commands/config.command.d.ts.map +0 -1
  104. package/dist/cli/commands/config.command.js +0 -285
  105. package/dist/cli/commands/config.command.js.map +0 -1
  106. package/dist/cli/commands/install.command.d.ts +0 -23
  107. package/dist/cli/commands/install.command.d.ts.map +0 -1
  108. package/dist/cli/commands/install.command.js +0 -189
  109. package/dist/cli/commands/install.command.js.map +0 -1
  110. package/dist/cli/commands/list.command.d.ts +0 -15
  111. package/dist/cli/commands/list.command.d.ts.map +0 -1
  112. package/dist/cli/commands/list.command.js +0 -90
  113. package/dist/cli/commands/list.command.js.map +0 -1
  114. package/dist/cli/commands/status.command.d.ts +0 -25
  115. package/dist/cli/commands/status.command.d.ts.map +0 -1
  116. package/dist/cli/commands/status.command.js +0 -367
  117. package/dist/cli/commands/status.command.js.map +0 -1
  118. package/dist/cli/commands/track-commit.command.d.ts +0 -52
  119. package/dist/cli/commands/track-commit.command.d.ts.map +0 -1
  120. package/dist/cli/commands/track-commit.command.js +0 -239
  121. package/dist/cli/commands/track-commit.command.js.map +0 -1
  122. package/dist/cli/commands/uninstall.command.d.ts +0 -23
  123. package/dist/cli/commands/uninstall.command.d.ts.map +0 -1
  124. package/dist/cli/commands/uninstall.command.js +0 -176
  125. package/dist/cli/commands/uninstall.command.js.map +0 -1
  126. package/dist/cli/commands/validate-commit-message.command.d.ts +0 -47
  127. package/dist/cli/commands/validate-commit-message.command.d.ts.map +0 -1
  128. package/dist/cli/commands/validate-commit-message.command.js +0 -223
  129. package/dist/cli/commands/validate-commit-message.command.js.map +0 -1
  130. package/dist/cli/installers/base-installer.d.ts +0 -20
  131. package/dist/cli/installers/base-installer.d.ts.map +0 -1
  132. package/dist/cli/installers/base-installer.js +0 -3
  133. package/dist/cli/installers/base-installer.js.map +0 -1
  134. package/dist/cli/installers/chatgpt-installer.d.ts +0 -18
  135. package/dist/cli/installers/chatgpt-installer.d.ts.map +0 -1
  136. package/dist/cli/installers/chatgpt-installer.js +0 -45
  137. package/dist/cli/installers/chatgpt-installer.js.map +0 -1
  138. package/dist/cli/installers/claude-code-installer.d.ts +0 -23
  139. package/dist/cli/installers/claude-code-installer.d.ts.map +0 -1
  140. package/dist/cli/installers/claude-code-installer.js +0 -127
  141. package/dist/cli/installers/claude-code-installer.js.map +0 -1
  142. package/dist/cli/installers/claude-desktop-installer.d.ts +0 -18
  143. package/dist/cli/installers/claude-desktop-installer.d.ts.map +0 -1
  144. package/dist/cli/installers/claude-desktop-installer.js +0 -48
  145. package/dist/cli/installers/claude-desktop-installer.js.map +0 -1
  146. package/dist/cli/installers/cursor-installer.d.ts +0 -18
  147. package/dist/cli/installers/cursor-installer.d.ts.map +0 -1
  148. package/dist/cli/installers/cursor-installer.js +0 -45
  149. package/dist/cli/installers/cursor-installer.js.map +0 -1
  150. package/dist/cli/installers/installer-factory.d.ts +0 -30
  151. package/dist/cli/installers/installer-factory.d.ts.map +0 -1
  152. package/dist/cli/installers/installer-factory.js +0 -90
  153. package/dist/cli/installers/installer-factory.js.map +0 -1
  154. package/dist/cli/utils/node-resolver.d.ts +0 -53
  155. package/dist/cli/utils/node-resolver.d.ts.map +0 -1
  156. package/dist/cli/utils/node-resolver.js +0 -200
  157. package/dist/cli/utils/node-resolver.js.map +0 -1
  158. package/dist/cli/utils/package-locator.d.ts +0 -9
  159. package/dist/cli/utils/package-locator.d.ts.map +0 -1
  160. package/dist/cli/utils/package-locator.js +0 -81
  161. package/dist/cli/utils/package-locator.js.map +0 -1
  162. package/dist/cli/utils/system-info.d.ts +0 -20
  163. package/dist/cli/utils/system-info.d.ts.map +0 -1
  164. package/dist/cli/utils/system-info.js +0 -90
  165. package/dist/cli/utils/system-info.js.map +0 -1
  166. package/dist/cli.d.ts +0 -3
  167. package/dist/cli.d.ts.map +0 -1
  168. package/dist/cli.js +0 -27
  169. package/dist/cli.js.map +0 -1
  170. package/dist/core/console-logger.js.map +0 -1
  171. package/dist/core/file-logger.js.map +0 -1
  172. package/dist/core/mcp-server.js.map +0 -1
  173. package/dist/index.js.map +0 -1
  174. package/dist/prompts/index.js.map +0 -1
  175. package/dist/prompts/persona/persona.prompt.js.map +0 -1
  176. package/dist/prompts/planning/planning.prompt.js.map +0 -1
  177. package/dist/prompts/prompt-registry.js.map +0 -1
  178. package/dist/prompts/rules/rules.prompt.js.map +0 -1
  179. package/dist/prompts/thinking/thinking.prompt.js.map +0 -1
  180. package/dist/services/UpdateService.js.map +0 -1
  181. package/dist/services/adr-service.d.ts +0 -70
  182. package/dist/services/adr-service.d.ts.map +0 -1
  183. package/dist/services/adr-service.js +0 -242
  184. package/dist/services/adr-service.js.map +0 -1
  185. package/dist/services/agent-installation-service.js.map +0 -1
  186. package/dist/services/agent-manager.js.map +0 -1
  187. package/dist/services/agent-service.js.map +0 -1
  188. package/dist/services/analyse-service.js.map +0 -1
  189. package/dist/services/credential-storage.service.js.map +0 -1
  190. package/dist/services/dashboard-launcher.service.js.map +0 -1
  191. package/dist/services/persona-enhancer.js.map +0 -1
  192. package/dist/services/persona-grouper.d.ts +0 -29
  193. package/dist/services/persona-grouper.d.ts.map +0 -1
  194. package/dist/services/persona-grouper.js +0 -111
  195. package/dist/services/persona-grouper.js.map +0 -1
  196. package/dist/services/persona-service.js.map +0 -1
  197. package/dist/services/remote/auth-token-service.js.map +0 -1
  198. package/dist/services/remote/persona-sync-service.js.map +0 -1
  199. package/dist/services/remote/system-persona-service.js.map +0 -1
  200. package/dist/services/repo-service.js.map +0 -1
  201. package/dist/services/types/persona-types.d.ts +0 -84
  202. package/dist/services/types/persona-types.d.ts.map +0 -1
  203. package/dist/services/types/persona-types.js +0 -5
  204. package/dist/services/types/persona-types.js.map +0 -1
  205. package/dist/services/versioning-service.js.map +0 -1
  206. package/dist/storage/local-filesystem-adapter.js.map +0 -1
  207. package/dist/storage/platform-config-adapter.js.map +0 -1
  208. package/dist/storage/platform-path-builder.js.map +0 -1
  209. package/dist/storage/storage-path-builder.js.map +0 -1
  210. package/dist/test-setup.d.ts +0 -2
  211. package/dist/test-setup.d.ts.map +0 -1
  212. package/dist/test-setup.js +0 -12
  213. package/dist/test-setup.js.map +0 -1
  214. package/dist/tools/analyse-request/analyse-request.tool.js.map +0 -1
  215. package/dist/tools/analyse.tool.js.map +0 -1
  216. package/dist/tools/config/config.tool.js.map +0 -1
  217. package/dist/tools/config/index.js.map +0 -1
  218. package/dist/tools/index.js.map +0 -1
  219. package/dist/tools/persona/as.tool.js.map +0 -1
  220. package/dist/tools/persona/persona.tool.js.map +0 -1
  221. package/dist/tools/plan/plan.tool.js.map +0 -1
  222. package/dist/tools/rules/rules.tool.js.map +0 -1
  223. package/dist/tools/strategy/strategy.tool.js.map +0 -1
  224. package/dist/tools/thinking/thinking.tool.js.map +0 -1
  225. package/dist/tools/tool-registry.js.map +0 -1
  226. package/dist/tools/update/update.tool.js.map +0 -1
  227. package/dist/tools/validate-response/validate-response.tool.js.map +0 -1
  228. package/dist/types/local-context.js.map +0 -1
  229. package/dist/types/request-context.js.map +0 -1
  230. package/dist/utils/adr-pattern-detector.d.ts +0 -38
  231. package/dist/utils/adr-pattern-detector.d.ts.map +0 -1
  232. package/dist/utils/adr-pattern-detector.js +0 -158
  233. package/dist/utils/adr-pattern-detector.js.map +0 -1
  234. package/dist/utils/adr-suggestion-generator.d.ts +0 -50
  235. package/dist/utils/adr-suggestion-generator.d.ts.map +0 -1
  236. package/dist/utils/adr-suggestion-generator.js +0 -63
  237. package/dist/utils/adr-suggestion-generator.js.map +0 -1
  238. package/dist/utils/commit-parser.d.ts +0 -25
  239. package/dist/utils/commit-parser.d.ts.map +0 -1
  240. package/dist/utils/commit-parser.js +0 -46
  241. package/dist/utils/commit-parser.js.map +0 -1
  242. package/dist/utils/package-version.js.map +0 -1
  243. package/dist/utils/repo-utils.js.map +0 -1
  244. package/templates/adr/README.md +0 -243
  245. package/templates/adr/_template/0001-record-architecture-decisions.md +0 -223
  246. package/templates/adr/_template/ADR_CREATION_INSTRUCTIONS.md +0 -234
  247. package/templates/adr/_template/adr-schema.json +0 -74
  248. package/templates/adr/_template/adr-template.md +0 -136
  249. package/templates/prd/PRD_CREATION_INSTRUCTIONS.md +0 -268
  250. package/templates/prd/README.md +0 -252
  251. package/templates/prd/_template/feature-template.md +0 -105
  252. package/templates/prd/_template/prd-template.md +0 -126
  253. package/templates/prd/example-task-management/features/task-collaboration.md +0 -84
  254. package/templates/prd/example-task-management/features/task-crud.md +0 -222
  255. package/templates/prd/example-task-management/features/task-workflow.md +0 -62
  256. package/templates/prd/example-task-management/prd.md +0 -177
  257. package/templates/prd/feature-schema.json +0 -54
  258. package/templates/prd/prd-schema.json +0 -60
@@ -572,13 +572,12 @@ export class RepoService {
572
572
  section += '**Product Requirements Documents (PRDs):**\n';
573
573
  section += `- Location: \`docs/prd/{prd-id}/prd.md\`\n`;
574
574
  section += `- Features: \`docs/prd/{prd-id}/features/{feature-id}.md\`\n`;
575
- section += `- Templates: \`docs/prd/_template/\`\n\n`;
575
+ section += `- Skills: \`.claude/skills/plan/\`, \`.claude/skills/feature/\`, \`.claude/skills/fix/\`\n\n`;
576
576
  }
577
577
  if (hasADR) {
578
578
  section += '**Architecture Decision Records (ADRs):**\n';
579
579
  section += `- Location: \`docs/adr/NNNN-decision-title.md\`\n`;
580
- section += `- Templates: \`docs/adr/_template/\`\n`;
581
- section += `- Example: \`docs/adr/_template/0001-record-architecture-decisions.md\`\n\n`;
580
+ section += `- Skill: \`.claude/skills/adr/\`\n\n`;
582
581
  }
583
582
  // Add PRD commit workflow with ADR checking if both exist
584
583
  if (hasPRD && hasADR) {
@@ -611,29 +610,24 @@ export class RepoService {
611
610
  return '';
612
611
  }
613
612
  let section = '\n### Documentation Templates\n\n';
613
+ const skillsPath = path.join(repoRoot, '.claude', 'skills');
614
614
  // Add PRD instructions if directory exists
615
615
  if (hasPRD) {
616
- const instructionsPath = path.join(prdPath, 'PRD_CREATION_INSTRUCTIONS.md');
617
- const templatePath = path.join(prdPath, '_template');
618
- const schemaPath = path.join(prdPath, '*.json');
619
- const examplePath = path.join(prdPath, 'example-task-management');
620
- section += '**PRD Creation:**\n';
621
- section += `- ALWAYS read \`${instructionsPath}\` before creating PRDs\n`;
622
- section += `- Use templates in \`${templatePath}/\`\n`;
623
- section += `- Validate against schemas in \`${schemaPath}\`\n`;
624
- section += `- Reference example: \`${examplePath}/\`\n\n`;
616
+ section += '**PRD & Feature Creation (Model-Invoked Skills):**\n';
617
+ section += `- Skills are automatically triggered based on your intent - describe what you want to do\n`;
618
+ section += `- "I want to plan a new feature" → triggers plan skill\n`;
619
+ section += `- "I want to add a feature to the PRD" → triggers feature skill\n`;
620
+ section += `- "I want to track a bug fix" → triggers fix skill\n`;
621
+ section += `- Skills: \`.claude/skills/plan/\`, \`.claude/skills/feature/\`, \`.claude/skills/fix/\`\n`;
622
+ section += `- Check available skills: ask "What Skills are available?"\n\n`;
625
623
  }
626
624
  // Add ADR instructions if directory exists
627
625
  if (hasADR) {
628
- const instructionsPath = path.join(adrPath, '_template', 'ADR_CREATION_INSTRUCTIONS.md');
629
- const templatePath = path.join(adrPath, '_template', 'adr-template.md');
630
- const schemaPath = path.join(adrPath, '_template', 'adr-schema.json');
631
- const examplePath = path.join(adrPath, '_template', '0001-record-architecture-decisions.md');
626
+ const adrSkillPath = path.join(skillsPath, 'adr');
632
627
  section += '**ADR Creation:**\n';
633
- section += `- ALWAYS read \`${instructionsPath}\` before creating ADRs\n`;
634
- section += `- Use template: \`${templatePath}\`\n`;
635
- section += `- Validate against schema: \`${schemaPath}\`\n`;
636
- section += `- Reference example: \`${examplePath}\`\n`;
628
+ section += `- Use \`/adr\` skill to create Architecture Decision Records\n`;
629
+ section += `- Skill located at \`${adrSkillPath}/\`\n`;
630
+ section += `- Template at \`${adrSkillPath}/templates/adr-template.md\`\n`;
637
631
  }
638
632
  return section;
639
633
  }
@@ -1211,18 +1205,22 @@ export class RepoService {
1211
1205
  return '';
1212
1206
  }
1213
1207
  let section = '## PRD Workflow\n\n';
1214
- section += 'IMPORTANT: Before starting work, read and understand all template files in `docs/prd/_template/` and `docs/adr/_template/` to understand the structure and requirements.\n\n';
1208
+ section += 'IMPORTANT: Skills at `.claude/skills/` are **model-invoked** - describe your intent and Claude will use them automatically.\n';
1209
+ section += 'Examples: "I want to plan a new feature", "track this bug fix", "add a feature to the PRD"\n';
1210
+ section += 'Check available skills: ask "What Skills are available?"\n\n';
1211
+ section += '**First-time Setup:** Run `npx tiny-brain analyse` from terminal before starting Claude Code to install skills.\n';
1212
+ section += 'If skills were installed mid-session, restart Claude Code to activate them.\n\n';
1215
1213
  section += '**Product Requirements Documents (PRDs):**\n';
1216
1214
  section += `- Location: \`docs/prd/{prd-id}/prd.md\`\n`;
1217
1215
  section += `- Features: \`docs/prd/{prd-id}/features/{feature-id}.md\`\n`;
1218
- section += `- Templates: \`docs/prd/_template/\` - READ ALL FILES to understand structure\n\n`;
1216
+ section += `- Skills: plan (create PRDs), feature (add features), fix (track fixes)\n\n`;
1219
1217
  // Check if ADR is enabled before showing ADR-related content
1220
1218
  const enableADR = await this.configService.isADREnabled();
1221
1219
  if (hasADR && enableADR) {
1222
1220
  section += '**Architecture Decision Records (ADRs):**\n';
1223
1221
  section += `- Location: \`docs/adr/NNNN-decision-title.md\`\n`;
1224
- section += `- Templates: \`docs/adr/_template/\` - READ ALL FILES to understand structure\n`;
1225
- section += `- Example: \`docs/adr/_template/0001-record-architecture-decisions.md\`\n\n`;
1222
+ section += `- Use \`/adr\` skill to create ADRs\n`;
1223
+ section += `- Skill and template at \`.claude/skills/adr/\`\n\n`;
1226
1224
  section += '**PRD Commit Workflow:**\n\n';
1227
1225
  section += 'After committing PRD-tracked code, ALWAYS check for ADR suggestions:\n\n';
1228
1226
  section += '1. After successful git commit (via Bash tool)\n';
@@ -1277,6 +1275,15 @@ export class RepoService {
1277
1275
  // Add TDD Workflow section
1278
1276
  section += '## TDD Workflow\n\n';
1279
1277
  section += '**MANDATORY:** This repository follows strict Test-Driven Development (TDD) with a 3-phase commit workflow.\n\n';
1278
+ section += '### ⚠️ CRITICAL RULE: One Task = One Commit Cycle\n\n';
1279
+ section += '**NEVER implement multiple tasks in a single commit.**\n\n';
1280
+ section += 'Each PRD task MUST have its own complete TDD cycle:\n';
1281
+ section += '- **1 task** = **1 test commit** (RED phase) + **1 feat commit** (GREEN phase) + optionally **1 refactor commit**\n';
1282
+ section += '- Multiple tasks cannot share commits - even if the implementation is related\n';
1283
+ section += '- This ensures accurate progress tracking and proper task completion detection\n';
1284
+ section += '- Violation of this rule will cause incorrect task tracking in progress.json\n\n';
1285
+ section += '❌ **WRONG**: One commit implements tasks 1-1, 1-4, 1-5, and 1-6\n';
1286
+ section += '✅ **CORRECT**: Four separate commit cycles, one for each task\n\n';
1280
1287
  section += '**CRITICAL RULES - NO EXCEPTIONS:**\n';
1281
1288
  section += '1. **NEVER** commit test files and implementation files together\n';
1282
1289
  section += '2. **ALWAYS** commit in this exact order: Red → Green → (optional) Refactor\n';
@@ -1374,4 +1381,3 @@ export class RepoService {
1374
1381
  return section;
1375
1382
  }
1376
1383
  }
1377
- //# sourceMappingURL=repo-service.js.map
@@ -188,4 +188,3 @@ export class VersioningService {
188
188
  return false;
189
189
  }
190
190
  }
191
- //# sourceMappingURL=versioning-service.js.map
@@ -251,4 +251,3 @@ export class LocalFilesystemStorageAdapter {
251
251
  return this.pathBuilder.buildUserBasePath();
252
252
  }
253
253
  }
254
- //# sourceMappingURL=local-filesystem-adapter.js.map
@@ -179,4 +179,3 @@ export class PlatformConfigAdapter extends LocalFilesystemStorageAdapter {
179
179
  return 'unknown';
180
180
  }
181
181
  }
182
- //# sourceMappingURL=platform-config-adapter.js.map
@@ -90,4 +90,3 @@ export class PlatformPathBuilder {
90
90
  return path.join(os.homedir(), '.tiny-brain', 'backups');
91
91
  }
92
92
  }
93
- //# sourceMappingURL=platform-path-builder.js.map
@@ -40,4 +40,3 @@ export class LocalStoragePathBuilder {
40
40
  return null;
41
41
  }
42
42
  }
43
- //# sourceMappingURL=storage-path-builder.js.map
@@ -117,4 +117,3 @@ export class AnalyseRequestTool {
117
117
  }
118
118
  }
119
119
  }
120
- //# sourceMappingURL=analyse-request.tool.js.map
@@ -9,6 +9,10 @@ import { Tool as MCPTool } from '@modelcontextprotocol/sdk/types.js';
9
9
  */
10
10
  export declare class AnalyseTool {
11
11
  static getToolDefinition(): MCPTool;
12
+ /**
13
+ * Generate pre-analysis feedback showing enabled/disabled features
14
+ */
15
+ private static getPreAnalysisFeedback;
12
16
  /**
13
17
  * Execute repository analysis
14
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"analyse.tool.d.ts","sourceRoot":"","sources":["../../src/tools/analyse.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAOrE;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAwBnC;;OAEG;WACU,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CAiGxF"}
1
+ {"version":3,"file":"analyse.tool.d.ts","sourceRoot":"","sources":["../../src/tools/analyse.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAQrE;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,MAAM,CAAC,iBAAiB,IAAI,OAAO;IAwBnC;;OAEG;mBACkB,sBAAsB;IA4B3C;;OAEG;WACU,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;CAsGxF"}
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { createErrorResult } from './index.js';
3
3
  import { AnalyseService } from '../services/analyse-service.js';
4
4
  import { AgentManager } from '../services/agent-manager.js';
5
+ import { ConfigService } from '@magic-ingredients/tiny-brain-core';
5
6
  const AnalyseArgsSchema = z.object({
6
7
  dryRun: z.boolean().optional().default(false),
7
8
  confirmInstall: z.boolean().optional().default(false),
@@ -16,7 +17,7 @@ export class AnalyseTool {
16
17
  static getToolDefinition() {
17
18
  return {
18
19
  name: 'analyse',
19
- description: "🔍 REPOSITORY ANALYSIS 🔍\n\n⚡ ANALYZE & UPDATE: Analyze repository tech stack and manage agents.\n\n✅ FEATURES:\n • Detect languages, frameworks, and tools\n • Prompt to install recommended agents\n • Check for agent updates\n • Show tech stack changes\n • Dry-run mode for preview\n\n💡 USAGE:\n • analyse - Analyze and prompt for installation\n • analyse --dry-run - Preview changes without prompting\n\n🤖 AGENTS:\n • Recommends agents based on tech stack\n • Updates agents to latest versions\n • Removes deprecated agents\n\n📊 OUTPUT:\n • Tech stack summary\n • Agent recommendations\n • Installation results",
20
+ description: "🔍 REPOSITORY ANALYSIS 🔍\n\n⚡ ANALYZE & UPDATE: Analyze repository tech stack and manage agents.\n\n✅ FEATURES:\n • Detect languages, frameworks, and tools\n • Prompt to install recommended agents\n • Check for agent updates\n • Show tech stack changes\n • Show installed skills with versions\n • Dry-run mode for preview\n\n💡 USAGE:\n • analyse - Analyze and prompt for installation\n • analyse --dry-run - Preview changes without prompting\n\n🤖 AGENTS:\n • Recommends agents based on tech stack\n • Updates agents to latest versions\n • Removes deprecated agents\n\n📜 SKILLS:\n • Shows installed skills (/plan, /feature, /fix, /adr)\n • Displays skill versions\n\n📊 OUTPUT:\n • Tech stack summary\n • Agent recommendations\n • Installed skills list\n • Installation results",
20
21
  inputSchema: {
21
22
  type: 'object',
22
23
  properties: {
@@ -35,17 +36,47 @@ export class AnalyseTool {
35
36
  },
36
37
  };
37
38
  }
39
+ /**
40
+ * Generate pre-analysis feedback showing enabled/disabled features
41
+ */
42
+ static async getPreAnalysisFeedback(context) {
43
+ try {
44
+ const configService = new ConfigService(context);
45
+ const preferences = await configService.getPreferences();
46
+ const repo = preferences.repo;
47
+ const featureStatus = (enabled) => enabled ? '✅ enabled' : '❌ disabled';
48
+ const lines = [
49
+ '# Analysis Plan',
50
+ '',
51
+ '## Feature Flags',
52
+ `- **enableSDD**: ${featureStatus(repo.enableSDD)}`,
53
+ `- **enableTDD**: ${featureStatus(repo.enableTDD)}`,
54
+ `- **enableADR**: ${featureStatus(repo.enableADR)}`,
55
+ `- **enableAgenticCoding**: ${featureStatus(repo.enableAgenticCoding)}`,
56
+ '',
57
+ '---',
58
+ '',
59
+ ];
60
+ return lines.join('\n');
61
+ }
62
+ catch {
63
+ // If config fails, continue without pre-analysis feedback
64
+ return null;
65
+ }
66
+ }
38
67
  /**
39
68
  * Execute repository analysis
40
69
  */
41
70
  static async execute(args, context) {
42
71
  try {
43
72
  const validatedArgs = AnalyseArgsSchema.parse(args);
73
+ // Get pre-analysis feedback
74
+ const preAnalysisFeedback = await AnalyseTool.getPreAnalysisFeedback(context);
44
75
  // Create service and perform analysis
45
76
  const service = new AnalyseService(context);
46
77
  const result = await service.performAnalysis(validatedArgs);
47
78
  // Format output for display
48
- let output = service.formatAnalysisOutput(result);
79
+ let output = preAnalysisFeedback ? preAnalysisFeedback + service.formatAnalysisOutput(result) : service.formatAnalysisOutput(result);
49
80
  // Handle agent installation
50
81
  if (!validatedArgs.dryRun && result.recommendations) {
51
82
  const hasRecommendations = (result.recommendations.install?.length || 0) > 0 ||
@@ -105,6 +136,7 @@ export class AnalyseTool {
105
136
  output += '\n✅ Agent management completed!';
106
137
  }
107
138
  }
139
+ // Note: Repository registration now happens in AnalyseService.performAnalysis()
108
140
  return {
109
141
  content: [{
110
142
  type: 'text',
@@ -121,4 +153,3 @@ export class AnalyseTool {
121
153
  }
122
154
  }
123
155
  }
124
- //# sourceMappingURL=analyse.tool.js.map
@@ -6,5 +6,8 @@ export declare class ConfigTool {
6
6
  static execute(args: Record<string, unknown>, context: RequestContext): Promise<ToolResult>;
7
7
  private static handleList;
8
8
  private static handleGet;
9
+ private static handleShowSources;
10
+ private static handleSet;
11
+ private static handleReset;
9
12
  }
10
13
  //# sourceMappingURL=config.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/config/config.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AASrE,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WAsDtB,OAAO,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;mBA+BD,UAAU;mBAwCV,SAAS;CAqF/B"}
1
+ {"version":3,"file":"config.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/config/config.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAUrE,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WA4DtB,OAAO,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;mBA6BD,UAAU;mBAwCV,SAAS;mBAoCT,iBAAiB;mBAgEjB,SAAS;mBA8CT,WAAW;CAqBjC"}
@@ -2,26 +2,25 @@ import { z } from 'zod';
2
2
  import { createSuccessResult, createErrorResult } from '../index.js';
3
3
  import { ConfigService } from '@magic-ingredients/tiny-brain-core';
4
4
  const ConfigArgsSchema = z.object({
5
- operation: z.enum(['list', 'get', 'set', 'reset']),
5
+ operation: z.enum(['list', 'get', 'show-sources', 'set', 'reset']),
6
6
  key: z.string().optional(),
7
- value: z.union([z.string(), z.boolean(), z.array(z.string())]).optional(),
7
+ value: z.string().optional(),
8
+ scope: z.enum(['global', 'repo']).optional(),
8
9
  });
9
10
  export class ConfigTool {
10
11
  static getToolDefinition() {
11
12
  return {
12
13
  name: 'config',
13
- description: `⚙️ CONFIGURATION VIEWER ⚙️
14
+ description: `⚙️ CONFIGURATION MANAGER ⚙️
14
15
 
15
- 📋 READ-ONLY CONFIG ACCESS: View user preferences through MCP.
16
+ 📋 MANAGE USER PREFERENCES: View and modify preferences through MCP.
16
17
 
17
18
  ✅ OPERATIONS:
18
19
  • list: Display all current preferences
19
20
  • get: Get a specific preference value
20
-
21
- WRITE OPERATIONS (CLI ONLY):
22
- set/reset require command line access
23
- • Use: npx tiny-brain config preferences set <key> <value>
24
- • Use: npx tiny-brain config preferences reset
21
+ • show-sources: Display preferences with their source (repo/global/default)
22
+ set: Set a preference value (requires key, value, and optional scope)
23
+ • reset: Reset all preferences to defaults
25
24
 
26
25
  📊 PREFERENCES:
27
26
  • autoCommitProgress - Auto-commit progress.json changes
@@ -34,26 +33,34 @@ export class ConfigTool {
34
33
  • prdDirectory - PRD directory path
35
34
  • testPatterns - Test file patterns array
36
35
 
37
- 🎯 HIERARCHY:
38
- Repository config > Global config > Hardcoded defaults
36
+ 🎯 SCOPE:
37
+ repo (default): Save to repository config ([repo]/.tiny-brain/config.json)
38
+ • global: Save to user config (~/.tiny-brain/config/preferences.json)
39
39
 
40
40
  💡 EXAMPLES:
41
41
  • config operation=list - Show all preferences
42
- • config operation=get key=enableTDD - Get specific preference`,
42
+ • config operation=get key=enableTDD - Get specific preference
43
+ • config operation=set key=enableTDD value=false scope=global - Set preference`,
43
44
  inputSchema: {
44
45
  type: 'object',
45
46
  properties: {
46
47
  operation: {
47
48
  type: 'string',
48
- enum: ['list', 'get', 'set', 'reset'],
49
+ enum: ['list', 'get', 'show-sources', 'set', 'reset'],
49
50
  description: 'The config operation to perform',
50
51
  },
51
52
  key: {
52
53
  type: 'string',
53
- description: 'Preference key (required for get operation)',
54
+ description: 'Preference key (required for get and set operations)',
54
55
  },
55
56
  value: {
56
- description: 'Preference value (not supported in MCP - use CLI)',
57
+ type: 'string',
58
+ description: 'Preference value as string (required for set operation)',
59
+ },
60
+ scope: {
61
+ type: 'string',
62
+ enum: ['global', 'repo'],
63
+ description: 'Config scope: "global" for user config, "repo" for repository config (default)',
57
64
  },
58
65
  },
59
66
  required: ['operation'],
@@ -69,12 +76,12 @@ export class ConfigTool {
69
76
  return await ConfigTool.handleList(configService);
70
77
  case 'get':
71
78
  return await ConfigTool.handleGet(validatedArgs, configService);
79
+ case 'show-sources':
80
+ return await ConfigTool.handleShowSources(configService);
72
81
  case 'set':
82
+ return await ConfigTool.handleSet(validatedArgs, configService);
73
83
  case 'reset':
74
- return createErrorResult(`❌ Write operations (${validatedArgs.operation}) are not supported through MCP.\n\n` +
75
- `Please use the command line interface:\n` +
76
- ` npx tiny-brain config preferences ${validatedArgs.operation}` +
77
- (validatedArgs.operation === 'set' ? ' <key> <value>' : ''));
84
+ return await ConfigTool.handleReset(configService);
78
85
  default:
79
86
  return createErrorResult(`Unknown operation: ${validatedArgs.operation}`);
80
87
  }
@@ -126,61 +133,15 @@ export class ConfigTool {
126
133
  if (!args.key) {
127
134
  return createErrorResult('key is required for get operation');
128
135
  }
129
- // Validate key is a valid preference
130
- const validKeys = [
131
- 'autoCommitProgress',
132
- 'enableAgenticCoding',
133
- 'enableSDD',
134
- 'enableTDD',
135
- 'enableADR',
136
- 'docsDirectory',
137
- 'adrDirectory',
138
- 'prdDirectory',
139
- 'testPatterns',
140
- ];
141
- if (!validKeys.includes(args.key)) {
142
- return createErrorResult(`Invalid preference key: ${args.key}\n\nValid keys: ${validKeys.join(', ')}`);
143
- }
144
136
  try {
145
- const preferences = await configService.getPreferences();
146
- const repo = preferences.repo;
147
- // Map flat keys to nested structure
148
- let value;
149
- switch (args.key) {
150
- case 'docsDirectory':
151
- value = repo.directories.docs;
152
- break;
153
- case 'adrDirectory':
154
- value = repo.directories.adr;
155
- break;
156
- case 'prdDirectory':
157
- value = repo.directories.prd;
158
- break;
159
- case 'autoCommitProgress':
160
- value = repo.autoCommitProgress;
161
- break;
162
- case 'enableAgenticCoding':
163
- value = repo.enableAgenticCoding;
164
- break;
165
- case 'enableSDD':
166
- value = repo.enableSDD;
167
- break;
168
- case 'enableTDD':
169
- value = repo.enableTDD;
170
- break;
171
- case 'enableADR':
172
- value = repo.enableADR;
173
- break;
174
- case 'testPatterns':
175
- value = repo.testPatterns;
176
- break;
177
- default:
178
- return createErrorResult(`Unknown preference key: ${args.key}`);
137
+ const result = await configService.getPreferenceByKey(args.key);
138
+ if (!result.isValid) {
139
+ return createErrorResult(result.error);
179
140
  }
180
141
  const lines = [
181
142
  `# Preference: ${args.key}`,
182
143
  '',
183
- `**Value**: ${typeof value === 'object' ? JSON.stringify(value) : value}`,
144
+ `**Value**: ${typeof result.value === 'object' ? JSON.stringify(result.value) : result.value}`,
184
145
  '',
185
146
  '---',
186
147
  '',
@@ -195,5 +156,113 @@ export class ConfigTool {
195
156
  return createErrorResult(`Failed to get preference: ${error instanceof Error ? error.message : 'Unknown error'}`);
196
157
  }
197
158
  }
159
+ static async handleShowSources(configService) {
160
+ try {
161
+ const sources = await configService.getPreferenceSources();
162
+ const { repo: repoConfig, global: globalConfig, merged } = sources;
163
+ // Helper to determine source of a preference value
164
+ const getSource = (key) => {
165
+ if (repoConfig.repo && key in repoConfig.repo && repoConfig.repo[key] !== undefined) {
166
+ return 'Repository';
167
+ }
168
+ if (globalConfig.repo && key in globalConfig.repo && globalConfig.repo[key] !== undefined) {
169
+ return 'Global';
170
+ }
171
+ return 'Default';
172
+ };
173
+ // Helper for nested directory values
174
+ const getDirSource = (dirKey) => {
175
+ if (repoConfig.repo?.directories && dirKey in repoConfig.repo.directories) {
176
+ return 'Repository';
177
+ }
178
+ if (globalConfig.repo?.directories && dirKey in globalConfig.repo.directories) {
179
+ return 'Global';
180
+ }
181
+ return 'Default';
182
+ };
183
+ // Get testPatterns source
184
+ const testPatternsSource = repoConfig.repo?.testPatterns ? 'Repository' :
185
+ globalConfig.repo?.testPatterns ? 'Global' : 'Default';
186
+ const lines = [
187
+ '# Preference Sources',
188
+ '',
189
+ '## Feature Flags',
190
+ `- **autoCommitProgress**: ${merged.repo.autoCommitProgress} _(${getSource('autoCommitProgress')})_`,
191
+ `- **enableAgenticCoding**: ${merged.repo.enableAgenticCoding} _(${getSource('enableAgenticCoding')})_`,
192
+ `- **enableSDD**: ${merged.repo.enableSDD} _(${getSource('enableSDD')})_`,
193
+ `- **enableTDD**: ${merged.repo.enableTDD} _(${getSource('enableTDD')})_`,
194
+ `- **enableADR**: ${merged.repo.enableADR} _(${getSource('enableADR')})_`,
195
+ '',
196
+ '## Directory Paths',
197
+ `- **docsDirectory**: \`${merged.repo.directories.docs}\` _(${getDirSource('docs')})_`,
198
+ `- **adrDirectory**: \`${merged.repo.directories.adr}\` _(${getDirSource('adr')})_`,
199
+ `- **prdDirectory**: \`${merged.repo.directories.prd}\` _(${getDirSource('prd')})_`,
200
+ '',
201
+ '## Test Configuration',
202
+ `- **testPatterns**: ${JSON.stringify(merged.repo.testPatterns)} _(${testPatternsSource})_`,
203
+ '',
204
+ '---',
205
+ '',
206
+ '## Config Files',
207
+ '- **Global**: `~/.tiny-brain/config/preferences.json`',
208
+ '- **Repository**: `[repo]/.tiny-brain/config.json`',
209
+ ];
210
+ return createSuccessResult(lines.join('\n'));
211
+ }
212
+ catch (error) {
213
+ return createErrorResult(`Failed to show preference sources: ${error instanceof Error ? error.message : 'Unknown error'}`);
214
+ }
215
+ }
216
+ static async handleSet(args, configService) {
217
+ if (!args.key) {
218
+ return createErrorResult('key is required for set operation');
219
+ }
220
+ if (args.value === undefined) {
221
+ return createErrorResult('value is required for set operation');
222
+ }
223
+ const scope = args.scope || 'repo';
224
+ try {
225
+ const result = await configService.setPreferenceByKey(args.key, args.value, scope);
226
+ if (!result.success) {
227
+ return createErrorResult(result.error);
228
+ }
229
+ const scopeLabel = scope === 'global' ? 'Global' : 'Repository';
230
+ const displayValue = args.value === 'true' || args.value === 'false'
231
+ ? args.value === 'true'
232
+ : args.value;
233
+ const lines = [
234
+ '# Preference Updated',
235
+ '',
236
+ `✅ **${args.key}** set to \`${displayValue}\``,
237
+ '',
238
+ `📁 **Scope**: ${scopeLabel}`,
239
+ '',
240
+ '---',
241
+ '',
242
+ '💡 Use `config operation=show-sources` to see all preference sources.',
243
+ ];
244
+ return createSuccessResult(lines.join('\n'));
245
+ }
246
+ catch (error) {
247
+ return createErrorResult(`Failed to set preference: ${error instanceof Error ? error.message : 'Unknown error'}`);
248
+ }
249
+ }
250
+ static async handleReset(configService) {
251
+ try {
252
+ await configService.resetPreferences();
253
+ const lines = [
254
+ '# Preferences reset',
255
+ '',
256
+ '✅ All preferences have been reset to their default values.',
257
+ '',
258
+ '---',
259
+ '',
260
+ '💡 Use `config operation=list` to see current preference values.',
261
+ ];
262
+ return createSuccessResult(lines.join('\n'));
263
+ }
264
+ catch (error) {
265
+ return createErrorResult(`Failed to reset preferences: ${error instanceof Error ? error.message : 'Unknown error'}`);
266
+ }
267
+ }
198
268
  }
199
- //# sourceMappingURL=config.tool.js.map
@@ -1,2 +1 @@
1
1
  export { ConfigTool } from './config.tool.js';
2
- //# sourceMappingURL=index.js.map
@@ -8,23 +8,23 @@ export declare const ToolResultSchema: z.ZodObject<{
8
8
  type: z.ZodLiteral<"text">;
9
9
  text: z.ZodString;
10
10
  }, "strip", z.ZodTypeAny, {
11
- type: "text";
12
11
  text: string;
13
- }, {
14
12
  type: "text";
13
+ }, {
15
14
  text: string;
15
+ type: "text";
16
16
  }>, "many">;
17
17
  isError: z.ZodOptional<z.ZodBoolean>;
18
18
  }, "strip", z.ZodTypeAny, {
19
19
  content: {
20
- type: "text";
21
20
  text: string;
21
+ type: "text";
22
22
  }[];
23
23
  isError?: boolean | undefined;
24
24
  }, {
25
25
  content: {
26
- type: "text";
27
26
  text: string;
27
+ type: "text";
28
28
  }[];
29
29
  isError?: boolean | undefined;
30
30
  }>;
@@ -21,4 +21,3 @@ export const createSuccessResult = (text) => ({
21
21
  });
22
22
  // Note: Tools should be imported from their individual directories or from all-tools.ts
23
23
  // to avoid circular dependencies
24
- //# sourceMappingURL=index.js.map
@@ -568,4 +568,3 @@ export class AsTool {
568
568
  context);
569
569
  }
570
570
  }
571
- //# sourceMappingURL=as.tool.js.map
@@ -202,4 +202,3 @@ export class ManagePersonasTool {
202
202
  }
203
203
  }
204
204
  }
205
- //# sourceMappingURL=persona.tool.js.map
@@ -17,5 +17,9 @@ export declare class PlanTool {
17
17
  private static handleDashboardStatus;
18
18
  private static handleAdr;
19
19
  private static handleCreateAdr;
20
+ /**
21
+ * Handle sync operation - regenerate progress.json from markdown files
22
+ */
23
+ private static handleSync;
20
24
  }
21
25
  //# sourceMappingURL=plan.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAuJrE,qBAAa,QAAQ;IACnB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WA4LtB,OAAO,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;mBAoED,YAAY;mBAuKZ,aAAa;mBAyCb,eAAe;mBA0Df,YAAY;mBA+CZ,YAAY;mBAsDZ,YAAY;mBAiCZ,UAAU;mBA2DV,aAAa;mBA2Cb,oBAAoB;mBA+CpB,mBAAmB;mBAsBnB,qBAAqB;mBAqCrB,SAAS;mBAgGT,eAAe;CAsFrC"}
1
+ {"version":3,"file":"plan.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AA2LrE,qBAAa,QAAQ;IACnB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WA4LtB,OAAO,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;mBA2ED,YAAY;mBA+LZ,aAAa;mBAyCb,eAAe;mBA0Df,YAAY;mBA+CZ,YAAY;mBAsDZ,YAAY;mBAiCZ,UAAU;mBA2DV,aAAa;mBA2Cb,oBAAoB;mBA+CpB,mBAAmB;mBAsBnB,qBAAqB;mBAqCrB,SAAS;mBAgGT,eAAe;IAuFpC;;OAEG;mBACkB,UAAU;CA2DhC"}