@magic-ingredients/tiny-brain-local 0.13.1 → 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 -151
  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
@@ -1,239 +0,0 @@
1
- /**
2
- * Track Commit Command
3
- *
4
- * Hidden CLI command called by git hooks to track commit SHAs.
5
- * Maps commit message prefixes to TDD phases and updates feature markdown files.
6
- */
7
- import chalk from 'chalk';
8
- import { exec } from 'node:child_process';
9
- import { promisify } from 'node:util';
10
- const execAsync = promisify(exec);
11
- export class TrackCommitCommand {
12
- planningService;
13
- configService;
14
- execFn;
15
- constructor(_context, planningService, configService, execFn) {
16
- this.planningService = planningService;
17
- this.configService = configService;
18
- this.execFn = execFn || execAsync;
19
- }
20
- /**
21
- * Detect TDD phase from commit message prefix
22
- * Supports conventional commit format with optional scope:
23
- * - test: or test(scope):
24
- * - feat: or feat(scope):
25
- * - fix: or fix(scope):
26
- * - refactor: or refactor(scope):
27
- *
28
- * See: https://www.conventionalcommits.org/en/v1.0.0/
29
- */
30
- async detectPhase(message) {
31
- // Match conventional commit format: type(optional-scope):
32
- // Examples: test:, test(api):, feat:, feat(auth):, fix:, fix(api):, refactor:, refactor(plan):
33
- if (/^test(\([^)]+\))?:/i.test(message)) {
34
- return 'test';
35
- }
36
- if (/^feat(\([^)]+\))?:/i.test(message)) {
37
- return 'impl';
38
- }
39
- if (/^fix(\([^)]+\))?:/i.test(message)) {
40
- return 'impl';
41
- }
42
- if (/^refactor(\([^)]+\))?:/i.test(message)) {
43
- return 'refactor';
44
- }
45
- return null;
46
- }
47
- /**
48
- * Parse commit headers for PRD, Feature, and Task metadata
49
- * @returns Parsed headers or null if any required header is missing
50
- */
51
- parseCommitHeaders(message) {
52
- const prdMatch = message.match(/^PRD:\s*(.+)$/m);
53
- const featureMatch = message.match(/^Feature:\s*(.+)$/m);
54
- const taskMatch = message.match(/^Task:\s*(.+)$/m);
55
- // All three headers are required
56
- if (!prdMatch || !featureMatch || !taskMatch) {
57
- return null;
58
- }
59
- return {
60
- prdId: prdMatch[1].trim(),
61
- featureId: featureMatch[1].trim(),
62
- taskDescription: taskMatch[1].trim(),
63
- };
64
- }
65
- /**
66
- * Find task using explicit header metadata
67
- */
68
- findTaskByHeaders(plan, featureId, taskDescription) {
69
- // Find feature by ID
70
- const feature = plan.features?.find((f) => f.id === featureId);
71
- if (!feature) {
72
- return null;
73
- }
74
- // Find task by exact description match
75
- const task = feature.tasks?.find((t) => t.description === taskDescription);
76
- if (!task) {
77
- return null;
78
- }
79
- return {
80
- featureNumber: feature.number,
81
- taskId: task.id,
82
- };
83
- }
84
- /**
85
- * Execute the commit tracking
86
- */
87
- async execute(options) {
88
- console.log(chalk.blue(`[track-commit] Processing commit ${options.sha.substring(0, 7)}`));
89
- try {
90
- // Detect phase
91
- const phase = await this.detectPhase(options.message);
92
- // Silently ignore non-trackable commits
93
- if (!phase) {
94
- console.log(chalk.gray('[track-commit] No TDD phase detected (expected test:, feat:, fix:, or refactor: with optional scope) - skipping'));
95
- return;
96
- }
97
- console.log(chalk.blue(`[track-commit] Detected phase: ${phase}`));
98
- // Parse commit headers (required for repo-scoped PRDs)
99
- const headers = this.parseCommitHeaders(options.message);
100
- if (!headers) {
101
- // No headers - silently ignore (commit not related to PRD tracking)
102
- console.log(chalk.gray('[track-commit] No PRD headers found - skipping'));
103
- if (options.verbose) {
104
- console.error(chalk.yellow('āš ļø No PRD headers found in commit message'));
105
- }
106
- return;
107
- }
108
- console.log(chalk.blue(`[track-commit] PRD: ${headers.prdId}, Feature: ${headers.featureId}`));
109
- console.log(chalk.blue(`[track-commit] Task: ${headers.taskDescription}`));
110
- // Load plan by PRD ID from headers (use 'default' persona for repo-scoped plans)
111
- let plan;
112
- try {
113
- plan = await this.planningService.loadPlanForPersona('default', headers.prdId);
114
- console.log(chalk.green(`[track-commit] āœ“ Loaded plan: ${plan.title}`));
115
- }
116
- catch (error) {
117
- console.error(chalk.yellow(`[track-commit] āš ļø PRD not found: ${headers.prdId}`));
118
- if (options.verbose) {
119
- console.error(chalk.red(`[track-commit] Error: ${error.message}`));
120
- }
121
- return;
122
- }
123
- // Find task using headers (exact matching)
124
- const match = this.findTaskByHeaders(plan, headers.featureId, headers.taskDescription);
125
- if (!match) {
126
- console.error(chalk.yellow(`[track-commit] āš ļø Task not found in feature "${headers.featureId}": ${headers.taskDescription}`));
127
- if (options.verbose) {
128
- console.error(chalk.yellow(`āš ļø Task not found in feature "${headers.featureId}": ${headers.taskDescription}`));
129
- }
130
- return;
131
- }
132
- console.log(chalk.green(`[track-commit] āœ“ Found task in feature #${match.featureNumber}`));
133
- // Get the current task to check existing commits
134
- const feature = plan.features?.find((f) => f.number === match.featureNumber);
135
- const currentTask = feature?.tasks?.find((t) => t.id === match.taskId);
136
- // Build update object based on phase
137
- const timestamp = new Date().toISOString();
138
- const updateTask = {
139
- id: match.taskId,
140
- };
141
- if (phase === 'test') {
142
- updateTask.testCommitSha = options.sha;
143
- updateTask.testCommittedAt = timestamp;
144
- // Only transition to 'tested' if no impl commit exists yet
145
- // If impl commit exists, keep status as 'completed'
146
- if (!currentTask?.commitSha) {
147
- console.log(chalk.blue('[track-commit] No impl commit exists - setting status to tested'));
148
- updateTask.status = 'tested'; // Auto-transition to RED phase
149
- }
150
- else {
151
- console.log(chalk.green(`[track-commit] Impl commit exists (${currentTask.commitSha.substring(0, 7)}) - preserving completed status`));
152
- }
153
- }
154
- else if (phase === 'impl') {
155
- updateTask.commitSha = options.sha;
156
- updateTask.committedAt = timestamp;
157
- updateTask.completedAt = timestamp;
158
- updateTask.status = 'completed'; // Auto-transition to GREEN phase
159
- }
160
- else if (phase === 'refactor') {
161
- updateTask.refactorCommitSha = options.sha;
162
- updateTask.refactorCommittedAt = timestamp;
163
- // Status remains 'completed' - no transition needed
164
- }
165
- // Update plan
166
- console.log(chalk.blue(`[track-commit] Updating task with ${phase} commit SHA...`));
167
- await this.planningService.updatePlan({
168
- planId: plan.id,
169
- updates: {
170
- updateFeature: {
171
- featureNumber: match.featureNumber,
172
- updateTask,
173
- },
174
- },
175
- });
176
- console.log(chalk.green(`[track-commit] āœ… Successfully tracked ${phase} commit ${options.sha.substring(0, 7)}`));
177
- console.log(chalk.green(`[track-commit] āœ… Updated progress.json (changes not committed)`));
178
- if (options.verbose) {
179
- console.log(chalk.green(`āœ… Tracked ${phase} commit ${options.sha.substring(0, 7)} for task: ${headers.taskDescription}`));
180
- }
181
- // Check if auto-commit is enabled
182
- if (this.configService) {
183
- try {
184
- const autoCommit = await this.configService.isAutoCommitProgressEnabled();
185
- if (autoCommit) {
186
- console.log(chalk.blue('[track-commit] Auto-commit enabled - committing progress.json changes'));
187
- // Stage progress.json
188
- await this.execFn('git add docs/prd/*/progress.json', { cwd: process.cwd() });
189
- // Create commit for progress.json update
190
- const commitMessage = `chore: update progress tracking for ${headers.prdId}
191
-
192
- Auto-committed progress.json changes after tracking ${phase} commit ${options.sha.substring(0, 7)}
193
-
194
- Task: ${headers.taskDescription}
195
- Feature: ${headers.featureId}`;
196
- await this.execFn(`git commit -m "${commitMessage.replace(/"/g, '\\"')}"`, { cwd: process.cwd() });
197
- console.log(chalk.green('[track-commit] āœ… Auto-committed progress.json changes'));
198
- }
199
- else {
200
- // Auto-commit disabled - show user-friendly instructions
201
- console.log('');
202
- console.log(chalk.cyan('šŸ“ Progress tracking updated!'));
203
- console.log('');
204
- console.log(chalk.gray(' To commit progress.json changes, run:'));
205
- console.log(chalk.white(' git add docs/prd/*/progress.json'));
206
- console.log(chalk.white(' git commit -m "chore: update progress tracking"'));
207
- console.log('');
208
- console.log(chalk.gray(' šŸ’” Tip: Enable auto-commit to skip this step:'));
209
- console.log(chalk.white(' npx tiny-brain config preferences set autoCommitProgress true'));
210
- console.log('');
211
- }
212
- }
213
- catch (error) {
214
- // Don't fail the whole command if auto-commit fails
215
- console.log(chalk.yellow(`[track-commit] āš ļø Auto-commit failed: ${error.message}`));
216
- console.log(chalk.gray('[track-commit] You can manually commit progress.json changes'));
217
- }
218
- }
219
- else {
220
- // ConfigService not available - show manual instructions
221
- console.log('');
222
- console.log(chalk.cyan('šŸ“ Progress tracking updated!'));
223
- console.log('');
224
- console.log(chalk.gray(' To commit progress.json changes, run:'));
225
- console.log(chalk.white(' git add docs/prd/*/progress.json'));
226
- console.log(chalk.white(' git commit -m "chore: update progress tracking"'));
227
- console.log('');
228
- }
229
- }
230
- catch (error) {
231
- // Fail silently to avoid blocking commits
232
- console.error(chalk.red(`[track-commit] āŒ Error tracking commit: ${error.message}`));
233
- if (options.verbose) {
234
- console.error(chalk.red('āŒ Error tracking commit:'), error);
235
- }
236
- }
237
- }
238
- }
239
- //# sourceMappingURL=track-commit.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"track-commit.command.js","sourceRoot":"","sources":["../../../src/cli/commands/track-commit.command.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { InstallerFactory } from '../installers/installer-factory.js';
2
- import { ConfigScope } from '../../storage/platform-path-builder.js';
3
- interface UninstallOptions {
4
- platform?: string;
5
- all?: boolean;
6
- name?: string;
7
- scope?: ConfigScope;
8
- force?: boolean;
9
- }
10
- export declare class UninstallCommand {
11
- private factory;
12
- constructor(factory: InstallerFactory);
13
- execute(options?: UninstallOptions): Promise<void>;
14
- private determinePlatforms;
15
- private getInstalledPlatforms;
16
- private promptForPlatforms;
17
- private confirmUninstall;
18
- private getPlatformDisplayName;
19
- private uninstallPlatforms;
20
- private showSummary;
21
- }
22
- export {};
23
- //# sourceMappingURL=uninstall.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAQD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,gBAAgB;IAI/B,OAAO,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;YA8B9C,kBAAkB;YAuBlB,qBAAqB;YASrB,kBAAkB;YAqClB,gBAAgB;IAe9B,OAAO,CAAC,sBAAsB;YAWhB,kBAAkB;IAkDhC,OAAO,CAAC,WAAW;CA6BpB"}
@@ -1,176 +0,0 @@
1
- import chalk from 'chalk';
2
- import inquirer from 'inquirer';
3
- export class UninstallCommand {
4
- factory;
5
- constructor(factory) {
6
- this.factory = factory;
7
- }
8
- async execute(options = {}) {
9
- console.log(chalk.cyan.bold('\nšŸ—‘ļø tiny-brain MCP Server Uninstaller\n'));
10
- const serverName = options.name || 'tiny-brain';
11
- // Determine which platforms to uninstall from
12
- const platforms = await this.determinePlatforms(options);
13
- if (platforms.length === 0) {
14
- console.log(chalk.yellow('āš ļø No platforms selected for uninstallation'));
15
- return;
16
- }
17
- // Confirm uninstallation unless --force flag is set
18
- if (!options.force) {
19
- const confirmed = await this.confirmUninstall(platforms, serverName);
20
- if (!confirmed) {
21
- console.log(chalk.yellow('\nāš ļø Uninstallation cancelled'));
22
- return;
23
- }
24
- }
25
- // Uninstall from each selected platform
26
- console.log(chalk.cyan(`\nšŸ—‘ļø Uninstalling from ${platforms.length} platform(s)...\n`));
27
- const results = await this.uninstallPlatforms(platforms, serverName, options);
28
- // Show summary
29
- this.showSummary(results);
30
- }
31
- async determinePlatforms(options) {
32
- // If specific platform provided
33
- if (options.platform) {
34
- return [options.platform];
35
- }
36
- // Get installed platforms
37
- const installedPlatforms = await this.getInstalledPlatforms();
38
- if (installedPlatforms.length === 0) {
39
- console.log(chalk.yellow('āš ļø tiny-brain is not installed on any platforms'));
40
- return [];
41
- }
42
- // If --all flag is set
43
- if (options.all) {
44
- return installedPlatforms;
45
- }
46
- // Interactive mode
47
- return await this.promptForPlatforms(installedPlatforms);
48
- }
49
- async getInstalledPlatforms() {
50
- try {
51
- const installers = await this.factory.getInstallersForInstalledPlatforms();
52
- return installers.map(i => i.getPlatformName());
53
- }
54
- catch {
55
- return [];
56
- }
57
- }
58
- async promptForPlatforms(installedPlatforms) {
59
- const choices = [
60
- {
61
- name: chalk.bold('šŸ—‘ļø Uninstall All'),
62
- value: 'all',
63
- checked: false
64
- },
65
- ...installedPlatforms.map(platform => ({
66
- name: this.getPlatformDisplayName(platform),
67
- value: platform,
68
- checked: false
69
- }))
70
- ];
71
- const { platforms } = await inquirer.prompt([
72
- {
73
- type: 'checkbox',
74
- name: 'platforms',
75
- message: 'šŸŽÆ Select platforms to uninstall tiny-brain from:',
76
- choices,
77
- validate: (answer) => {
78
- if (answer.length === 0) {
79
- return 'You must select at least one platform';
80
- }
81
- return true;
82
- }
83
- }
84
- ]);
85
- // Handle "Uninstall All" selection
86
- if (platforms.includes('all')) {
87
- return installedPlatforms;
88
- }
89
- return platforms;
90
- }
91
- async confirmUninstall(platforms, serverName) {
92
- const platformList = platforms.map(p => ` • ${this.getPlatformDisplayName(p)}`).join('\n');
93
- const { confirm } = await inquirer.prompt([
94
- {
95
- type: 'confirm',
96
- name: 'confirm',
97
- message: `Are you sure you want to uninstall "${serverName}" from:\n${platformList}\n`,
98
- default: false
99
- }
100
- ]);
101
- return confirm;
102
- }
103
- getPlatformDisplayName(platform) {
104
- const displayNames = {
105
- 'claude-code': 'šŸ¤– Claude Code',
106
- 'claude-desktop': 'šŸ’» Claude Desktop',
107
- 'cursor': '⚔ Cursor IDE',
108
- 'chatgpt': '🧠 ChatGPT Desktop'
109
- };
110
- return displayNames[platform] || platform;
111
- }
112
- async uninstallPlatforms(platforms, serverName, options) {
113
- const results = new Map();
114
- for (const platform of platforms) {
115
- console.log(chalk.cyan.bold(`\nšŸ—‘ļø Uninstalling Tiny Brain from ${platform}...`));
116
- try {
117
- const installer = this.factory.getInstaller(platform);
118
- console.log(chalk.gray(`šŸ” Locating configuration...`));
119
- const configPath = installer.getConfigPath();
120
- console.log(chalk.gray(` šŸ“ Config path: ${configPath}`));
121
- console.log(chalk.gray(`šŸ—‘ļø Removing tiny-brain configuration...`));
122
- await installer.uninstall(serverName, {
123
- scope: options.scope || 'local'
124
- });
125
- // Verify uninstallation
126
- console.log(chalk.gray(`šŸ” Verifying removal...`));
127
- const stillInstalled = await installer.verify(serverName, { scope: options.scope || 'local' });
128
- if (!stillInstalled) {
129
- console.log(chalk.green.bold(`āœ… Successfully uninstalled tiny-brain from ${this.getPlatformDisplayName(platform)}`));
130
- results.set(platform, { success: true });
131
- }
132
- else {
133
- console.log(chalk.yellow(`āš ļø Uninstalled but verification shows it still exists in ${this.getPlatformDisplayName(platform)}`));
134
- console.log(chalk.gray(` šŸ’” You may need to manually edit ${configPath}`));
135
- results.set(platform, { success: false, error: 'Verification failed' });
136
- }
137
- }
138
- catch (error) {
139
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
140
- console.error(chalk.red(`āŒ Uninstall failed for ${this.getPlatformDisplayName(platform)}: ${errorMessage}`));
141
- results.set(platform, { success: false, error: errorMessage });
142
- }
143
- console.log(); // Empty line between platforms
144
- }
145
- return results;
146
- }
147
- showSummary(results) {
148
- console.log(chalk.cyan.bold('šŸ“Š Uninstall Summary:\n'));
149
- let successCount = 0;
150
- let failureCount = 0;
151
- for (const [platform, result] of results) {
152
- if (result.success) {
153
- console.log(chalk.green(` āœ… ${this.getPlatformDisplayName(platform)}`));
154
- successCount++;
155
- }
156
- else {
157
- console.log(chalk.red(` āŒ ${this.getPlatformDisplayName(platform)} - ${result.error}`));
158
- failureCount++;
159
- }
160
- }
161
- console.log();
162
- if (failureCount === 0) {
163
- console.log(chalk.green.bold(`šŸŽ‰ All uninstallations completed successfully!`));
164
- console.log(chalk.gray(`\nšŸ’” tiny-brain has been removed from the selected platforms.`));
165
- }
166
- else if (successCount > 0) {
167
- console.log(chalk.yellow(`āš ļø ${successCount} succeeded, ${failureCount} failed`));
168
- console.log(chalk.gray(`\nšŸ’” Check the errors above for failed platforms.`));
169
- }
170
- else {
171
- console.log(chalk.red(`āŒ All uninstallations failed`));
172
- console.log(chalk.gray(`\nšŸ’” Please check the errors above and try again.`));
173
- }
174
- }
175
- }
176
- //# sourceMappingURL=uninstall.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.command.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.command.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Validate Commit Message Command
3
- *
4
- * CLI command called by commit-msg git hook to validate PRD/Feature/Task references.
5
- * Prevents commits with invalid references from being created.
6
- */
7
- interface ValidateCommitMessageOptions {
8
- messageFile: string;
9
- prdBasePath?: string;
10
- }
11
- interface ValidationResult {
12
- valid: boolean;
13
- error?: string;
14
- }
15
- export declare class ValidateCommitMessageCommand {
16
- /**
17
- * Read commit message from file
18
- */
19
- readCommitMessage(filePath: string): Promise<string>;
20
- /**
21
- * Parse commit headers for PRD, Feature, and Task metadata
22
- * @returns Parsed headers or null if any required header is missing
23
- */
24
- parseCommitHeaders(message: string): {
25
- prdId: string;
26
- featureId: string;
27
- taskDescription: string;
28
- } | null;
29
- /**
30
- * Validate that PRD directory exists
31
- */
32
- validatePRDExists(prdId: string, prdBasePath: string): Promise<ValidationResult>;
33
- /**
34
- * Validate that feature exists in progress.json
35
- */
36
- validateFeatureExists(prdId: string, featureId: string, prdBasePath: string): Promise<ValidationResult>;
37
- /**
38
- * Validate that task exists in feature's tasks array by exact description match
39
- */
40
- validateTaskExists(prdId: string, featureId: string, taskDescription: string, prdBasePath: string): Promise<ValidationResult>;
41
- /**
42
- * Execute validation
43
- */
44
- execute(options: ValidateCommitMessageOptions): Promise<void>;
45
- }
46
- export {};
47
- //# sourceMappingURL=validate-commit-message.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-commit-message.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate-commit-message.command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,UAAU,4BAA4B;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,4BAA4B;IACvC;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ1D;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBzG;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDtF;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+C7G;;OAEG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;IA8D5B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;CA4CpE"}