task-o-matic-core 0.1.0

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 (447) hide show
  1. package/README.md +646 -0
  2. package/dist/index.d.ts +27 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +46 -0
  5. package/dist/lib/ai-service/ai-operations.d.ts +45 -0
  6. package/dist/lib/ai-service/ai-operations.d.ts.map +1 -0
  7. package/dist/lib/ai-service/ai-operations.js +60 -0
  8. package/dist/lib/ai-service/base-operations.d.ts +43 -0
  9. package/dist/lib/ai-service/base-operations.d.ts.map +1 -0
  10. package/dist/lib/ai-service/base-operations.js +119 -0
  11. package/dist/lib/ai-service/documentation-operations.d.ts +18 -0
  12. package/dist/lib/ai-service/documentation-operations.d.ts.map +1 -0
  13. package/dist/lib/ai-service/documentation-operations.js +308 -0
  14. package/dist/lib/ai-service/filesystem-tools.d.ts +69 -0
  15. package/dist/lib/ai-service/filesystem-tools.d.ts.map +1 -0
  16. package/dist/lib/ai-service/filesystem-tools.js +70 -0
  17. package/dist/lib/ai-service/json-parser.d.ts +34 -0
  18. package/dist/lib/ai-service/json-parser.d.ts.map +1 -0
  19. package/dist/lib/ai-service/json-parser.js +177 -0
  20. package/dist/lib/ai-service/mcp-client.d.ts +9 -0
  21. package/dist/lib/ai-service/mcp-client.d.ts.map +1 -0
  22. package/dist/lib/ai-service/mcp-client.js +48 -0
  23. package/dist/lib/ai-service/model-provider.d.ts +12 -0
  24. package/dist/lib/ai-service/model-provider.d.ts.map +1 -0
  25. package/dist/lib/ai-service/model-provider.js +146 -0
  26. package/dist/lib/ai-service/prd-operations.d.ts +25 -0
  27. package/dist/lib/ai-service/prd-operations.d.ts.map +1 -0
  28. package/dist/lib/ai-service/prd-operations.js +592 -0
  29. package/dist/lib/ai-service/research-tools.d.ts +4 -0
  30. package/dist/lib/ai-service/research-tools.d.ts.map +1 -0
  31. package/dist/lib/ai-service/research-tools.js +8 -0
  32. package/dist/lib/ai-service/retry-handler.d.ts +8 -0
  33. package/dist/lib/ai-service/retry-handler.d.ts.map +1 -0
  34. package/dist/lib/ai-service/retry-handler.js +63 -0
  35. package/dist/lib/ai-service/task-operations.d.ts +13 -0
  36. package/dist/lib/ai-service/task-operations.d.ts.map +1 -0
  37. package/dist/lib/ai-service/task-operations.js +220 -0
  38. package/dist/lib/benchmark/registry.d.ts +11 -0
  39. package/dist/lib/benchmark/registry.d.ts.map +1 -0
  40. package/dist/lib/benchmark/registry.js +212 -0
  41. package/dist/lib/benchmark/runner.d.ts +6 -0
  42. package/dist/lib/benchmark/runner.d.ts.map +1 -0
  43. package/dist/lib/benchmark/runner.js +150 -0
  44. package/dist/lib/benchmark/storage.d.ts +13 -0
  45. package/dist/lib/benchmark/storage.d.ts.map +1 -0
  46. package/dist/lib/benchmark/storage.js +100 -0
  47. package/dist/lib/benchmark/types.d.ts +104 -0
  48. package/dist/lib/benchmark/types.d.ts.map +1 -0
  49. package/dist/lib/benchmark/types.js +2 -0
  50. package/dist/lib/better-t-stack-cli.d.ts +50 -0
  51. package/dist/lib/better-t-stack-cli.d.ts.map +1 -0
  52. package/dist/lib/better-t-stack-cli.js +428 -0
  53. package/dist/lib/bootstrap/cli-bootstrap.d.ts +14 -0
  54. package/dist/lib/bootstrap/cli-bootstrap.d.ts.map +1 -0
  55. package/dist/lib/bootstrap/cli-bootstrap.js +322 -0
  56. package/dist/lib/bootstrap/index.d.ts +3 -0
  57. package/dist/lib/bootstrap/index.d.ts.map +1 -0
  58. package/dist/lib/bootstrap/index.js +18 -0
  59. package/dist/lib/bootstrap/medusa-bootstrap.d.ts +14 -0
  60. package/dist/lib/bootstrap/medusa-bootstrap.d.ts.map +1 -0
  61. package/dist/lib/bootstrap/medusa-bootstrap.js +215 -0
  62. package/dist/lib/config-validation.d.ts +215 -0
  63. package/dist/lib/config-validation.d.ts.map +1 -0
  64. package/dist/lib/config-validation.js +254 -0
  65. package/dist/lib/config.d.ts +55 -0
  66. package/dist/lib/config.d.ts.map +1 -0
  67. package/dist/lib/config.js +351 -0
  68. package/dist/lib/context-builder.d.ts +66 -0
  69. package/dist/lib/context-builder.d.ts.map +1 -0
  70. package/dist/lib/context-builder.js +322 -0
  71. package/dist/lib/executors/claude-code-executor.d.ts +9 -0
  72. package/dist/lib/executors/claude-code-executor.d.ts.map +1 -0
  73. package/dist/lib/executors/claude-code-executor.js +69 -0
  74. package/dist/lib/executors/codex-executor.d.ts +9 -0
  75. package/dist/lib/executors/codex-executor.d.ts.map +1 -0
  76. package/dist/lib/executors/codex-executor.js +73 -0
  77. package/dist/lib/executors/executor-factory.d.ts +5 -0
  78. package/dist/lib/executors/executor-factory.d.ts.map +1 -0
  79. package/dist/lib/executors/executor-factory.js +27 -0
  80. package/dist/lib/executors/gemini-executor.d.ts +9 -0
  81. package/dist/lib/executors/gemini-executor.d.ts.map +1 -0
  82. package/dist/lib/executors/gemini-executor.js +67 -0
  83. package/dist/lib/executors/kilo-executor.d.ts +9 -0
  84. package/dist/lib/executors/kilo-executor.d.ts.map +1 -0
  85. package/dist/lib/executors/kilo-executor.js +69 -0
  86. package/dist/lib/executors/opencode-executor.d.ts +9 -0
  87. package/dist/lib/executors/opencode-executor.d.ts.map +1 -0
  88. package/dist/lib/executors/opencode-executor.js +67 -0
  89. package/dist/lib/git-utils.d.ts +88 -0
  90. package/dist/lib/git-utils.d.ts.map +1 -0
  91. package/dist/lib/git-utils.js +242 -0
  92. package/dist/lib/hooks.d.ts +73 -0
  93. package/dist/lib/hooks.d.ts.map +1 -0
  94. package/dist/lib/hooks.js +62 -0
  95. package/dist/lib/index.d.ts +100 -0
  96. package/dist/lib/index.d.ts.map +1 -0
  97. package/dist/lib/index.js +143 -0
  98. package/dist/lib/logger.d.ts +20 -0
  99. package/dist/lib/logger.d.ts.map +1 -0
  100. package/dist/lib/logger.js +32 -0
  101. package/dist/lib/notifications.d.ts +7 -0
  102. package/dist/lib/notifications.d.ts.map +1 -0
  103. package/dist/lib/notifications.js +81 -0
  104. package/dist/lib/prompt-builder.d.ts +70 -0
  105. package/dist/lib/prompt-builder.d.ts.map +1 -0
  106. package/dist/lib/prompt-builder.js +344 -0
  107. package/dist/lib/prompt-registry.d.ts +22 -0
  108. package/dist/lib/prompt-registry.d.ts.map +1 -0
  109. package/dist/lib/prompt-registry.js +409 -0
  110. package/dist/lib/provider-defaults.json +32 -0
  111. package/dist/lib/storage/file-system.d.ts +57 -0
  112. package/dist/lib/storage/file-system.d.ts.map +1 -0
  113. package/dist/lib/storage/file-system.js +638 -0
  114. package/dist/lib/storage/storage-callbacks.d.ts +17 -0
  115. package/dist/lib/storage/storage-callbacks.d.ts.map +1 -0
  116. package/dist/lib/storage/storage-callbacks.js +94 -0
  117. package/dist/lib/storage/types.d.ts +43 -0
  118. package/dist/lib/storage/types.d.ts.map +1 -0
  119. package/dist/lib/storage/types.js +2 -0
  120. package/dist/lib/task-execution-core.d.ts +7 -0
  121. package/dist/lib/task-execution-core.d.ts.map +1 -0
  122. package/dist/lib/task-execution-core.js +381 -0
  123. package/dist/lib/task-execution.d.ts +7 -0
  124. package/dist/lib/task-execution.d.ts.map +1 -0
  125. package/dist/lib/task-execution.js +40 -0
  126. package/dist/lib/task-loop-execution.d.ts +7 -0
  127. package/dist/lib/task-loop-execution.d.ts.map +1 -0
  128. package/dist/lib/task-loop-execution.js +156 -0
  129. package/dist/lib/task-planning.d.ts +29 -0
  130. package/dist/lib/task-planning.d.ts.map +1 -0
  131. package/dist/lib/task-planning.js +103 -0
  132. package/dist/lib/task-review.d.ts +27 -0
  133. package/dist/lib/task-review.d.ts.map +1 -0
  134. package/dist/lib/task-review.js +103 -0
  135. package/dist/lib/validation.d.ts +26 -0
  136. package/dist/lib/validation.d.ts.map +1 -0
  137. package/dist/lib/validation.js +98 -0
  138. package/dist/prompts/documentation-detection.d.ts +2 -0
  139. package/dist/prompts/documentation-detection.d.ts.map +1 -0
  140. package/dist/prompts/documentation-detection.js +24 -0
  141. package/dist/prompts/documentation-recap.d.ts +3 -0
  142. package/dist/prompts/documentation-recap.d.ts.map +1 -0
  143. package/dist/prompts/documentation-recap.js +13 -0
  144. package/dist/prompts/index.d.ts +15 -0
  145. package/dist/prompts/index.d.ts.map +1 -0
  146. package/dist/prompts/index.js +30 -0
  147. package/dist/prompts/prd-combination.d.ts +2 -0
  148. package/dist/prompts/prd-combination.d.ts.map +1 -0
  149. package/dist/prompts/prd-combination.js +35 -0
  150. package/dist/prompts/prd-generation.d.ts +2 -0
  151. package/dist/prompts/prd-generation.d.ts.map +1 -0
  152. package/dist/prompts/prd-generation.js +49 -0
  153. package/dist/prompts/prd-parsing.d.ts +3 -0
  154. package/dist/prompts/prd-parsing.d.ts.map +1 -0
  155. package/dist/prompts/prd-parsing.js +172 -0
  156. package/dist/prompts/prd-question-answer.d.ts +3 -0
  157. package/dist/prompts/prd-question-answer.d.ts.map +1 -0
  158. package/dist/prompts/prd-question-answer.js +27 -0
  159. package/dist/prompts/prd-question.d.ts +3 -0
  160. package/dist/prompts/prd-question.d.ts.map +1 -0
  161. package/dist/prompts/prd-question.js +40 -0
  162. package/dist/prompts/prd-rework.d.ts +3 -0
  163. package/dist/prompts/prd-rework.d.ts.map +1 -0
  164. package/dist/prompts/prd-rework.js +81 -0
  165. package/dist/prompts/prd-suggest-stack.d.ts +3 -0
  166. package/dist/prompts/prd-suggest-stack.d.ts.map +1 -0
  167. package/dist/prompts/prd-suggest-stack.js +99 -0
  168. package/dist/prompts/task-breakdown.d.ts +3 -0
  169. package/dist/prompts/task-breakdown.d.ts.map +1 -0
  170. package/dist/prompts/task-breakdown.js +151 -0
  171. package/dist/prompts/task-enhancement.d.ts +3 -0
  172. package/dist/prompts/task-enhancement.d.ts.map +1 -0
  173. package/dist/prompts/task-enhancement.js +140 -0
  174. package/dist/prompts/task-execution.d.ts +3 -0
  175. package/dist/prompts/task-execution.d.ts.map +1 -0
  176. package/dist/prompts/task-execution.js +24 -0
  177. package/dist/prompts/task-planning.d.ts +3 -0
  178. package/dist/prompts/task-planning.d.ts.map +1 -0
  179. package/dist/prompts/task-planning.js +66 -0
  180. package/dist/prompts/workflow-assistance.d.ts +32 -0
  181. package/dist/prompts/workflow-assistance.d.ts.map +1 -0
  182. package/dist/prompts/workflow-assistance.js +130 -0
  183. package/dist/prompts/workflow-prompts.d.ts +9 -0
  184. package/dist/prompts/workflow-prompts.d.ts.map +1 -0
  185. package/dist/prompts/workflow-prompts.js +93 -0
  186. package/dist/services/benchmark.d.ts +26 -0
  187. package/dist/services/benchmark.d.ts.map +1 -0
  188. package/dist/services/benchmark.js +343 -0
  189. package/dist/services/prd.d.ts +136 -0
  190. package/dist/services/prd.d.ts.map +1 -0
  191. package/dist/services/prd.js +550 -0
  192. package/dist/services/tasks.d.ts +388 -0
  193. package/dist/services/tasks.d.ts.map +1 -0
  194. package/dist/services/tasks.js +1150 -0
  195. package/dist/services/workflow-ai-assistant.d.ts +74 -0
  196. package/dist/services/workflow-ai-assistant.d.ts.map +1 -0
  197. package/dist/services/workflow-ai-assistant.js +175 -0
  198. package/dist/services/workflow-benchmark.d.ts +34 -0
  199. package/dist/services/workflow-benchmark.d.ts.map +1 -0
  200. package/dist/services/workflow-benchmark.js +318 -0
  201. package/dist/services/workflow.d.ts +107 -0
  202. package/dist/services/workflow.d.ts.map +1 -0
  203. package/dist/services/workflow.js +580 -0
  204. package/dist/test/hooks.test.d.ts +2 -0
  205. package/dist/test/hooks.test.d.ts.map +1 -0
  206. package/dist/test/hooks.test.js +67 -0
  207. package/dist/test/integration/callbacks.test.d.ts +2 -0
  208. package/dist/test/integration/callbacks.test.d.ts.map +1 -0
  209. package/dist/test/integration/callbacks.test.js +64 -0
  210. package/dist/test/lib/ai-service/task-operations.test.d.ts +2 -0
  211. package/dist/test/lib/ai-service/task-operations.test.d.ts.map +1 -0
  212. package/dist/test/lib/ai-service/task-operations.test.js +362 -0
  213. package/dist/test/lib/config.test.d.ts +2 -0
  214. package/dist/test/lib/config.test.d.ts.map +1 -0
  215. package/dist/test/lib/config.test.js +128 -0
  216. package/dist/test/lib/git-utils.test.d.ts +2 -0
  217. package/dist/test/lib/git-utils.test.d.ts.map +1 -0
  218. package/dist/test/lib/git-utils.test.js +168 -0
  219. package/dist/test/mocks/mock-ai-operations.d.ts +15 -0
  220. package/dist/test/mocks/mock-ai-operations.d.ts.map +1 -0
  221. package/dist/test/mocks/mock-ai-operations.js +107 -0
  222. package/dist/test/mocks/mock-context-builder.d.ts +10 -0
  223. package/dist/test/mocks/mock-context-builder.d.ts.map +1 -0
  224. package/dist/test/mocks/mock-context-builder.js +81 -0
  225. package/dist/test/mocks/mock-model-provider.d.ts +7 -0
  226. package/dist/test/mocks/mock-model-provider.d.ts.map +1 -0
  227. package/dist/test/mocks/mock-model-provider.js +21 -0
  228. package/dist/test/mocks/mock-service-factory.d.ts +11 -0
  229. package/dist/test/mocks/mock-service-factory.d.ts.map +1 -0
  230. package/dist/test/mocks/mock-service-factory.js +61 -0
  231. package/dist/test/mocks/mock-storage.d.ts +50 -0
  232. package/dist/test/mocks/mock-storage.d.ts.map +1 -0
  233. package/dist/test/mocks/mock-storage.js +145 -0
  234. package/dist/test/model-parsing.test.d.ts +2 -0
  235. package/dist/test/model-parsing.test.d.ts.map +1 -0
  236. package/dist/test/model-parsing.test.js +73 -0
  237. package/dist/test/services/task-service.test.d.ts +2 -0
  238. package/dist/test/services/task-service.test.d.ts.map +1 -0
  239. package/dist/test/services/task-service.test.js +459 -0
  240. package/dist/test/storage.test.d.ts +2 -0
  241. package/dist/test/storage.test.d.ts.map +1 -0
  242. package/dist/test/storage.test.js +207 -0
  243. package/dist/test/task-loop-git.test.d.ts +2 -0
  244. package/dist/test/task-loop-git.test.d.ts.map +1 -0
  245. package/dist/test/task-loop-git.test.js +95 -0
  246. package/dist/test/test-mock-setup.d.ts +26 -0
  247. package/dist/test/test-mock-setup.d.ts.map +1 -0
  248. package/dist/test/test-mock-setup.js +41 -0
  249. package/dist/test/test-setup.d.ts +9 -0
  250. package/dist/test/test-setup.d.ts.map +1 -0
  251. package/dist/test/test-setup.js +44 -0
  252. package/dist/test/test-utils.d.ts +22 -0
  253. package/dist/test/test-utils.d.ts.map +1 -0
  254. package/dist/test/test-utils.js +37 -0
  255. package/dist/test/utils/ai-operation-utility.test.d.ts +2 -0
  256. package/dist/test/utils/ai-operation-utility.test.d.ts.map +1 -0
  257. package/dist/test/utils/ai-operation-utility.test.js +290 -0
  258. package/dist/test/utils/error-handling.test.d.ts +2 -0
  259. package/dist/test/utils/error-handling.test.d.ts.map +1 -0
  260. package/dist/test/utils/error-handling.test.js +231 -0
  261. package/dist/test/utils/file-utils.test.d.ts +2 -0
  262. package/dist/test/utils/file-utils.test.d.ts.map +1 -0
  263. package/dist/test/utils/file-utils.test.js +76 -0
  264. package/dist/test/utils/id-generator.test.d.ts +2 -0
  265. package/dist/test/utils/id-generator.test.d.ts.map +1 -0
  266. package/dist/test/utils/id-generator.test.js +41 -0
  267. package/dist/test/utils/model-parser.test.d.ts +2 -0
  268. package/dist/test/utils/model-parser.test.d.ts.map +1 -0
  269. package/dist/test/utils/model-parser.test.js +65 -0
  270. package/dist/test/validation.test.d.ts +2 -0
  271. package/dist/test/validation.test.d.ts.map +1 -0
  272. package/dist/test/validation.test.js +22 -0
  273. package/dist/types/callbacks.d.ts +30 -0
  274. package/dist/types/callbacks.d.ts.map +1 -0
  275. package/dist/types/callbacks.js +2 -0
  276. package/dist/types/index.d.ts +435 -0
  277. package/dist/types/index.d.ts.map +1 -0
  278. package/dist/types/index.js +30 -0
  279. package/dist/types/mcp.d.ts +3 -0
  280. package/dist/types/mcp.d.ts.map +1 -0
  281. package/dist/types/mcp.js +3 -0
  282. package/dist/types/options.d.ts +112 -0
  283. package/dist/types/options.d.ts.map +1 -0
  284. package/dist/types/options.js +2 -0
  285. package/dist/types/results.d.ts +200 -0
  286. package/dist/types/results.d.ts.map +1 -0
  287. package/dist/types/results.js +2 -0
  288. package/dist/types/workflow-options.d.ts +82 -0
  289. package/dist/types/workflow-options.d.ts.map +1 -0
  290. package/dist/types/workflow-options.js +2 -0
  291. package/dist/types/workflow-results.d.ts +82 -0
  292. package/dist/types/workflow-results.d.ts.map +1 -0
  293. package/dist/types/workflow-results.js +2 -0
  294. package/dist/utils/ai-config-builder.d.ts +14 -0
  295. package/dist/utils/ai-config-builder.d.ts.map +1 -0
  296. package/dist/utils/ai-config-builder.js +22 -0
  297. package/dist/utils/ai-operation-utility.d.ts +142 -0
  298. package/dist/utils/ai-operation-utility.d.ts.map +1 -0
  299. package/dist/utils/ai-operation-utility.js +303 -0
  300. package/dist/utils/ai-service-factory.d.ts +34 -0
  301. package/dist/utils/ai-service-factory.d.ts.map +1 -0
  302. package/dist/utils/ai-service-factory.js +99 -0
  303. package/dist/utils/error-utils.d.ts +70 -0
  304. package/dist/utils/error-utils.d.ts.map +1 -0
  305. package/dist/utils/error-utils.js +104 -0
  306. package/dist/utils/file-utils.d.ts +107 -0
  307. package/dist/utils/file-utils.d.ts.map +1 -0
  308. package/dist/utils/file-utils.js +171 -0
  309. package/dist/utils/id-generator.d.ts +92 -0
  310. package/dist/utils/id-generator.d.ts.map +1 -0
  311. package/dist/utils/id-generator.js +146 -0
  312. package/dist/utils/metadata-utils.d.ts +40 -0
  313. package/dist/utils/metadata-utils.d.ts.map +1 -0
  314. package/dist/utils/metadata-utils.js +43 -0
  315. package/dist/utils/model-executor-parser.d.ts +38 -0
  316. package/dist/utils/model-executor-parser.d.ts.map +1 -0
  317. package/dist/utils/model-executor-parser.js +69 -0
  318. package/dist/utils/model-parser.d.ts +6 -0
  319. package/dist/utils/model-parser.d.ts.map +1 -0
  320. package/dist/utils/model-parser.js +49 -0
  321. package/dist/utils/stack-formatter.d.ts +12 -0
  322. package/dist/utils/stack-formatter.d.ts.map +1 -0
  323. package/dist/utils/stack-formatter.js +36 -0
  324. package/dist/utils/storage-utils.d.ts +49 -0
  325. package/dist/utils/storage-utils.d.ts.map +1 -0
  326. package/dist/utils/storage-utils.js +80 -0
  327. package/dist/utils/streaming-utils.d.ts +38 -0
  328. package/dist/utils/streaming-utils.d.ts.map +1 -0
  329. package/dist/utils/streaming-utils.js +64 -0
  330. package/dist/utils/task-o-matic-error.d.ts +206 -0
  331. package/dist/utils/task-o-matic-error.d.ts.map +1 -0
  332. package/dist/utils/task-o-matic-error.js +304 -0
  333. package/package.json +40 -0
  334. package/src/index.ts +36 -0
  335. package/src/lib/ai-service/ai-operations.ts +310 -0
  336. package/src/lib/ai-service/base-operations.ts +139 -0
  337. package/src/lib/ai-service/documentation-operations.ts +438 -0
  338. package/src/lib/ai-service/filesystem-tools.ts +73 -0
  339. package/src/lib/ai-service/gemini-proxy.ts.bak +52 -0
  340. package/src/lib/ai-service/json-parser.ts +203 -0
  341. package/src/lib/ai-service/mcp-client.ts +54 -0
  342. package/src/lib/ai-service/model-provider.ts +192 -0
  343. package/src/lib/ai-service/prd-operations.ts +854 -0
  344. package/src/lib/ai-service/research-tools.ts +207 -0
  345. package/src/lib/ai-service/retry-handler.ts +89 -0
  346. package/src/lib/ai-service/task-operations.ts +342 -0
  347. package/src/lib/benchmark/registry.ts +307 -0
  348. package/src/lib/benchmark/runner.ts +190 -0
  349. package/src/lib/benchmark/storage.ts +140 -0
  350. package/src/lib/benchmark/types.ts +121 -0
  351. package/src/lib/better-t-stack-cli.ts +524 -0
  352. package/src/lib/bootstrap/cli-bootstrap.ts +397 -0
  353. package/src/lib/bootstrap/index.ts +2 -0
  354. package/src/lib/bootstrap/medusa-bootstrap.ts +261 -0
  355. package/src/lib/config-validation.ts +278 -0
  356. package/src/lib/config.ts +435 -0
  357. package/src/lib/context-builder.ts +383 -0
  358. package/src/lib/executors/claude-code-executor.ts +83 -0
  359. package/src/lib/executors/codex-executor.ts +85 -0
  360. package/src/lib/executors/executor-factory.ts +28 -0
  361. package/src/lib/executors/gemini-executor.ts +80 -0
  362. package/src/lib/executors/kilo-executor.ts +83 -0
  363. package/src/lib/executors/opencode-executor.ts +81 -0
  364. package/src/lib/git-utils.ts +334 -0
  365. package/src/lib/hooks.ts +121 -0
  366. package/src/lib/index.ts +166 -0
  367. package/src/lib/logger.ts +43 -0
  368. package/src/lib/notifications.ts +103 -0
  369. package/src/lib/prompt-builder.ts +471 -0
  370. package/src/lib/prompt-registry.ts +491 -0
  371. package/src/lib/provider-defaults.json +32 -0
  372. package/src/lib/storage/file-system.ts +864 -0
  373. package/src/lib/storage/storage-callbacks.ts +120 -0
  374. package/src/lib/storage/types.ts +58 -0
  375. package/src/lib/task-execution-core.ts +591 -0
  376. package/src/lib/task-execution.ts +59 -0
  377. package/src/lib/task-loop-execution.ts +214 -0
  378. package/src/lib/task-planning.ts +157 -0
  379. package/src/lib/task-review.ts +138 -0
  380. package/src/lib/validation.ts +140 -0
  381. package/src/prompts/documentation-detection.ts +21 -0
  382. package/src/prompts/documentation-recap.ts +11 -0
  383. package/src/prompts/index.ts +14 -0
  384. package/src/prompts/prd-combination.ts +32 -0
  385. package/src/prompts/prd-generation.ts +46 -0
  386. package/src/prompts/prd-parsing.ts +170 -0
  387. package/src/prompts/prd-question-answer.ts +25 -0
  388. package/src/prompts/prd-question.ts +38 -0
  389. package/src/prompts/prd-rework.ts +79 -0
  390. package/src/prompts/prd-suggest-stack.ts +97 -0
  391. package/src/prompts/task-breakdown.ts +149 -0
  392. package/src/prompts/task-enhancement.ts +138 -0
  393. package/src/prompts/task-execution.ts +22 -0
  394. package/src/prompts/task-planning.ts +64 -0
  395. package/src/prompts/workflow-assistance.ts +151 -0
  396. package/src/prompts/workflow-prompts.ts +97 -0
  397. package/src/services/benchmark.ts +433 -0
  398. package/src/services/prd.ts +845 -0
  399. package/src/services/tasks.ts +1515 -0
  400. package/src/services/workflow-ai-assistant.ts +298 -0
  401. package/src/services/workflow-benchmark.ts +339 -0
  402. package/src/services/workflow.ts +779 -0
  403. package/src/test/hooks.test.ts +77 -0
  404. package/src/test/integration/callbacks.test.ts +39 -0
  405. package/src/test/lib/ai-service/task-operations.test.ts +430 -0
  406. package/src/test/lib/config.test.ts +150 -0
  407. package/src/test/lib/git-utils.test.ts +198 -0
  408. package/src/test/mocks/mock-ai-operations.ts +205 -0
  409. package/src/test/mocks/mock-context-builder.ts +84 -0
  410. package/src/test/mocks/mock-model-provider.ts +21 -0
  411. package/src/test/mocks/mock-service-factory.ts +64 -0
  412. package/src/test/mocks/mock-storage.ts +204 -0
  413. package/src/test/model-parsing.test.ts +78 -0
  414. package/src/test/services/task-service.test.ts +551 -0
  415. package/src/test/storage.test.ts +206 -0
  416. package/src/test/task-loop-git.test.ts +142 -0
  417. package/src/test/test-mock-setup.ts +46 -0
  418. package/src/test/test-setup.ts +48 -0
  419. package/src/test/test-utils.ts +45 -0
  420. package/src/test/utils/ai-operation-utility.test.ts +306 -0
  421. package/src/test/utils/error-handling.test.ts +241 -0
  422. package/src/test/utils/file-utils.test.ts +80 -0
  423. package/src/test/utils/id-generator.test.ts +44 -0
  424. package/src/test/utils/model-parser.test.ts +67 -0
  425. package/src/test/validation.test.ts +19 -0
  426. package/src/types/callbacks.ts +14 -0
  427. package/src/types/index.ts +628 -0
  428. package/src/types/mcp.ts +5 -0
  429. package/src/types/options.ts +165 -0
  430. package/src/types/results.ts +216 -0
  431. package/src/types/workflow-options.ts +113 -0
  432. package/src/types/workflow-results.ts +87 -0
  433. package/src/utils/ai-config-builder.ts +33 -0
  434. package/src/utils/ai-operation-utility.ts +380 -0
  435. package/src/utils/ai-service-factory.ts +125 -0
  436. package/src/utils/error-utils.ts +124 -0
  437. package/src/utils/file-utils.ts +197 -0
  438. package/src/utils/id-generator.ts +168 -0
  439. package/src/utils/metadata-utils.ts +48 -0
  440. package/src/utils/model-executor-parser.ts +80 -0
  441. package/src/utils/model-parser.ts +58 -0
  442. package/src/utils/stack-formatter.ts +53 -0
  443. package/src/utils/storage-utils.ts +94 -0
  444. package/src/utils/streaming-utils.ts +91 -0
  445. package/src/utils/task-o-matic-error.ts +393 -0
  446. package/tsconfig.json +20 -0
  447. package/tsconfig.tsbuildinfo +1 -0
package/README.md ADDED
@@ -0,0 +1,646 @@
1
+ # task-o-matic-core
2
+
3
+ Core library for Task-O-Matic - AI-powered task management for TUI, web applications, and custom integrations.
4
+
5
+ ## Overview
6
+
7
+ `task-o-matic-core` is the foundational library that provides all the core functionality for task management, PRD processing, AI operations, and workflow automation. It's designed to be framework-agnostic and can be integrated into any Node.js application.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npm install task-o-matic-core
13
+ ```
14
+
15
+ ## Features
16
+
17
+ - 🤖 **AI-Powered Task Management**: Create, enhance, and manage tasks with AI assistance
18
+ - 📋 **PRD Processing**: Parse and refine Product Requirements Documents
19
+ - 🎯 **Workflow Automation**: Complete project lifecycle management
20
+ - 📊 **Benchmarking**: Compare AI model performance and quality
21
+ - 💾 **Local Storage**: File-based storage in `.task-o-matic/` directory
22
+ - 🌊 **Streaming Support**: Real-time AI response streaming
23
+ - 🔧 **Multi-Provider AI**: Support for OpenAI, Anthropic, OpenRouter, and custom providers
24
+ - 🎭 **Framework-Agnostic**: Use in CLI, TUI, web apps, or any Node.js project
25
+
26
+ ## Quick Start
27
+
28
+ ### Basic Task Management
29
+
30
+ ```typescript
31
+ import { TaskService } from "task-o-matic-core";
32
+
33
+ const taskService = new TaskService();
34
+
35
+ // Create a task with AI enhancement
36
+ const result = await taskService.createTask({
37
+ title: "Implement user authentication",
38
+ content: "Add login and signup functionality",
39
+ aiEnhance: true,
40
+ aiOptions: {
41
+ aiProvider: "anthropic",
42
+ aiModel: "claude-3-5-sonnet",
43
+ aiKey: process.env.ANTHROPIC_API_KEY,
44
+ },
45
+ callbacks: {
46
+ onProgress: (event) => {
47
+ console.log(`Progress: ${event.message}`);
48
+ },
49
+ },
50
+ });
51
+
52
+ console.log("Task created:", result.task);
53
+ ```
54
+
55
+ ### Complete Workflow Setup
56
+
57
+ ```typescript
58
+ import { WorkflowService } from "task-o-matic-core";
59
+
60
+ const workflowService = new WorkflowService();
61
+
62
+ const result = await workflowService.initializeProject({
63
+ projectName: "my-app",
64
+ initMethod: "quick",
65
+ bootstrap: true,
66
+ aiOptions: {
67
+ aiProvider: "anthropic",
68
+ aiModel: "claude-3-5-sonnet",
69
+ aiKey: process.env.ANTHROPIC_API_KEY,
70
+ },
71
+ callbacks: {
72
+ onProgress: (event) => {
73
+ console.log(`Progress: ${event.message}`);
74
+ },
75
+ },
76
+ });
77
+
78
+ console.log("Project initialized:", result.projectName);
79
+ ```
80
+
81
+ ## Core Services
82
+
83
+ ### TaskService
84
+
85
+ Manages task lifecycle including creation, enhancement, splitting, and execution.
86
+
87
+ ```typescript
88
+ import { TaskService } from "task-o-matic-core";
89
+
90
+ const taskService = new TaskService();
91
+
92
+ // Create a task
93
+ const createResult = await taskService.createTask({
94
+ title: "Add payment integration",
95
+ content: "Integrate Stripe for payment processing",
96
+ aiEnhance: true,
97
+ aiOptions: {
98
+ aiProvider: "openai",
99
+ aiModel: "gpt-4",
100
+ aiKey: process.env.OPENAI_API_KEY,
101
+ },
102
+ });
103
+
104
+ // List all tasks
105
+ const tasks = await taskService.listTasks();
106
+
107
+ // Get a specific task
108
+ const task = await taskService.getTask(createResult.task.id);
109
+
110
+ // Update a task
111
+ const updated = await taskService.updateTask(createResult.task.id, {
112
+ status: "in-progress",
113
+ });
114
+
115
+ // Split a complex task into subtasks
116
+ const splitResult = await taskService.splitTask({
117
+ taskId: createResult.task.id,
118
+ aiOptions: {
119
+ aiProvider: "anthropic",
120
+ aiModel: "claude-3-5-sonnet",
121
+ aiKey: process.env.ANTHROPIC_API_KEY,
122
+ },
123
+ });
124
+
125
+ // Execute a task
126
+ const executionResult = await taskService.executeTask({
127
+ taskId: createResult.task.id,
128
+ aiOptions: {
129
+ aiProvider: "anthropic",
130
+ aiModel: "claude-3-5-sonnet",
131
+ aiKey: process.env.ANTHROPIC_API_KEY,
132
+ },
133
+ });
134
+ ```
135
+
136
+ ### PRDService
137
+
138
+ Handles Product Requirements Document parsing, refinement, and question generation.
139
+
140
+ ```typescript
141
+ import { PRDService } from "task-o-matic-core";
142
+
143
+ const prdService = new PRDService();
144
+
145
+ // Parse a PRD file
146
+ const parseResult = await prdService.parsePRD({
147
+ file: "./requirements.md",
148
+ aiOptions: {
149
+ aiProvider: "anthropic",
150
+ aiModel: "claude-3-5-sonnet",
151
+ aiKey: process.env.ANTHROPIC_API_KEY,
152
+ },
153
+ callbacks: {
154
+ onProgress: (event) => {
155
+ console.log(event.message);
156
+ },
157
+ },
158
+ });
159
+
160
+ console.log("PRD parsed:", parseResult.prd);
161
+
162
+ // Generate questions and refine PRD with AI answering
163
+ const refineResult = await prdService.refinePRDWithQuestions({
164
+ file: "./requirements.md",
165
+ questionMode: "ai", // or "user" for interactive
166
+ questionAIOptions: {
167
+ // Optional: use a different AI for answering
168
+ aiProvider: "openrouter",
169
+ aiModel: "anthropic/claude-3-opus",
170
+ aiReasoning: "enabled", // Enable reasoning for better answers
171
+ },
172
+ workingDirectory: process.cwd(),
173
+ aiOptions: {
174
+ aiProvider: "anthropic",
175
+ aiModel: "claude-3-5-sonnet",
176
+ aiKey: process.env.ANTHROPIC_API_KEY,
177
+ },
178
+ callbacks: {
179
+ onProgress: (event) => {
180
+ console.log(event.message);
181
+ },
182
+ },
183
+ });
184
+
185
+ console.log(`Refined PRD with ${refineResult.questions.length} questions`);
186
+ refineResult.questions.forEach((q, i) => {
187
+ console.log(`Q${i + 1}: ${q}`);
188
+ console.log(`A${i + 1}: ${refineResult.answers[q]}`);
189
+ });
190
+
191
+ // Rework PRD with feedback
192
+ const reworkResult = await prdService.reworkPRD({
193
+ file: "./requirements.md",
194
+ feedback: "Add more details about security requirements",
195
+ aiOptions: {
196
+ aiProvider: "anthropic",
197
+ aiModel: "claude-3-5-sonnet",
198
+ aiKey: process.env.ANTHROPIC_API_KEY,
199
+ },
200
+ });
201
+ ```
202
+
203
+ ### WorkflowService
204
+
205
+ Provides complete project lifecycle management from initialization to task generation.
206
+
207
+ ```typescript
208
+ import { WorkflowService } from "task-o-matic-core";
209
+
210
+ const workflowService = new WorkflowService();
211
+
212
+ // Initialize project with quick setup
213
+ const initResult = await workflowService.initializeProject({
214
+ projectName: "my-saas-app",
215
+ initMethod: "quick",
216
+ bootstrap: true,
217
+ aiOptions: {
218
+ aiProvider: "anthropic",
219
+ aiModel: "claude-3-5-sonnet",
220
+ aiKey: process.env.ANTHROPIC_API_KEY,
221
+ },
222
+ callbacks: {
223
+ onProgress: (event) => {
224
+ console.log(`Progress: ${event.message}`);
225
+ },
226
+ },
227
+ });
228
+
229
+ // Define PRD from description
230
+ const prdResult = await workflowService.definePRD({
231
+ method: "ai",
232
+ description: "A SaaS platform for team collaboration with real-time chat, file sharing, and task management",
233
+ aiOptions: {
234
+ aiProvider: "anthropic",
235
+ aiModel: "claude-3-5-sonnet",
236
+ aiKey: process.env.ANTHROPIC_API_KEY,
237
+ },
238
+ callbacks: {
239
+ onProgress: (event) => {
240
+ console.log(event.message);
241
+ },
242
+ },
243
+ });
244
+
245
+ // Refine PRD with questions
246
+ const refineResult = await workflowService.refinePRD({
247
+ questionMode: "ai",
248
+ aiOptions: {
249
+ aiProvider: "anthropic",
250
+ aiModel: "claude-3-5-sonnet",
251
+ aiKey: process.env.ANTHROPIC_API_KEY,
252
+ },
253
+ callbacks: {
254
+ onProgress: (event) => {
255
+ console.log(event.message);
256
+ },
257
+ },
258
+ });
259
+
260
+ // Generate tasks from PRD
261
+ const tasksResult = await workflowService.generateTasks({
262
+ instructions: "Break down into 2-4 hour tasks",
263
+ aiOptions: {
264
+ aiProvider: "anthropic",
265
+ aiModel: "claude-3-5-sonnet",
266
+ aiKey: process.env.ANTHROPIC_API_KEY,
267
+ },
268
+ callbacks: {
269
+ onProgress: (event) => {
270
+ console.log(event.message);
271
+ },
272
+ },
273
+ });
274
+
275
+ // Split complex tasks
276
+ const splitResult = await workflowService.splitTasks({
277
+ splitAll: true,
278
+ aiOptions: {
279
+ aiProvider: "anthropic",
280
+ aiModel: "claude-3-5-sonnet",
281
+ aiKey: process.env.ANTHROPIC_API_KEY,
282
+ },
283
+ callbacks: {
284
+ onProgress: (event) => {
285
+ console.log(event.message);
286
+ },
287
+ },
288
+ });
289
+ ```
290
+
291
+ ### BenchmarkService
292
+
293
+ Compare AI model performance and quality across different operations.
294
+
295
+ ```typescript
296
+ import { BenchmarkService } from "task-o-matic-core";
297
+
298
+ const benchmarkService = new BenchmarkService();
299
+
300
+ // Benchmark PRD parsing
301
+ const prdBenchmark = await benchmarkService.runBenchmark({
302
+ type: "prd-parse",
303
+ input: {
304
+ file: "./requirements.md",
305
+ },
306
+ models: [
307
+ {
308
+ provider: "openai",
309
+ model: "gpt-4o",
310
+ apiKey: process.env.OPENAI_API_KEY,
311
+ },
312
+ {
313
+ provider: "anthropic",
314
+ model: "claude-3-5-sonnet",
315
+ apiKey: process.env.ANTHROPIC_API_KEY,
316
+ },
317
+ ],
318
+ concurrency: 2,
319
+ delay: 1000,
320
+ });
321
+
322
+ console.log("Benchmark results:", prdBenchmark.results);
323
+
324
+ // Benchmark task breakdown
325
+ const taskBenchmark = await benchmarkService.runBenchmark({
326
+ type: "task-breakdown",
327
+ input: {
328
+ taskId: "task-id-here",
329
+ },
330
+ models: [
331
+ {
332
+ provider: "openai",
333
+ model: "gpt-4o",
334
+ apiKey: process.env.OPENAI_API_KEY,
335
+ },
336
+ {
337
+ provider: "anthropic",
338
+ model: "claude-3-5-sonnet",
339
+ apiKey: process.env.ANTHROPIC_API_KEY,
340
+ },
341
+ ],
342
+ concurrency: 2,
343
+ });
344
+ ```
345
+
346
+ ## Streaming Support
347
+
348
+ Stream AI responses in real-time for better user experience.
349
+
350
+ ```typescript
351
+ import { TaskService } from "task-o-matic-core";
352
+
353
+ const taskService = new TaskService();
354
+
355
+ // Create task with streaming
356
+ const result = await taskService.createTask({
357
+ title: "Add payment integration",
358
+ aiEnhance: true,
359
+ streamingOptions: {
360
+ enabled: true,
361
+ onChunk: (chunk) => {
362
+ // Process each chunk as it arrives
363
+ console.log(chunk);
364
+ },
365
+ onFinish: ({ text }) => {
366
+ console.log("Streaming complete!");
367
+ },
368
+ },
369
+ aiOptions: {
370
+ aiProvider: "anthropic",
371
+ aiModel: "claude-3-5-sonnet",
372
+ aiKey: process.env.ANTHROPIC_API_KEY,
373
+ },
374
+ });
375
+ ```
376
+
377
+ ## TUI Integration Example
378
+
379
+ ```typescript
380
+ import { TaskService } from "task-o-matic-core";
381
+ import type { ProgressCallback } from "task-o-matic-core";
382
+
383
+ const taskService = new TaskService();
384
+
385
+ // Progress callback for TUI updates
386
+ const progressCallback: ProgressCallback = {
387
+ onProgress: (event) => {
388
+ // Update your TUI with progress
389
+ tuiStatusBar.update(event.message);
390
+ },
391
+ };
392
+
393
+ // Create task with streaming
394
+ const result = await taskService.createTask({
395
+ title: "Add payment integration",
396
+ aiEnhance: true,
397
+ streamingOptions: {
398
+ enabled: true,
399
+ onChunk: (chunk) => {
400
+ // Update TUI in real-time
401
+ tuiTextArea.append(chunk);
402
+ },
403
+ onFinish: ({ text }) => {
404
+ tuiStatusBar.success("Task enhanced!");
405
+ },
406
+ },
407
+ callbacks: progressCallback,
408
+ });
409
+ ```
410
+
411
+ ## Utility Functions
412
+
413
+ Access core utilities directly:
414
+
415
+ ```typescript
416
+ import {
417
+ getStorage,
418
+ getAIOperations,
419
+ buildAIConfig,
420
+ configManager,
421
+ } from "task-o-matic-core";
422
+
423
+ // Get singleton instances
424
+ const storage = getStorage();
425
+ const aiOps = getAIOperations();
426
+
427
+ // Build AI configuration
428
+ const aiConfig = buildAIConfig({
429
+ provider: "openai",
430
+ model: "gpt-4",
431
+ apiKey: process.env.OPENAI_API_KEY,
432
+ });
433
+
434
+ // Use storage directly
435
+ const allTasks = await storage.getAllTasks();
436
+
437
+ // Use config manager
438
+ await configManager.load();
439
+ const aiProvider = configManager.getAIProvider();
440
+ ```
441
+
442
+ ## TypeScript Types
443
+
444
+ Full TypeScript type definitions are included:
445
+
446
+ ```typescript
447
+ import type {
448
+ Task,
449
+ AIConfig,
450
+ StreamingOptions,
451
+ CreateTaskOptions,
452
+ PRDParseResult,
453
+ TaskAIMetadata,
454
+ // Workflow types
455
+ WorkflowService,
456
+ InitializeResult,
457
+ DefinePRDResult,
458
+ RefinePRDResult,
459
+ GenerateTasksResult,
460
+ SplitTasksResult,
461
+ // Benchmark types
462
+ BenchmarkService,
463
+ BenchmarkConfig,
464
+ BenchmarkResult,
465
+ // Callback types
466
+ ProgressCallback,
467
+ StorageCallbacks,
468
+ } from "task-o-matic-core";
469
+ ```
470
+
471
+ ## AI Providers
472
+
473
+ ### Supported Providers
474
+
475
+ - **OpenAI**: GPT models with full feature support
476
+ - **Anthropic**: Claude models with enhanced reasoning
477
+ - **OpenRouter**: Access to multiple models through one API
478
+ - **Custom**: Any OpenAI-compatible API endpoint
479
+
480
+ ### AI Configuration
481
+
482
+ ```typescript
483
+ import { buildAIConfig } from "task-o-matic-core";
484
+
485
+ // OpenAI
486
+ const openaiConfig = buildAIConfig({
487
+ provider: "openai",
488
+ model: "gpt-4",
489
+ apiKey: process.env.OPENAI_API_KEY,
490
+ });
491
+
492
+ // Anthropic
493
+ const anthropicConfig = buildAIConfig({
494
+ provider: "anthropic",
495
+ model: "claude-3-5-sonnet",
496
+ apiKey: process.env.ANTHROPIC_API_KEY,
497
+ });
498
+
499
+ // OpenRouter
500
+ const openrouterConfig = buildAIConfig({
501
+ provider: "openrouter",
502
+ model: "anthropic/claude-3.5-sonnet",
503
+ apiKey: process.env.OPENROUTER_API_KEY,
504
+ });
505
+
506
+ // Custom provider
507
+ const customConfig = buildAIConfig({
508
+ provider: "custom",
509
+ model: "custom-model",
510
+ apiKey: process.env.CUSTOM_API_KEY,
511
+ baseUrl: "https://api.custom.com/v1",
512
+ });
513
+ ```
514
+
515
+ ### Model Recommendations
516
+
517
+ - **PRD Parsing**: `claude-3.5-sonnet` or `gpt-4`
518
+ - **Task Enhancement**: `claude-3-haiku` or `gpt-3.5-turbo`
519
+ - **Task Breakdown**: `claude-3.5-sonnet` for complex tasks
520
+ - **Workflow Testing**: Use benchmarking to find optimal performance
521
+
522
+ ## Storage Structure
523
+
524
+ All data is stored locally in the `.task-o-matic/` directory:
525
+
526
+ ```
527
+ your-project/
528
+ ├── .task-o-matic/
529
+ │ ├── config.json # AI configuration
530
+ │ ├── bts-config.json # Better-T-Stack configuration (if bootstrapped)
531
+ │ ├── tasks/ # Task JSON files
532
+ │ │ ├── {task-id}.json
533
+ │ │ └── ...
534
+ │ ├── prd/ # PRD versions and logs
535
+ │ │ ├── parsed-prd.json
536
+ │ │ └── ...
537
+ │ └── logs/ # Operation logs
538
+ │ └── ...
539
+ └── your-project-files...
540
+ ```
541
+
542
+ ## Error Handling
543
+
544
+ ```typescript
545
+ import { TaskService, TaskOMaticError } from "task-o-matic-core";
546
+
547
+ const taskService = new TaskService();
548
+
549
+ try {
550
+ const result = await taskService.createTask({
551
+ title: "New task",
552
+ aiEnhance: true,
553
+ aiOptions: {
554
+ aiProvider: "anthropic",
555
+ aiModel: "claude-3-5-sonnet",
556
+ aiKey: process.env.ANTHROPIC_API_KEY,
557
+ },
558
+ });
559
+ } catch (error) {
560
+ if (error instanceof TaskOMaticError) {
561
+ console.error(`TaskOMatic Error: ${error.message}`);
562
+ console.error(`Code: ${error.code}`);
563
+ console.error(`Details:`, error.details);
564
+ } else {
565
+ console.error(`Unexpected error:`, error);
566
+ }
567
+ }
568
+ ```
569
+
570
+ ## Hooks System
571
+
572
+ Register hooks to customize behavior:
573
+
574
+ ```typescript
575
+ import { registerLoggerHooks } from "task-o-matic-core";
576
+
577
+ // Register logger hooks
578
+ registerLoggerHooks({
579
+ onLog: (level, message) => {
580
+ console.log(`[${level}] ${message}`);
581
+ },
582
+ onError: (error) => {
583
+ console.error(`Error:`, error);
584
+ },
585
+ });
586
+ ```
587
+
588
+ ## Development
589
+
590
+ ### Building from Source
591
+
592
+ ```bash
593
+ # Clone and install
594
+ git clone https://github.com/DimitriGilbert/task-o-matic.git
595
+ cd task-o-matic
596
+ npm install
597
+
598
+ # Build the core package
599
+ cd packages/core
600
+ npm run build
601
+
602
+ # Type checking
603
+ npm run check-types
604
+
605
+ # Run tests
606
+ npm run test
607
+ ```
608
+
609
+ ### Testing
610
+
611
+ ```bash
612
+ # Run all tests
613
+ npm test
614
+
615
+ # Run specific test file
616
+ npm test -- --grep "TaskService"
617
+ ```
618
+
619
+ ## Documentation
620
+
621
+ For more detailed documentation, see:
622
+
623
+ - [Configuration](../../docs/configuration.md) - AI providers and settings
624
+ - [Task Management](../../docs/tasks.md) - Full task lifecycle with AI features
625
+ - [PRD Processing](../../docs/prd.md) - Parse and rework Product Requirements Documents
626
+ - [Interactive Workflow](../../docs/workflow-command.md) - Guided setup with AI assistance
627
+ - [AI Integration](../../docs/ai-integration.md) - AI providers and prompt engineering
628
+ - [Project Initialization](../../docs/projects.md) - Project setup and bootstrapping
629
+ - [Streaming Output](../../docs/streaming.md) - Real-time AI streaming capabilities
630
+ - [Model Benchmarking](../../docs/benchmarking.md) - Compare AI models and workflow performance
631
+
632
+ ## License
633
+
634
+ MIT License - see LICENSE file for details.
635
+
636
+ ## Contributing
637
+
638
+ 1. Fork the repository
639
+ 2. Create a feature branch
640
+ 3. Make your changes
641
+ 4. Add tests if applicable
642
+ 5. Submit a pull request
643
+
644
+ ---
645
+
646
+ **Built with ❤️ using Vercel AI SDK and modern TypeScript**
@@ -0,0 +1,27 @@
1
+ export * from "./types";
2
+ export * from "./lib/config";
3
+ export * from "./lib/logger";
4
+ export * from "./lib/better-t-stack-cli";
5
+ export * from "./lib/validation";
6
+ export * from "./lib/context-builder";
7
+ export * from "./lib/ai-service/ai-operations";
8
+ export * from "./lib/ai-service/task-operations";
9
+ export * from "./lib/ai-service/prd-operations";
10
+ export * from "./lib/ai-service/documentation-operations";
11
+ export * from "./lib/executors/executor-factory";
12
+ export * from "./lib/prompt-builder";
13
+ export * from "./lib/task-execution";
14
+ export * from "./lib/task-loop-execution";
15
+ export * from "./services/tasks";
16
+ export * from "./services/workflow";
17
+ export * from "./services/prd";
18
+ export * from "./services/benchmark";
19
+ export * from "./lib/benchmark/registry";
20
+ export * from "./lib/benchmark/types";
21
+ export * from "./utils/ai-service-factory";
22
+ export * from "./utils/task-o-matic-error";
23
+ export * from "./lib/hooks";
24
+ export * from "./utils/model-executor-parser";
25
+ export * from "./utils/model-parser";
26
+ export * from "./prompts";
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,aAAa,CAAC;AAO5B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AAErC,cAAc,WAAW,CAAC"}