takt 0.3.8 → 0.4.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 (977) hide show
  1. package/README.md +391 -319
  2. package/bin/takt +1 -1
  3. package/dist/agents/index.d.ts +2 -1
  4. package/dist/agents/index.d.ts.map +1 -1
  5. package/dist/agents/index.js +1 -1
  6. package/dist/agents/index.js.map +1 -1
  7. package/dist/agents/runner.d.ts +28 -26
  8. package/dist/agents/runner.d.ts.map +1 -1
  9. package/dist/agents/runner.js +154 -136
  10. package/dist/agents/runner.js.map +1 -1
  11. package/dist/agents/types.d.ts +29 -0
  12. package/dist/agents/types.d.ts.map +1 -0
  13. package/dist/agents/types.js +5 -0
  14. package/dist/agents/types.js.map +1 -0
  15. package/dist/app/cli/commands.d.ts +7 -0
  16. package/dist/app/cli/commands.d.ts.map +1 -0
  17. package/dist/app/cli/commands.js +74 -0
  18. package/dist/app/cli/commands.js.map +1 -0
  19. package/dist/app/cli/helpers.d.ts +27 -0
  20. package/dist/app/cli/helpers.d.ts.map +1 -0
  21. package/dist/app/cli/helpers.js +54 -0
  22. package/dist/app/cli/helpers.js.map +1 -0
  23. package/dist/app/cli/index.d.ts +9 -0
  24. package/dist/app/cli/index.d.ts.map +1 -0
  25. package/dist/app/cli/index.js +14 -0
  26. package/dist/app/cli/index.js.map +1 -0
  27. package/dist/app/cli/program.d.ts +15 -0
  28. package/dist/app/cli/program.d.ts.map +1 -0
  29. package/dist/app/cli/program.js +66 -0
  30. package/dist/app/cli/program.js.map +1 -0
  31. package/dist/app/cli/routing.d.ts +8 -0
  32. package/dist/app/cli/routing.d.ts.map +1 -0
  33. package/dist/app/cli/routing.js +99 -0
  34. package/dist/app/cli/routing.js.map +1 -0
  35. package/dist/core/models/agent.d.ts +22 -0
  36. package/dist/core/models/agent.d.ts.map +1 -0
  37. package/dist/core/models/agent.js +3 -0
  38. package/dist/core/models/agent.js.map +1 -0
  39. package/dist/core/models/config.d.ts +6 -0
  40. package/dist/core/models/config.d.ts.map +1 -0
  41. package/dist/core/models/config.js +13 -0
  42. package/dist/core/models/config.js.map +1 -0
  43. package/dist/core/models/global-config.d.ts +65 -0
  44. package/dist/core/models/global-config.d.ts.map +1 -0
  45. package/dist/core/models/global-config.js +5 -0
  46. package/dist/core/models/global-config.js.map +1 -0
  47. package/dist/core/models/index.d.ts +6 -0
  48. package/dist/core/models/index.d.ts.map +1 -0
  49. package/dist/core/models/index.js +9 -0
  50. package/dist/core/models/index.js.map +1 -0
  51. package/dist/core/models/response.d.ts +19 -0
  52. package/dist/core/models/response.d.ts.map +1 -0
  53. package/dist/core/models/response.js +5 -0
  54. package/dist/core/models/response.js.map +1 -0
  55. package/dist/core/models/schemas.d.ts +403 -0
  56. package/dist/core/models/schemas.d.ts.map +1 -0
  57. package/dist/core/models/schemas.js +218 -0
  58. package/dist/core/models/schemas.js.map +1 -0
  59. package/dist/core/models/session.d.ts +51 -0
  60. package/dist/core/models/session.d.ts.map +1 -0
  61. package/dist/core/models/session.js.map +1 -0
  62. package/dist/core/models/status.d.ts +12 -0
  63. package/dist/core/models/status.d.ts.map +1 -0
  64. package/dist/core/models/status.js +5 -0
  65. package/dist/core/models/status.js.map +1 -0
  66. package/dist/core/models/types.d.ts +12 -0
  67. package/dist/core/models/types.d.ts.map +1 -0
  68. package/dist/core/models/types.js +8 -0
  69. package/dist/core/models/types.js.map +1 -0
  70. package/dist/core/models/workflow-types.d.ts +115 -0
  71. package/dist/core/models/workflow-types.d.ts.map +1 -0
  72. package/dist/core/models/workflow-types.js +5 -0
  73. package/dist/core/models/workflow-types.js.map +1 -0
  74. package/dist/core/workflow/constants.d.ts +20 -0
  75. package/dist/core/workflow/constants.d.ts.map +1 -0
  76. package/dist/core/workflow/constants.js +20 -0
  77. package/dist/core/workflow/constants.js.map +1 -0
  78. package/dist/core/workflow/engine/MovementExecutor.d.ts +59 -0
  79. package/dist/core/workflow/engine/MovementExecutor.d.ts.map +1 -0
  80. package/dist/core/workflow/engine/MovementExecutor.js +125 -0
  81. package/dist/core/workflow/engine/MovementExecutor.js.map +1 -0
  82. package/dist/core/workflow/engine/OptionsBuilder.d.ts +28 -0
  83. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -0
  84. package/dist/core/workflow/engine/OptionsBuilder.js +80 -0
  85. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -0
  86. package/dist/core/workflow/engine/ParallelRunner.d.ts +40 -0
  87. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -0
  88. package/dist/core/workflow/engine/ParallelRunner.js +111 -0
  89. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -0
  90. package/dist/core/workflow/engine/WorkflowEngine.d.ts +72 -0
  91. package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -0
  92. package/dist/core/workflow/engine/WorkflowEngine.js +388 -0
  93. package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -0
  94. package/dist/core/workflow/engine/blocked-handler.d.ts +27 -0
  95. package/dist/core/workflow/engine/blocked-handler.d.ts.map +1 -0
  96. package/dist/core/workflow/engine/blocked-handler.js +40 -0
  97. package/dist/core/workflow/engine/blocked-handler.js.map +1 -0
  98. package/dist/core/workflow/engine/index.d.ts +11 -0
  99. package/dist/core/workflow/engine/index.d.ts.map +1 -0
  100. package/dist/core/workflow/engine/index.js +10 -0
  101. package/dist/core/workflow/engine/index.js.map +1 -0
  102. package/dist/core/workflow/engine/loop-detector.d.ts +31 -0
  103. package/dist/core/workflow/engine/loop-detector.d.ts.map +1 -0
  104. package/dist/core/workflow/engine/loop-detector.js +61 -0
  105. package/dist/core/workflow/engine/loop-detector.js.map +1 -0
  106. package/dist/core/workflow/engine/parallel-logger.d.ts +76 -0
  107. package/dist/core/workflow/engine/parallel-logger.d.ts.map +1 -0
  108. package/dist/core/workflow/engine/parallel-logger.js +174 -0
  109. package/dist/core/workflow/engine/parallel-logger.js.map +1 -0
  110. package/dist/core/workflow/engine/state-manager.d.ts +46 -0
  111. package/dist/core/workflow/engine/state-manager.d.ts.map +1 -0
  112. package/dist/core/workflow/engine/state-manager.js +97 -0
  113. package/dist/core/workflow/engine/state-manager.js.map +1 -0
  114. package/dist/core/workflow/engine/transitions.d.ts +17 -0
  115. package/dist/core/workflow/engine/transitions.d.ts.map +1 -0
  116. package/dist/core/workflow/engine/transitions.js +38 -0
  117. package/dist/core/workflow/engine/transitions.js.map +1 -0
  118. package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts +32 -0
  119. package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +1 -0
  120. package/dist/core/workflow/evaluation/AggregateEvaluator.js +122 -0
  121. package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +1 -0
  122. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +55 -0
  123. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -0
  124. package/dist/core/workflow/evaluation/RuleEvaluator.js +149 -0
  125. package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -0
  126. package/dist/core/workflow/evaluation/index.d.ts +18 -0
  127. package/dist/core/workflow/evaluation/index.d.ts.map +1 -0
  128. package/dist/core/workflow/evaluation/index.js +22 -0
  129. package/dist/core/workflow/evaluation/index.js.map +1 -0
  130. package/dist/core/workflow/evaluation/rule-utils.d.ts +13 -0
  131. package/dist/core/workflow/evaluation/rule-utils.d.ts.map +1 -0
  132. package/dist/core/workflow/evaluation/rule-utils.js +17 -0
  133. package/dist/core/workflow/evaluation/rule-utils.js.map +1 -0
  134. package/dist/core/workflow/index.d.ts +23 -0
  135. package/dist/core/workflow/index.d.ts.map +1 -0
  136. package/dist/core/workflow/index.js +32 -0
  137. package/dist/core/workflow/index.js.map +1 -0
  138. package/dist/core/workflow/instruction/InstructionBuilder.d.ts +46 -0
  139. package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +1 -0
  140. package/dist/core/workflow/instruction/InstructionBuilder.js +165 -0
  141. package/dist/core/workflow/instruction/InstructionBuilder.js.map +1 -0
  142. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts +34 -0
  143. package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +1 -0
  144. package/dist/core/workflow/instruction/ReportInstructionBuilder.js +77 -0
  145. package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +1 -0
  146. package/dist/core/workflow/instruction/StatusJudgmentBuilder.d.ts +31 -0
  147. package/dist/core/workflow/instruction/StatusJudgmentBuilder.d.ts.map +1 -0
  148. package/dist/core/workflow/instruction/StatusJudgmentBuilder.js +38 -0
  149. package/dist/core/workflow/instruction/StatusJudgmentBuilder.js.map +1 -0
  150. package/dist/core/workflow/instruction/escape.d.ts +19 -0
  151. package/dist/core/workflow/instruction/escape.d.ts.map +1 -0
  152. package/dist/core/workflow/instruction/escape.js +50 -0
  153. package/dist/core/workflow/instruction/escape.js.map +1 -0
  154. package/dist/core/workflow/instruction/index.d.ts +8 -0
  155. package/dist/core/workflow/instruction/index.d.ts.map +1 -0
  156. package/dist/core/workflow/instruction/index.js +8 -0
  157. package/dist/core/workflow/instruction/index.js.map +1 -0
  158. package/dist/core/workflow/instruction/instruction-context.d.ts +48 -0
  159. package/dist/core/workflow/instruction/instruction-context.d.ts.map +1 -0
  160. package/dist/core/workflow/instruction/instruction-context.js +27 -0
  161. package/dist/core/workflow/instruction/instruction-context.js.map +1 -0
  162. package/dist/core/workflow/instruction/status-rules.d.ts +28 -0
  163. package/dist/core/workflow/instruction/status-rules.d.ts.map +1 -0
  164. package/dist/core/workflow/instruction/status-rules.js +66 -0
  165. package/dist/core/workflow/instruction/status-rules.js.map +1 -0
  166. package/dist/core/workflow/parallel-logger.d.ts +5 -0
  167. package/dist/core/workflow/parallel-logger.d.ts.map +1 -0
  168. package/dist/core/workflow/parallel-logger.js +5 -0
  169. package/dist/core/workflow/parallel-logger.js.map +1 -0
  170. package/dist/core/workflow/phase-runner.d.ts +48 -0
  171. package/dist/core/workflow/phase-runner.d.ts.map +1 -0
  172. package/dist/core/workflow/phase-runner.js +152 -0
  173. package/dist/core/workflow/phase-runner.js.map +1 -0
  174. package/dist/core/workflow/types.d.ts +178 -0
  175. package/dist/core/workflow/types.d.ts.map +1 -0
  176. package/dist/core/workflow/types.js.map +1 -0
  177. package/dist/features/config/ejectBuiltin.d.ts +13 -0
  178. package/dist/features/config/ejectBuiltin.d.ts.map +1 -0
  179. package/dist/features/config/ejectBuiltin.js +104 -0
  180. package/dist/features/config/ejectBuiltin.js.map +1 -0
  181. package/dist/features/config/index.d.ts +7 -0
  182. package/dist/features/config/index.d.ts.map +1 -0
  183. package/dist/features/config/index.js +7 -0
  184. package/dist/features/config/index.js.map +1 -0
  185. package/dist/features/config/switchConfig.d.ts +33 -0
  186. package/dist/features/config/switchConfig.d.ts.map +1 -0
  187. package/dist/features/config/switchConfig.js +103 -0
  188. package/dist/features/config/switchConfig.js.map +1 -0
  189. package/dist/features/config/switchWorkflow.d.ts +9 -0
  190. package/dist/features/config/switchWorkflow.d.ts.map +1 -0
  191. package/dist/features/config/switchWorkflow.js +51 -0
  192. package/dist/features/config/switchWorkflow.js.map +1 -0
  193. package/dist/features/interactive/index.d.ts +5 -0
  194. package/dist/features/interactive/index.d.ts.map +1 -0
  195. package/dist/features/interactive/index.js +5 -0
  196. package/dist/features/interactive/index.js.map +1 -0
  197. package/dist/features/interactive/interactive.d.ts +34 -0
  198. package/dist/features/interactive/interactive.d.ts.map +1 -0
  199. package/dist/features/interactive/interactive.js +260 -0
  200. package/dist/features/interactive/interactive.js.map +1 -0
  201. package/dist/features/pipeline/execute.d.ts +19 -0
  202. package/dist/features/pipeline/execute.d.ts.map +1 -0
  203. package/dist/features/pipeline/execute.js +192 -0
  204. package/dist/features/pipeline/execute.js.map +1 -0
  205. package/dist/features/pipeline/index.d.ts +5 -0
  206. package/dist/features/pipeline/index.d.ts.map +1 -0
  207. package/dist/features/pipeline/index.js +5 -0
  208. package/dist/features/pipeline/index.js.map +1 -0
  209. package/dist/features/prompt/index.d.ts +5 -0
  210. package/dist/features/prompt/index.d.ts.map +1 -0
  211. package/dist/features/prompt/index.js +5 -0
  212. package/dist/features/prompt/index.js.map +1 -0
  213. package/dist/features/prompt/preview.d.ts +14 -0
  214. package/dist/features/prompt/preview.d.ts.map +1 -0
  215. package/dist/features/prompt/preview.js +74 -0
  216. package/dist/features/prompt/preview.js.map +1 -0
  217. package/dist/features/tasks/add/index.d.ts +19 -0
  218. package/dist/features/tasks/add/index.d.ts.map +1 -0
  219. package/dist/features/tasks/add/index.js +129 -0
  220. package/dist/features/tasks/add/index.js.map +1 -0
  221. package/dist/features/tasks/execute/selectAndExecute.d.ts +24 -0
  222. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -0
  223. package/dist/features/tasks/execute/selectAndExecute.js +143 -0
  224. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -0
  225. package/dist/features/tasks/execute/session.d.ts +10 -0
  226. package/dist/features/tasks/execute/session.d.ts.map +1 -0
  227. package/dist/features/tasks/execute/session.js +19 -0
  228. package/dist/features/tasks/execute/session.js.map +1 -0
  229. package/dist/features/tasks/execute/taskExecution.d.ts +38 -0
  230. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -0
  231. package/dist/features/tasks/execute/taskExecution.js +181 -0
  232. package/dist/features/tasks/execute/taskExecution.js.map +1 -0
  233. package/dist/features/tasks/execute/types.d.ts +88 -0
  234. package/dist/features/tasks/execute/types.d.ts.map +1 -0
  235. package/dist/features/tasks/execute/types.js +5 -0
  236. package/dist/features/tasks/execute/types.js.map +1 -0
  237. package/dist/features/tasks/execute/workflowExecution.d.ts +11 -0
  238. package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -0
  239. package/dist/features/tasks/execute/workflowExecution.js +323 -0
  240. package/dist/features/tasks/execute/workflowExecution.js.map +1 -0
  241. package/dist/features/tasks/index.d.ts +13 -0
  242. package/dist/features/tasks/index.d.ts.map +1 -0
  243. package/dist/features/tasks/index.js +12 -0
  244. package/dist/features/tasks/index.js.map +1 -0
  245. package/dist/features/tasks/list/index.d.ts +13 -0
  246. package/dist/features/tasks/list/index.d.ts.map +1 -0
  247. package/dist/features/tasks/list/index.js +80 -0
  248. package/dist/features/tasks/list/index.js.map +1 -0
  249. package/dist/features/tasks/list/taskActions.d.ts +42 -0
  250. package/dist/features/tasks/list/taskActions.d.ts.map +1 -0
  251. package/dist/features/tasks/list/taskActions.js +289 -0
  252. package/dist/features/tasks/list/taskActions.js.map +1 -0
  253. package/dist/features/tasks/watch/index.d.ts +13 -0
  254. package/dist/features/tasks/watch/index.d.ts.map +1 -0
  255. package/dist/features/tasks/watch/index.js +67 -0
  256. package/dist/features/tasks/watch/index.js.map +1 -0
  257. package/dist/features/workflowSelection/index.d.ts +55 -0
  258. package/dist/features/workflowSelection/index.d.ts.map +1 -0
  259. package/dist/features/workflowSelection/index.js +492 -0
  260. package/dist/features/workflowSelection/index.js.map +1 -0
  261. package/dist/index.d.ts +17 -7
  262. package/dist/index.d.ts.map +1 -1
  263. package/dist/index.js +16 -8
  264. package/dist/index.js.map +1 -1
  265. package/dist/infra/claude/client.d.ts +75 -0
  266. package/dist/infra/claude/client.d.ts.map +1 -0
  267. package/dist/infra/claude/client.js +217 -0
  268. package/dist/infra/claude/client.js.map +1 -0
  269. package/dist/infra/claude/executor.d.ts +26 -0
  270. package/dist/infra/claude/executor.d.ts.map +1 -0
  271. package/dist/infra/claude/executor.js +135 -0
  272. package/dist/infra/claude/executor.js.map +1 -0
  273. package/dist/infra/claude/index.d.ts +19 -0
  274. package/dist/infra/claude/index.d.ts.map +1 -0
  275. package/dist/infra/claude/index.js +24 -0
  276. package/dist/infra/claude/index.js.map +1 -0
  277. package/dist/infra/claude/options-builder.d.ts +37 -0
  278. package/dist/infra/claude/options-builder.d.ts.map +1 -0
  279. package/dist/infra/claude/options-builder.js +145 -0
  280. package/dist/infra/claude/options-builder.js.map +1 -0
  281. package/dist/infra/claude/process.d.ts +35 -0
  282. package/dist/infra/claude/process.d.ts.map +1 -0
  283. package/dist/infra/claude/process.js +57 -0
  284. package/dist/infra/claude/process.js.map +1 -0
  285. package/dist/infra/claude/query-manager.d.ts +57 -0
  286. package/dist/infra/claude/query-manager.d.ts.map +1 -0
  287. package/dist/infra/claude/query-manager.js +112 -0
  288. package/dist/infra/claude/query-manager.js.map +1 -0
  289. package/dist/infra/claude/stream-converter.d.ts +19 -0
  290. package/dist/infra/claude/stream-converter.d.ts.map +1 -0
  291. package/dist/infra/claude/stream-converter.js +170 -0
  292. package/dist/infra/claude/stream-converter.js.map +1 -0
  293. package/dist/infra/claude/types.d.ts +157 -0
  294. package/dist/infra/claude/types.d.ts.map +1 -0
  295. package/dist/infra/claude/types.js.map +1 -0
  296. package/dist/infra/codex/CodexStreamHandler.d.ts +40 -0
  297. package/dist/infra/codex/CodexStreamHandler.d.ts.map +1 -0
  298. package/dist/infra/codex/CodexStreamHandler.js +262 -0
  299. package/dist/infra/codex/CodexStreamHandler.js.map +1 -0
  300. package/dist/infra/codex/client.d.ts +23 -0
  301. package/dist/infra/codex/client.d.ts.map +1 -0
  302. package/dist/infra/codex/client.js +170 -0
  303. package/dist/infra/codex/client.js.map +1 -0
  304. package/dist/infra/codex/index.d.ts +7 -0
  305. package/dist/infra/codex/index.d.ts.map +1 -0
  306. package/dist/infra/codex/index.js +6 -0
  307. package/dist/infra/codex/index.js.map +1 -0
  308. package/dist/infra/codex/types.d.ts +23 -0
  309. package/dist/infra/codex/types.d.ts.map +1 -0
  310. package/dist/infra/codex/types.js +13 -0
  311. package/dist/infra/codex/types.js.map +1 -0
  312. package/dist/infra/config/global/bookmarks.d.ts +22 -0
  313. package/dist/infra/config/global/bookmarks.d.ts.map +1 -0
  314. package/dist/infra/config/global/bookmarks.js +89 -0
  315. package/dist/infra/config/global/bookmarks.js.map +1 -0
  316. package/dist/infra/config/global/globalConfig.d.ts +50 -0
  317. package/dist/infra/config/global/globalConfig.d.ts.map +1 -0
  318. package/dist/infra/config/global/globalConfig.js +274 -0
  319. package/dist/infra/config/global/globalConfig.js.map +1 -0
  320. package/dist/infra/config/global/index.d.ts +8 -0
  321. package/dist/infra/config/global/index.d.ts.map +1 -0
  322. package/dist/infra/config/global/index.js +8 -0
  323. package/dist/infra/config/global/index.js.map +1 -0
  324. package/dist/infra/config/global/initialization.d.ts +45 -0
  325. package/dist/infra/config/global/initialization.d.ts.map +1 -0
  326. package/dist/infra/config/global/initialization.js +96 -0
  327. package/dist/infra/config/global/initialization.js.map +1 -0
  328. package/dist/infra/config/global/workflowCategories.d.ts +19 -0
  329. package/dist/infra/config/global/workflowCategories.d.ts.map +1 -0
  330. package/dist/infra/config/global/workflowCategories.js +85 -0
  331. package/dist/infra/config/global/workflowCategories.js.map +1 -0
  332. package/dist/infra/config/index.d.ts +8 -0
  333. package/dist/infra/config/index.d.ts.map +1 -0
  334. package/dist/infra/config/index.js +8 -0
  335. package/dist/infra/config/index.js.map +1 -0
  336. package/dist/infra/config/loaders/agentLoader.d.ts +27 -0
  337. package/dist/infra/config/loaders/agentLoader.d.ts.map +1 -0
  338. package/dist/infra/config/loaders/agentLoader.js +90 -0
  339. package/dist/infra/config/loaders/agentLoader.js.map +1 -0
  340. package/dist/infra/config/loaders/index.d.ts +7 -0
  341. package/dist/infra/config/loaders/index.d.ts.map +1 -0
  342. package/dist/infra/config/loaders/index.js +7 -0
  343. package/dist/infra/config/loaders/index.js.map +1 -0
  344. package/dist/infra/config/loaders/loader.d.ts +9 -0
  345. package/dist/infra/config/loaders/loader.d.ts.map +1 -0
  346. package/dist/infra/config/loaders/loader.js +12 -0
  347. package/dist/infra/config/loaders/loader.js.map +1 -0
  348. package/dist/infra/config/loaders/workflowCategories.d.ts +43 -0
  349. package/dist/infra/config/loaders/workflowCategories.d.ts.map +1 -0
  350. package/dist/infra/config/loaders/workflowCategories.js +236 -0
  351. package/dist/infra/config/loaders/workflowCategories.js.map +1 -0
  352. package/dist/infra/config/loaders/workflowLoader.d.ts +10 -0
  353. package/dist/infra/config/loaders/workflowLoader.d.ts.map +1 -0
  354. package/dist/infra/config/loaders/workflowLoader.js +12 -0
  355. package/dist/infra/config/loaders/workflowLoader.js.map +1 -0
  356. package/dist/infra/config/loaders/workflowParser.d.ts +18 -0
  357. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -0
  358. package/dist/infra/config/loaders/workflowParser.js +211 -0
  359. package/dist/infra/config/loaders/workflowParser.js.map +1 -0
  360. package/dist/infra/config/loaders/workflowResolver.d.ts +86 -0
  361. package/dist/infra/config/loaders/workflowResolver.d.ts.map +1 -0
  362. package/dist/infra/config/loaders/workflowResolver.js +248 -0
  363. package/dist/infra/config/loaders/workflowResolver.js.map +1 -0
  364. package/dist/infra/config/paths.d.ts +38 -0
  365. package/dist/infra/config/paths.d.ts.map +1 -0
  366. package/dist/infra/config/paths.js +77 -0
  367. package/dist/infra/config/paths.js.map +1 -0
  368. package/dist/infra/config/project/index.d.ts +6 -0
  369. package/dist/infra/config/project/index.d.ts.map +1 -0
  370. package/dist/infra/config/project/index.js +6 -0
  371. package/dist/infra/config/project/index.js.map +1 -0
  372. package/dist/infra/config/project/projectConfig.d.ts +32 -0
  373. package/dist/infra/config/project/projectConfig.d.ts.map +1 -0
  374. package/dist/infra/config/project/projectConfig.js +89 -0
  375. package/dist/infra/config/project/projectConfig.js.map +1 -0
  376. package/dist/infra/config/project/sessionStore.d.ts +56 -0
  377. package/dist/infra/config/project/sessionStore.d.ts.map +1 -0
  378. package/dist/infra/config/project/sessionStore.js +273 -0
  379. package/dist/infra/config/project/sessionStore.js.map +1 -0
  380. package/dist/infra/config/types.d.ts +38 -0
  381. package/dist/infra/config/types.d.ts.map +1 -0
  382. package/dist/infra/config/types.js +5 -0
  383. package/dist/infra/config/types.js.map +1 -0
  384. package/dist/infra/fs/index.d.ts +6 -0
  385. package/dist/infra/fs/index.d.ts.map +1 -0
  386. package/dist/infra/fs/index.js +5 -0
  387. package/dist/infra/fs/index.js.map +1 -0
  388. package/dist/infra/fs/session.d.ts +46 -0
  389. package/dist/infra/fs/session.d.ts.map +1 -0
  390. package/dist/infra/fs/session.js +201 -0
  391. package/dist/infra/fs/session.js.map +1 -0
  392. package/dist/infra/github/index.d.ts +7 -0
  393. package/dist/infra/github/index.d.ts.map +1 -0
  394. package/dist/infra/github/index.js +6 -0
  395. package/dist/infra/github/index.js.map +1 -0
  396. package/dist/infra/github/issue.d.ts +60 -0
  397. package/dist/infra/github/issue.d.ts.map +1 -0
  398. package/dist/infra/github/issue.js +143 -0
  399. package/dist/infra/github/issue.js.map +1 -0
  400. package/dist/infra/github/pr.d.ts +21 -0
  401. package/dist/infra/github/pr.d.ts.map +1 -0
  402. package/dist/infra/github/pr.js +78 -0
  403. package/dist/infra/github/pr.js.map +1 -0
  404. package/dist/infra/github/types.d.ts +37 -0
  405. package/dist/infra/github/types.d.ts.map +1 -0
  406. package/dist/infra/github/types.js +5 -0
  407. package/dist/infra/github/types.js.map +1 -0
  408. package/dist/infra/mock/client.d.ts +18 -0
  409. package/dist/infra/mock/client.d.ts.map +1 -0
  410. package/dist/infra/mock/client.js.map +1 -0
  411. package/dist/infra/mock/index.d.ts +7 -0
  412. package/dist/infra/mock/index.d.ts.map +1 -0
  413. package/dist/infra/mock/index.js +6 -0
  414. package/dist/infra/mock/index.js.map +1 -0
  415. package/dist/infra/mock/scenario.d.ts +50 -0
  416. package/dist/infra/mock/scenario.d.ts.map +1 -0
  417. package/dist/infra/mock/scenario.js.map +1 -0
  418. package/dist/infra/mock/types.d.ts +24 -0
  419. package/dist/infra/mock/types.d.ts.map +1 -0
  420. package/dist/infra/mock/types.js +5 -0
  421. package/dist/infra/mock/types.js.map +1 -0
  422. package/dist/infra/providers/claude.d.ts +11 -0
  423. package/dist/infra/providers/claude.d.ts.map +1 -0
  424. package/dist/infra/providers/claude.js +42 -0
  425. package/dist/infra/providers/claude.js.map +1 -0
  426. package/dist/infra/providers/codex.d.ts +11 -0
  427. package/dist/infra/providers/codex.d.ts.map +1 -0
  428. package/dist/infra/providers/codex.js +32 -0
  429. package/dist/infra/providers/codex.js.map +1 -0
  430. package/dist/infra/providers/index.d.ts +24 -0
  431. package/dist/infra/providers/index.d.ts.map +1 -0
  432. package/dist/infra/providers/index.js +46 -0
  433. package/dist/infra/providers/index.js.map +1 -0
  434. package/dist/infra/providers/mock.d.ts +11 -0
  435. package/dist/infra/providers/mock.d.ts.map +1 -0
  436. package/dist/infra/providers/mock.js +24 -0
  437. package/dist/infra/providers/mock.js.map +1 -0
  438. package/dist/infra/providers/types.d.ts +35 -0
  439. package/dist/infra/providers/types.d.ts.map +1 -0
  440. package/dist/infra/providers/types.js +5 -0
  441. package/dist/infra/providers/types.js.map +1 -0
  442. package/dist/infra/resources/index.d.ts +34 -0
  443. package/dist/infra/resources/index.d.ts.map +1 -0
  444. package/dist/infra/resources/index.js +85 -0
  445. package/dist/infra/resources/index.js.map +1 -0
  446. package/dist/infra/task/autoCommit.d.ts +33 -0
  447. package/dist/infra/task/autoCommit.d.ts.map +1 -0
  448. package/dist/infra/task/autoCommit.js +62 -0
  449. package/dist/infra/task/autoCommit.js.map +1 -0
  450. package/dist/infra/task/branchList.d.ts +41 -0
  451. package/dist/infra/task/branchList.d.ts.map +1 -0
  452. package/dist/infra/task/branchList.js +220 -0
  453. package/dist/infra/task/branchList.js.map +1 -0
  454. package/dist/infra/task/clone.d.ts +58 -0
  455. package/dist/infra/task/clone.d.ts.map +1 -0
  456. package/dist/infra/task/clone.js +238 -0
  457. package/dist/infra/task/clone.js.map +1 -0
  458. package/dist/infra/task/display.d.ts.map +1 -0
  459. package/dist/infra/task/display.js +59 -0
  460. package/dist/infra/task/display.js.map +1 -0
  461. package/dist/infra/task/git.d.ts.map +1 -0
  462. package/dist/infra/task/git.js.map +1 -0
  463. package/dist/infra/task/index.d.ts +19 -0
  464. package/dist/infra/task/index.d.ts.map +1 -0
  465. package/dist/infra/task/index.js +19 -0
  466. package/dist/infra/task/index.js.map +1 -0
  467. package/dist/infra/task/parser.d.ts +33 -0
  468. package/dist/infra/task/parser.d.ts.map +1 -0
  469. package/dist/infra/task/parser.js +86 -0
  470. package/dist/infra/task/parser.js.map +1 -0
  471. package/dist/infra/task/runner.d.ts +71 -0
  472. package/dist/infra/task/runner.d.ts.map +1 -0
  473. package/dist/infra/task/runner.js.map +1 -0
  474. package/dist/infra/task/schema.d.ts +33 -0
  475. package/dist/infra/task/schema.d.ts.map +1 -0
  476. package/dist/infra/task/schema.js +32 -0
  477. package/dist/infra/task/schema.js.map +1 -0
  478. package/dist/infra/task/summarize.d.ts +22 -0
  479. package/dist/infra/task/summarize.d.ts.map +1 -0
  480. package/dist/infra/task/summarize.js +72 -0
  481. package/dist/infra/task/summarize.js.map +1 -0
  482. package/dist/infra/task/types.d.ts +61 -0
  483. package/dist/infra/task/types.d.ts.map +1 -0
  484. package/dist/infra/task/types.js +5 -0
  485. package/dist/infra/task/types.js.map +1 -0
  486. package/dist/infra/task/watcher.d.ts +33 -0
  487. package/dist/infra/task/watcher.d.ts.map +1 -0
  488. package/dist/infra/task/watcher.js +69 -0
  489. package/dist/infra/task/watcher.js.map +1 -0
  490. package/dist/shared/constants.d.ts +11 -0
  491. package/dist/shared/constants.d.ts.map +1 -0
  492. package/dist/shared/constants.js.map +1 -0
  493. package/dist/shared/context.d.ts +24 -0
  494. package/dist/shared/context.d.ts.map +1 -0
  495. package/dist/shared/context.js +39 -0
  496. package/dist/shared/context.js.map +1 -0
  497. package/dist/shared/exitCodes.d.ts.map +1 -0
  498. package/dist/shared/exitCodes.js.map +1 -0
  499. package/dist/shared/i18n/index.d.ts +31 -0
  500. package/dist/shared/i18n/index.d.ts.map +1 -0
  501. package/dist/shared/i18n/index.js +97 -0
  502. package/dist/shared/i18n/index.js.map +1 -0
  503. package/dist/shared/i18n/labels_en.yaml +37 -0
  504. package/dist/shared/i18n/labels_ja.yaml +37 -0
  505. package/dist/shared/prompt/confirm.d.ts +23 -0
  506. package/dist/shared/prompt/confirm.d.ts.map +1 -0
  507. package/dist/shared/prompt/confirm.js +85 -0
  508. package/dist/shared/prompt/confirm.js.map +1 -0
  509. package/dist/shared/prompt/index.d.ts +10 -0
  510. package/dist/shared/prompt/index.d.ts.map +1 -0
  511. package/dist/shared/prompt/index.js +10 -0
  512. package/dist/shared/prompt/index.js.map +1 -0
  513. package/dist/shared/prompt/select.d.ts +73 -0
  514. package/dist/shared/prompt/select.d.ts.map +1 -0
  515. package/dist/shared/prompt/select.js +238 -0
  516. package/dist/shared/prompt/select.js.map +1 -0
  517. package/dist/shared/prompts/en/perform_agent_system_prompt.md +7 -0
  518. package/dist/shared/prompts/en/perform_builtin_agent_system_prompt.md +7 -0
  519. package/dist/shared/prompts/en/perform_judge_message.md +24 -0
  520. package/dist/shared/prompts/en/perform_phase1_message.md +45 -0
  521. package/dist/shared/prompts/en/perform_phase2_message.md +31 -0
  522. package/dist/shared/prompts/en/perform_phase3_message.md +19 -0
  523. package/dist/shared/prompts/en/score_interactive_system_prompt.md +53 -0
  524. package/dist/shared/prompts/en/score_slug_system_prompt.md +19 -0
  525. package/dist/shared/prompts/en/score_summary_system_prompt.md +25 -0
  526. package/dist/shared/prompts/index.d.ts +27 -0
  527. package/dist/shared/prompts/index.d.ts.map +1 -0
  528. package/dist/shared/prompts/index.js +111 -0
  529. package/dist/shared/prompts/index.js.map +1 -0
  530. package/dist/shared/prompts/ja/perform_agent_system_prompt.md +7 -0
  531. package/dist/shared/prompts/ja/perform_builtin_agent_system_prompt.md +7 -0
  532. package/dist/shared/prompts/ja/perform_judge_message.md +24 -0
  533. package/dist/shared/prompts/ja/perform_phase1_message.md +44 -0
  534. package/dist/shared/prompts/ja/perform_phase2_message.md +30 -0
  535. package/dist/shared/prompts/ja/perform_phase3_message.md +19 -0
  536. package/dist/shared/prompts/ja/score_interactive_system_prompt.md +59 -0
  537. package/dist/shared/prompts/ja/score_slug_system_prompt.md +19 -0
  538. package/dist/shared/prompts/ja/score_summary_system_prompt.md +32 -0
  539. package/dist/shared/ui/LogManager.d.ts +49 -0
  540. package/dist/shared/ui/LogManager.d.ts.map +1 -0
  541. package/dist/shared/ui/LogManager.js +124 -0
  542. package/dist/shared/ui/LogManager.js.map +1 -0
  543. package/dist/shared/ui/Spinner.d.ts +17 -0
  544. package/dist/shared/ui/Spinner.d.ts.map +1 -0
  545. package/dist/shared/ui/Spinner.js +36 -0
  546. package/dist/shared/ui/Spinner.js.map +1 -0
  547. package/dist/shared/ui/StreamDisplay.d.ts +42 -0
  548. package/dist/shared/ui/StreamDisplay.d.ts.map +1 -0
  549. package/dist/shared/ui/StreamDisplay.js +263 -0
  550. package/dist/shared/ui/StreamDisplay.js.map +1 -0
  551. package/dist/shared/ui/index.d.ts +12 -0
  552. package/dist/shared/ui/index.d.ts.map +1 -0
  553. package/dist/shared/ui/index.js +12 -0
  554. package/dist/shared/ui/index.js.map +1 -0
  555. package/dist/shared/utils/debug.d.ts +73 -0
  556. package/dist/shared/utils/debug.d.ts.map +1 -0
  557. package/dist/shared/utils/debug.js +173 -0
  558. package/dist/shared/utils/debug.js.map +1 -0
  559. package/dist/shared/utils/error.d.ts.map +1 -0
  560. package/dist/shared/utils/error.js.map +1 -0
  561. package/dist/shared/utils/index.d.ts +12 -0
  562. package/dist/shared/utils/index.d.ts.map +1 -0
  563. package/dist/shared/utils/index.js +12 -0
  564. package/dist/shared/utils/index.js.map +1 -0
  565. package/dist/shared/utils/notification.d.ts.map +1 -0
  566. package/dist/shared/utils/notification.js.map +1 -0
  567. package/dist/shared/utils/reportDir.d.ts +5 -0
  568. package/dist/shared/utils/reportDir.d.ts.map +1 -0
  569. package/dist/shared/utils/reportDir.js +18 -0
  570. package/dist/shared/utils/reportDir.js.map +1 -0
  571. package/dist/shared/utils/slug.d.ts.map +1 -0
  572. package/dist/shared/utils/slug.js.map +1 -0
  573. package/dist/shared/utils/text.d.ts.map +1 -0
  574. package/dist/shared/utils/text.js.map +1 -0
  575. package/dist/shared/utils/types.d.ts +107 -0
  576. package/dist/shared/utils/types.d.ts.map +1 -0
  577. package/dist/shared/utils/types.js +8 -0
  578. package/dist/shared/utils/types.js.map +1 -0
  579. package/dist/shared/utils/updateNotifier.d.ts.map +1 -0
  580. package/dist/shared/utils/updateNotifier.js +17 -0
  581. package/dist/shared/utils/updateNotifier.js.map +1 -0
  582. package/package.json +3 -3
  583. package/resources/global/en/agents/default/ai-antipattern-reviewer.md +6 -0
  584. package/resources/global/en/agents/default/coder.md +1 -0
  585. package/resources/global/en/agents/default/planner.md +1 -0
  586. package/resources/global/en/agents/expert/frontend-reviewer.md +395 -33
  587. package/resources/global/en/agents/templates/planner.md +1 -0
  588. package/resources/global/en/config.yaml +3 -0
  589. package/resources/global/en/default-categories.yaml +30 -0
  590. package/resources/global/en/pieces/default.yaml +579 -0
  591. package/resources/global/en/pieces/expert-cqrs.yaml +655 -0
  592. package/resources/global/en/pieces/expert.yaml +668 -0
  593. package/resources/global/en/pieces/magi.yaml +150 -0
  594. package/resources/global/en/pieces/minimal.yaml +427 -0
  595. package/resources/global/en/pieces/research.yaml +134 -0
  596. package/resources/global/en/pieces/review-fix-minimal.yaml +427 -0
  597. package/resources/global/en/pieces/review-only.yaml +330 -0
  598. package/resources/global/en/prompts/interactive-summary.md +14 -0
  599. package/resources/global/en/prompts/interactive-system.md +43 -0
  600. package/resources/global/ja/agents/default/ai-antipattern-reviewer.md +6 -0
  601. package/resources/global/ja/agents/default/architecture-reviewer.md +3 -3
  602. package/resources/global/ja/agents/default/coder.md +1 -0
  603. package/resources/global/ja/agents/default/planner.md +1 -0
  604. package/resources/global/ja/agents/default/supervisor.md +1 -1
  605. package/resources/global/ja/agents/expert/frontend-reviewer.md +94 -1
  606. package/resources/global/ja/agents/templates/planner.md +2 -1
  607. package/resources/global/ja/config.yaml +3 -0
  608. package/resources/global/ja/default-categories.yaml +29 -0
  609. package/resources/global/ja/pieces/default.yaml +576 -0
  610. package/resources/global/ja/pieces/expert-cqrs.yaml +663 -0
  611. package/resources/global/ja/pieces/expert.yaml +654 -0
  612. package/resources/global/ja/pieces/magi.yaml +150 -0
  613. package/resources/global/ja/pieces/minimal.yaml +427 -0
  614. package/resources/global/ja/pieces/research.yaml +134 -0
  615. package/resources/global/ja/pieces/review-fix-minimal.yaml +427 -0
  616. package/resources/global/ja/pieces/review-only.yaml +331 -0
  617. package/resources/global/ja/prompts/interactive-summary.md +14 -0
  618. package/resources/global/ja/prompts/interactive-system.md +43 -0
  619. package/resources/project/dotgitignore +1 -0
  620. package/dist/claude/client.d.ts +0 -72
  621. package/dist/claude/client.d.ts.map +0 -1
  622. package/dist/claude/client.js +0 -216
  623. package/dist/claude/client.js.map +0 -1
  624. package/dist/claude/executor.d.ts +0 -31
  625. package/dist/claude/executor.d.ts.map +0 -1
  626. package/dist/claude/executor.js +0 -186
  627. package/dist/claude/executor.js.map +0 -1
  628. package/dist/claude/index.d.ts +0 -14
  629. package/dist/claude/index.d.ts.map +0 -1
  630. package/dist/claude/index.js +0 -18
  631. package/dist/claude/index.js.map +0 -1
  632. package/dist/claude/options-builder.d.ts +0 -40
  633. package/dist/claude/options-builder.d.ts.map +0 -1
  634. package/dist/claude/options-builder.js +0 -90
  635. package/dist/claude/options-builder.js.map +0 -1
  636. package/dist/claude/process.d.ts +0 -59
  637. package/dist/claude/process.d.ts.map +0 -1
  638. package/dist/claude/process.js +0 -57
  639. package/dist/claude/process.js.map +0 -1
  640. package/dist/claude/query-manager.d.ts +0 -35
  641. package/dist/claude/query-manager.d.ts.map +0 -1
  642. package/dist/claude/query-manager.js +0 -74
  643. package/dist/claude/query-manager.js.map +0 -1
  644. package/dist/claude/stream-converter.d.ts +0 -19
  645. package/dist/claude/stream-converter.d.ts.map +0 -1
  646. package/dist/claude/stream-converter.js +0 -170
  647. package/dist/claude/stream-converter.js.map +0 -1
  648. package/dist/claude/types.d.ts +0 -109
  649. package/dist/claude/types.d.ts.map +0 -1
  650. package/dist/claude/types.js.map +0 -1
  651. package/dist/cli.d.ts +0 -36
  652. package/dist/cli.d.ts.map +0 -1
  653. package/dist/cli.js +0 -380
  654. package/dist/cli.js.map +0 -1
  655. package/dist/codex/client.d.ts +0 -27
  656. package/dist/codex/client.d.ts.map +0 -1
  657. package/dist/codex/client.js +0 -417
  658. package/dist/codex/client.js.map +0 -1
  659. package/dist/codex/index.d.ts +0 -5
  660. package/dist/codex/index.d.ts.map +0 -1
  661. package/dist/codex/index.js +0 -5
  662. package/dist/codex/index.js.map +0 -1
  663. package/dist/commands/addTask.d.ts +0 -22
  664. package/dist/commands/addTask.d.ts.map +0 -1
  665. package/dist/commands/addTask.js +0 -156
  666. package/dist/commands/addTask.js.map +0 -1
  667. package/dist/commands/config.d.ts +0 -33
  668. package/dist/commands/config.d.ts.map +0 -1
  669. package/dist/commands/config.js +0 -103
  670. package/dist/commands/config.js.map +0 -1
  671. package/dist/commands/eject.d.ts +0 -13
  672. package/dist/commands/eject.d.ts.map +0 -1
  673. package/dist/commands/eject.js +0 -105
  674. package/dist/commands/eject.js.map +0 -1
  675. package/dist/commands/index.d.ts +0 -15
  676. package/dist/commands/index.d.ts.map +0 -1
  677. package/dist/commands/index.js +0 -15
  678. package/dist/commands/index.js.map +0 -1
  679. package/dist/commands/interactive.d.ts +0 -28
  680. package/dist/commands/interactive.d.ts.map +0 -1
  681. package/dist/commands/interactive.js +0 -201
  682. package/dist/commands/interactive.js.map +0 -1
  683. package/dist/commands/listTasks.d.ts +0 -46
  684. package/dist/commands/listTasks.d.ts.map +0 -1
  685. package/dist/commands/listTasks.js +0 -359
  686. package/dist/commands/listTasks.js.map +0 -1
  687. package/dist/commands/pipelineExecution.d.ts +0 -38
  688. package/dist/commands/pipelineExecution.d.ts.map +0 -1
  689. package/dist/commands/pipelineExecution.js +0 -194
  690. package/dist/commands/pipelineExecution.js.map +0 -1
  691. package/dist/commands/session.d.ts +0 -10
  692. package/dist/commands/session.d.ts.map +0 -1
  693. package/dist/commands/session.js +0 -20
  694. package/dist/commands/session.js.map +0 -1
  695. package/dist/commands/taskExecution.d.ts +0 -53
  696. package/dist/commands/taskExecution.d.ts.map +0 -1
  697. package/dist/commands/taskExecution.js +0 -182
  698. package/dist/commands/taskExecution.js.map +0 -1
  699. package/dist/commands/watchTasks.d.ts +0 -13
  700. package/dist/commands/watchTasks.d.ts.map +0 -1
  701. package/dist/commands/watchTasks.js +0 -68
  702. package/dist/commands/watchTasks.js.map +0 -1
  703. package/dist/commands/workflow.d.ts +0 -9
  704. package/dist/commands/workflow.d.ts.map +0 -1
  705. package/dist/commands/workflow.js +0 -51
  706. package/dist/commands/workflow.js.map +0 -1
  707. package/dist/commands/workflowExecution.d.ts +0 -26
  708. package/dist/commands/workflowExecution.d.ts.map +0 -1
  709. package/dist/commands/workflowExecution.js +0 -262
  710. package/dist/commands/workflowExecution.js.map +0 -1
  711. package/dist/config/agentLoader.d.ts +0 -27
  712. package/dist/config/agentLoader.d.ts.map +0 -1
  713. package/dist/config/agentLoader.js +0 -89
  714. package/dist/config/agentLoader.js.map +0 -1
  715. package/dist/config/globalConfig.d.ts +0 -39
  716. package/dist/config/globalConfig.d.ts.map +0 -1
  717. package/dist/config/globalConfig.js +0 -231
  718. package/dist/config/globalConfig.js.map +0 -1
  719. package/dist/config/index.d.ts +0 -7
  720. package/dist/config/index.d.ts.map +0 -1
  721. package/dist/config/index.js +0 -7
  722. package/dist/config/index.js.map +0 -1
  723. package/dist/config/initialization.d.ts +0 -45
  724. package/dist/config/initialization.d.ts.map +0 -1
  725. package/dist/config/initialization.js +0 -96
  726. package/dist/config/initialization.js.map +0 -1
  727. package/dist/config/loader.d.ts +0 -9
  728. package/dist/config/loader.d.ts.map +0 -1
  729. package/dist/config/loader.js +0 -12
  730. package/dist/config/loader.js.map +0 -1
  731. package/dist/config/paths.d.ts +0 -38
  732. package/dist/config/paths.d.ts.map +0 -1
  733. package/dist/config/paths.js +0 -77
  734. package/dist/config/paths.js.map +0 -1
  735. package/dist/config/projectConfig.d.ts +0 -52
  736. package/dist/config/projectConfig.d.ts.map +0 -1
  737. package/dist/config/projectConfig.js +0 -89
  738. package/dist/config/projectConfig.js.map +0 -1
  739. package/dist/config/sessionStore.d.ts +0 -61
  740. package/dist/config/sessionStore.d.ts.map +0 -1
  741. package/dist/config/sessionStore.js +0 -273
  742. package/dist/config/sessionStore.js.map +0 -1
  743. package/dist/config/workflowLoader.d.ts +0 -61
  744. package/dist/config/workflowLoader.d.ts.map +0 -1
  745. package/dist/config/workflowLoader.js +0 -390
  746. package/dist/config/workflowLoader.js.map +0 -1
  747. package/dist/constants.d.ts +0 -9
  748. package/dist/constants.d.ts.map +0 -1
  749. package/dist/constants.js.map +0 -1
  750. package/dist/exitCodes.d.ts.map +0 -1
  751. package/dist/exitCodes.js.map +0 -1
  752. package/dist/github/issue.d.ts +0 -72
  753. package/dist/github/issue.d.ts.map +0 -1
  754. package/dist/github/issue.js +0 -143
  755. package/dist/github/issue.js.map +0 -1
  756. package/dist/github/pr.d.ts +0 -39
  757. package/dist/github/pr.d.ts.map +0 -1
  758. package/dist/github/pr.js +0 -79
  759. package/dist/github/pr.js.map +0 -1
  760. package/dist/mock/client.d.ts +0 -27
  761. package/dist/mock/client.d.ts.map +0 -1
  762. package/dist/mock/client.js.map +0 -1
  763. package/dist/mock/scenario.d.ts +0 -57
  764. package/dist/mock/scenario.d.ts.map +0 -1
  765. package/dist/mock/scenario.js.map +0 -1
  766. package/dist/models/agent.d.ts +0 -37
  767. package/dist/models/agent.d.ts.map +0 -1
  768. package/dist/models/agent.js +0 -11
  769. package/dist/models/agent.js.map +0 -1
  770. package/dist/models/config.d.ts +0 -19
  771. package/dist/models/config.d.ts.map +0 -1
  772. package/dist/models/config.js +0 -25
  773. package/dist/models/config.js.map +0 -1
  774. package/dist/models/index.d.ts +0 -7
  775. package/dist/models/index.d.ts.map +0 -1
  776. package/dist/models/index.js +0 -11
  777. package/dist/models/index.js.map +0 -1
  778. package/dist/models/schemas.d.ts +0 -331
  779. package/dist/models/schemas.d.ts.map +0 -1
  780. package/dist/models/schemas.js +0 -176
  781. package/dist/models/schemas.js.map +0 -1
  782. package/dist/models/session.d.ts +0 -50
  783. package/dist/models/session.d.ts.map +0 -1
  784. package/dist/models/session.js.map +0 -1
  785. package/dist/models/types.d.ts +0 -187
  786. package/dist/models/types.d.ts.map +0 -1
  787. package/dist/models/types.js +0 -5
  788. package/dist/models/types.js.map +0 -1
  789. package/dist/models/workflow.d.ts +0 -58
  790. package/dist/models/workflow.d.ts.map +0 -1
  791. package/dist/models/workflow.js +0 -19
  792. package/dist/models/workflow.js.map +0 -1
  793. package/dist/prompt/index.d.ts +0 -77
  794. package/dist/prompt/index.d.ts.map +0 -1
  795. package/dist/prompt/index.js +0 -305
  796. package/dist/prompt/index.js.map +0 -1
  797. package/dist/providers/claude.d.ts +0 -11
  798. package/dist/providers/claude.d.ts.map +0 -1
  799. package/dist/providers/claude.js +0 -42
  800. package/dist/providers/claude.js.map +0 -1
  801. package/dist/providers/codex.d.ts +0 -11
  802. package/dist/providers/codex.d.ts.map +0 -1
  803. package/dist/providers/codex.js +0 -30
  804. package/dist/providers/codex.js.map +0 -1
  805. package/dist/providers/index.d.ts +0 -46
  806. package/dist/providers/index.d.ts.map +0 -1
  807. package/dist/providers/index.js +0 -32
  808. package/dist/providers/index.js.map +0 -1
  809. package/dist/providers/mock.d.ts +0 -11
  810. package/dist/providers/mock.d.ts.map +0 -1
  811. package/dist/providers/mock.js +0 -24
  812. package/dist/providers/mock.js.map +0 -1
  813. package/dist/resources/index.d.ts +0 -33
  814. package/dist/resources/index.d.ts.map +0 -1
  815. package/dist/resources/index.js +0 -84
  816. package/dist/resources/index.js.map +0 -1
  817. package/dist/task/autoCommit.d.ts +0 -31
  818. package/dist/task/autoCommit.d.ts.map +0 -1
  819. package/dist/task/autoCommit.js +0 -58
  820. package/dist/task/autoCommit.js.map +0 -1
  821. package/dist/task/branchList.d.ts +0 -55
  822. package/dist/task/branchList.d.ts.map +0 -1
  823. package/dist/task/branchList.js +0 -131
  824. package/dist/task/branchList.js.map +0 -1
  825. package/dist/task/clone.d.ts +0 -53
  826. package/dist/task/clone.d.ts.map +0 -1
  827. package/dist/task/clone.js +0 -199
  828. package/dist/task/clone.js.map +0 -1
  829. package/dist/task/display.d.ts.map +0 -1
  830. package/dist/task/display.js +0 -59
  831. package/dist/task/display.js.map +0 -1
  832. package/dist/task/git.d.ts.map +0 -1
  833. package/dist/task/git.js.map +0 -1
  834. package/dist/task/index.d.ts +0 -12
  835. package/dist/task/index.d.ts.map +0 -1
  836. package/dist/task/index.js +0 -12
  837. package/dist/task/index.js.map +0 -1
  838. package/dist/task/parser.d.ts +0 -33
  839. package/dist/task/parser.d.ts.map +0 -1
  840. package/dist/task/parser.js +0 -86
  841. package/dist/task/parser.js.map +0 -1
  842. package/dist/task/runner.d.ts +0 -88
  843. package/dist/task/runner.d.ts.map +0 -1
  844. package/dist/task/runner.js.map +0 -1
  845. package/dist/task/schema.d.ts +0 -32
  846. package/dist/task/schema.d.ts.map +0 -1
  847. package/dist/task/schema.js +0 -31
  848. package/dist/task/schema.js.map +0 -1
  849. package/dist/task/summarize.d.ts +0 -22
  850. package/dist/task/summarize.d.ts.map +0 -1
  851. package/dist/task/summarize.js +0 -83
  852. package/dist/task/summarize.js.map +0 -1
  853. package/dist/task/watcher.d.ts +0 -33
  854. package/dist/task/watcher.d.ts.map +0 -1
  855. package/dist/task/watcher.js +0 -69
  856. package/dist/task/watcher.js.map +0 -1
  857. package/dist/utils/debug.d.ts +0 -37
  858. package/dist/utils/debug.d.ts.map +0 -1
  859. package/dist/utils/debug.js +0 -142
  860. package/dist/utils/debug.js.map +0 -1
  861. package/dist/utils/error.d.ts.map +0 -1
  862. package/dist/utils/error.js.map +0 -1
  863. package/dist/utils/index.d.ts +0 -8
  864. package/dist/utils/index.d.ts.map +0 -1
  865. package/dist/utils/index.js +0 -8
  866. package/dist/utils/index.js.map +0 -1
  867. package/dist/utils/notification.d.ts.map +0 -1
  868. package/dist/utils/notification.js.map +0 -1
  869. package/dist/utils/session.d.ts +0 -121
  870. package/dist/utils/session.d.ts.map +0 -1
  871. package/dist/utils/session.js +0 -196
  872. package/dist/utils/session.js.map +0 -1
  873. package/dist/utils/slug.d.ts.map +0 -1
  874. package/dist/utils/slug.js.map +0 -1
  875. package/dist/utils/text.d.ts.map +0 -1
  876. package/dist/utils/text.js.map +0 -1
  877. package/dist/utils/ui.d.ts +0 -101
  878. package/dist/utils/ui.d.ts.map +0 -1
  879. package/dist/utils/ui.js +0 -412
  880. package/dist/utils/ui.js.map +0 -1
  881. package/dist/utils/updateNotifier.d.ts.map +0 -1
  882. package/dist/utils/updateNotifier.js +0 -17
  883. package/dist/utils/updateNotifier.js.map +0 -1
  884. package/dist/workflow/blocked-handler.d.ts +0 -27
  885. package/dist/workflow/blocked-handler.d.ts.map +0 -1
  886. package/dist/workflow/blocked-handler.js +0 -40
  887. package/dist/workflow/blocked-handler.js.map +0 -1
  888. package/dist/workflow/constants.d.ts +0 -20
  889. package/dist/workflow/constants.d.ts.map +0 -1
  890. package/dist/workflow/constants.js +0 -20
  891. package/dist/workflow/constants.js.map +0 -1
  892. package/dist/workflow/engine.d.ts +0 -89
  893. package/dist/workflow/engine.d.ts.map +0 -1
  894. package/dist/workflow/engine.js +0 -496
  895. package/dist/workflow/engine.js.map +0 -1
  896. package/dist/workflow/index.d.ts +0 -15
  897. package/dist/workflow/index.d.ts.map +0 -1
  898. package/dist/workflow/index.js +0 -21
  899. package/dist/workflow/index.js.map +0 -1
  900. package/dist/workflow/instruction-builder.d.ts +0 -85
  901. package/dist/workflow/instruction-builder.d.ts.map +0 -1
  902. package/dist/workflow/instruction-builder.js +0 -356
  903. package/dist/workflow/instruction-builder.js.map +0 -1
  904. package/dist/workflow/instruction-context.d.ts +0 -79
  905. package/dist/workflow/instruction-context.d.ts.map +0 -1
  906. package/dist/workflow/instruction-context.js +0 -72
  907. package/dist/workflow/instruction-context.js.map +0 -1
  908. package/dist/workflow/loop-detector.d.ts +0 -31
  909. package/dist/workflow/loop-detector.d.ts.map +0 -1
  910. package/dist/workflow/loop-detector.js +0 -61
  911. package/dist/workflow/loop-detector.js.map +0 -1
  912. package/dist/workflow/parallel-logger.d.ts +0 -76
  913. package/dist/workflow/parallel-logger.d.ts.map +0 -1
  914. package/dist/workflow/parallel-logger.js +0 -173
  915. package/dist/workflow/parallel-logger.js.map +0 -1
  916. package/dist/workflow/phase-runner.d.ts +0 -40
  917. package/dist/workflow/phase-runner.d.ts.map +0 -1
  918. package/dist/workflow/phase-runner.js +0 -69
  919. package/dist/workflow/phase-runner.js.map +0 -1
  920. package/dist/workflow/rule-evaluator.d.ts +0 -64
  921. package/dist/workflow/rule-evaluator.d.ts.map +0 -1
  922. package/dist/workflow/rule-evaluator.js +0 -178
  923. package/dist/workflow/rule-evaluator.js.map +0 -1
  924. package/dist/workflow/rule-utils.d.ts +0 -13
  925. package/dist/workflow/rule-utils.d.ts.map +0 -1
  926. package/dist/workflow/rule-utils.js +0 -17
  927. package/dist/workflow/rule-utils.js.map +0 -1
  928. package/dist/workflow/state-manager.d.ts +0 -29
  929. package/dist/workflow/state-manager.d.ts.map +0 -1
  930. package/dist/workflow/state-manager.js +0 -69
  931. package/dist/workflow/state-manager.js.map +0 -1
  932. package/dist/workflow/status-rules.d.ts +0 -21
  933. package/dist/workflow/status-rules.d.ts.map +0 -1
  934. package/dist/workflow/status-rules.js +0 -81
  935. package/dist/workflow/status-rules.js.map +0 -1
  936. package/dist/workflow/transitions.d.ts +0 -17
  937. package/dist/workflow/transitions.d.ts.map +0 -1
  938. package/dist/workflow/transitions.js +0 -38
  939. package/dist/workflow/transitions.js.map +0 -1
  940. package/dist/workflow/types.d.ts +0 -82
  941. package/dist/workflow/types.d.ts.map +0 -1
  942. package/dist/workflow/types.js.map +0 -1
  943. package/resources/global/en/workflows/default.yaml +0 -451
  944. package/resources/global/en/workflows/expert-cqrs.yaml +0 -600
  945. package/resources/global/en/workflows/expert.yaml +0 -613
  946. package/resources/global/en/workflows/magi.yaml +0 -150
  947. package/resources/global/en/workflows/research.yaml +0 -134
  948. package/resources/global/en/workflows/review-only.yaml +0 -331
  949. package/resources/global/en/workflows/simple.yaml +0 -321
  950. package/resources/global/ja/workflows/default.yaml +0 -457
  951. package/resources/global/ja/workflows/expert-cqrs.yaml +0 -609
  952. package/resources/global/ja/workflows/expert.yaml +0 -600
  953. package/resources/global/ja/workflows/magi.yaml +0 -150
  954. package/resources/global/ja/workflows/research.yaml +0 -134
  955. package/resources/global/ja/workflows/review-only.yaml +0 -332
  956. package/resources/global/ja/workflows/simple.yaml +0 -320
  957. /package/dist/{models → core/models}/session.js +0 -0
  958. /package/dist/{workflow → core/workflow}/types.js +0 -0
  959. /package/dist/{claude → infra/claude}/types.js +0 -0
  960. /package/dist/{mock → infra/mock}/client.js +0 -0
  961. /package/dist/{mock → infra/mock}/scenario.js +0 -0
  962. /package/dist/{task → infra/task}/display.d.ts +0 -0
  963. /package/dist/{task → infra/task}/git.d.ts +0 -0
  964. /package/dist/{task → infra/task}/git.js +0 -0
  965. /package/dist/{task → infra/task}/runner.js +0 -0
  966. /package/dist/{constants.js → shared/constants.js} +0 -0
  967. /package/dist/{exitCodes.d.ts → shared/exitCodes.d.ts} +0 -0
  968. /package/dist/{exitCodes.js → shared/exitCodes.js} +0 -0
  969. /package/dist/{utils → shared/utils}/error.d.ts +0 -0
  970. /package/dist/{utils → shared/utils}/error.js +0 -0
  971. /package/dist/{utils → shared/utils}/notification.d.ts +0 -0
  972. /package/dist/{utils → shared/utils}/notification.js +0 -0
  973. /package/dist/{utils → shared/utils}/slug.d.ts +0 -0
  974. /package/dist/{utils → shared/utils}/slug.js +0 -0
  975. /package/dist/{utils → shared/utils}/text.d.ts +0 -0
  976. /package/dist/{utils → shared/utils}/text.js +0 -0
  977. /package/dist/{utils → shared/utils}/updateNotifier.d.ts +0 -0
package/README.md CHANGED
@@ -2,16 +2,37 @@
2
2
 
3
3
  🇯🇵 [日本語ドキュメント](./docs/README.ja.md)
4
4
 
5
- **T**ask **A**gent **K**oordination **T**ool - Multi-agent orchestration system for Claude Code and OpenAI Codex.
5
+ **T**ask **A**gent **K**oordination **T**ool - A governance-first orchestrator for running coding agents safely and responsibly
6
6
 
7
- TAKT is built with TAKT (dogfooding).
7
+ TAKT coordinates AI agents like Claude Code and Codex according to your organization's rules and workflows. It clarifies who is responsible, what is permitted, and how to recover from failures, while automating complex development tasks.
8
+
9
+ TAKT is built with TAKT itself (dogfooding).
10
+
11
+ ## TAKT is For Teams That Need
12
+
13
+ - **Want to integrate AI into CI/CD but fear runaway execution** — Clarify control scope with workflow definitions
14
+ - **Want automated PR generation but need audit logs** — Record and track all execution history
15
+ - **Want to use multiple AI models but manage them uniformly** — Control Claude/Codex/Mock with the same workflow
16
+ - **Want to reproduce and debug agent failures** — Maintain complete history with session logs and reports
17
+
18
+ ## What TAKT is NOT
19
+
20
+ - **Not an autonomous engineer** — TAKT doesn't complete implementations itself; it governs and coordinates multiple agents
21
+ - **Not competing with Claude Code Swarm** — While leveraging Swarm's execution power, TAKT provides "operational guardrails" such as workflow definitions, permission controls, and audit logs
22
+ - **Not just a workflow engine** — TAKT is designed to address AI-specific challenges (non-determinism, accountability, audit requirements, and reproducibility)
8
23
 
9
24
  ## Requirements
10
25
 
11
- - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or Codex must be installed and configured
12
- - [GitHub CLI](https://cli.github.com/) (`gh`) — required only for `takt #N` (GitHub Issue execution)
26
+ Choose one:
27
+
28
+ - **Use provider CLIs**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or [Codex](https://github.com/openai/codex) installed
29
+ - **Use direct API**: **Anthropic API Key** or **OpenAI API Key** (no CLI required)
13
30
 
14
- TAKT supports both Claude Code and Codex as providers; you can choose the provider during setup.
31
+ Additionally required:
32
+
33
+ - [GitHub CLI](https://cli.github.com/) (`gh`) — Only needed for `takt #N` (GitHub Issue execution)
34
+
35
+ **Pricing Note**: When using API Keys, TAKT directly calls the Claude API (Anthropic) or OpenAI API. The pricing structure is the same as using Claude Code or Codex. Be mindful of costs, especially when running automated tasks in CI/CD environments, as API usage can accumulate.
15
36
 
16
37
  ## Installation
17
38
 
@@ -22,165 +43,240 @@ npm install -g takt
22
43
  ## Quick Start
23
44
 
24
45
  ```bash
25
- # Interactive planning refine task requirements with AI, then execute
46
+ # Interactive mode - refine task requirements with AI, then execute
26
47
  takt
27
48
 
28
- # You can also provide an initial message to start the conversation
29
- takt hello
30
-
31
- # Run a GitHub issue as a task (both are equivalent)
49
+ # Execute GitHub Issue as task (both work the same)
32
50
  takt #6
33
51
  takt --issue 6
34
52
 
35
- # Pipeline mode (non-interactive, for scripts and CI)
36
- takt --pipeline --task "fix the auth bug" --auto-pr
53
+ # Pipeline execution (non-interactive, for scripts/CI)
54
+ takt --pipeline --task "Fix the bug" --auto-pr
55
+ ```
56
+
57
+ ## Usage
58
+
59
+ ### Interactive Mode
60
+
61
+ A mode where you refine task content through conversation with AI before execution. Useful when task requirements are ambiguous or when you want to clarify content while consulting with AI.
62
+
63
+ ```bash
64
+ # Start interactive mode (no arguments)
65
+ takt
66
+
67
+ # Specify initial message (short word only)
68
+ takt hello
37
69
  ```
38
70
 
39
- ### What happens when you run a task
71
+ **Note:** If you specify a string with spaces, Issue reference (`#6`), or `--task` / `--issue` options, interactive mode will be skipped and the task will be executed directly.
40
72
 
41
- When you run `takt #6` (GitHub issue reference), TAKT guides you through an interactive flow:
73
+ **Flow:**
74
+ 1. Select workflow
75
+ 2. Refine task content through conversation with AI
76
+ 3. Finalize task instructions with `/go` (you can also add additional instructions like `/go additional instructions`)
77
+ 4. Execute (create worktree, run workflow, create PR)
42
78
 
43
- **1. Workflow selection**
79
+ #### Execution Example
44
80
 
45
81
  ```
82
+ $ takt
83
+
46
84
  Select workflow:
47
- (↑↓ to move, Enter to select)
48
-
49
- default (current) (default)
50
- expert
51
- expert-cqrs
52
- magi
53
- research
54
- simple
85
+ 🎼 default (current)
86
+ 📁 Development/
87
+ 📁 Research/
55
88
  Cancel
56
- ```
57
89
 
58
- **2. Isolated clone** (optional)
90
+ Interactive mode - Enter task content. Commands: /go (execute), /cancel (exit)
59
91
 
60
- ```
61
- ? Create worktree? (Y/n)
62
- ```
92
+ > I want to add user authentication feature
63
93
 
64
- Choose `y` to run in a `git clone --shared` isolated environment, keeping your working directory clean.
94
+ [AI confirms and organizes requirements]
65
95
 
66
- **3. Execution** — The selected workflow orchestrates multiple agents to complete the task.
96
+ > /go
67
97
 
68
- **4. PR creation** (after worktree execution)
98
+ Proposed task instructions:
99
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
100
+ Implement user authentication feature.
69
101
 
70
- ```
71
- ? Create pull request? (y/N)
102
+ Requirements:
103
+ - Login with email address and password
104
+ - JWT token-based authentication
105
+ - Password hashing (bcrypt)
106
+ - Login/logout API endpoints
107
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
108
+
109
+ Proceed with these task instructions? (Y/n) y
110
+
111
+ ? Create worktree? (Y/n) y
112
+
113
+ [Workflow execution starts...]
72
114
  ```
73
115
 
74
- If `--auto-pr` is specified, the PR is created automatically without asking.
116
+ ### Direct Task Execution
75
117
 
76
- ### Recommended workflows
118
+ When task content is clear, you can skip interactive mode and execute directly.
77
119
 
78
- | Workflow | Best for |
79
- |----------|----------|
80
- | `default` | Full development tasks. Used for TAKT's own development. Multi-stage review with parallel architect + security review. |
81
- | `simple` | Lightweight tasks like README updates or small fixes. Reviews without fix loops. |
82
- | `expert` / `expert-cqrs` | Web development projects. Sequential multi-expert review with fix loops (`expert`: Architecture, Frontend, Security, QA; `expert-cqrs`: CQRS+ES, Frontend, Security, QA). |
83
- | `research` | Research and investigation. Autonomous research without asking questions. |
84
- | `magi` | Fun deliberation. Three AI personas analyze and vote (Evangelion-inspired). |
120
+ ```bash
121
+ # Specify task content directly (string with spaces)
122
+ takt "Add login feature"
85
123
 
86
- ## Commands
124
+ # Specify task content with --task option
125
+ takt --task "Fix bug"
87
126
 
88
- ### Interactive Mode (default)
127
+ # Specify workflow
128
+ takt "Add authentication" --workflow expert
89
129
 
90
- The standard mode for everyday development. Workflow selection, worktree creation, and PR creation are handled interactively.
130
+ # Auto-create PR
131
+ takt "Fix bug" --auto-pr
132
+ ```
91
133
 
92
- ```bash
93
- # Interactive planning — start AI conversation to refine task requirements
94
- takt
134
+ ### GitHub Issue Tasks
95
135
 
96
- # You can also provide an initial message to start the conversation
97
- takt hello
136
+ You can execute GitHub Issues directly as tasks. Issue title, body, labels, and comments are automatically incorporated as task content.
98
137
 
99
- # Run a GitHub issue as a task (both are equivalent)
138
+ ```bash
139
+ # Execute by specifying issue number
100
140
  takt #6
101
141
  takt --issue 6
102
142
 
103
- # Automatically create a PR (skip the confirmation prompt)
143
+ # Issue + workflow specification
144
+ takt #6 --workflow expert
145
+
146
+ # Issue + auto-create PR
104
147
  takt #6 --auto-pr
148
+ ```
149
+
150
+ **Requirements:** [GitHub CLI](https://cli.github.com/) (`gh`) must be installed and authenticated.
151
+
152
+ ### Task Management (add / run / watch / list)
153
+
154
+ Batch processing using task files (`.takt/tasks/`). Useful for accumulating multiple tasks and executing them together later.
155
+
156
+ #### Add Task (`takt add`)
157
+
158
+ ```bash
159
+ # Refine task requirements through AI conversation, then add task
160
+ takt add
161
+
162
+ # Add task from GitHub Issue (issue number reflected in branch name)
163
+ takt add #28
164
+ ```
165
+
166
+ #### Execute Tasks (`takt run`)
167
+
168
+ ```bash
169
+ # Execute all pending tasks in .takt/tasks/
170
+ takt run
171
+ ```
105
172
 
106
- # Use --task option to specify task content (alternative to GitHub issue)
107
- takt --task "Add login feature"
173
+ #### Watch Tasks (`takt watch`)
174
+
175
+ ```bash
176
+ # Monitor .takt/tasks/ and auto-execute tasks (resident process)
177
+ takt watch
108
178
  ```
109
179
 
110
- When `--auto-pr` is not specified, you will be asked whether to create a PR after a successful worktree execution.
180
+ #### List Task Branches (`takt list`)
111
181
 
112
- ### Pipeline Mode (`--pipeline`)
182
+ ```bash
183
+ # List task branches (merge/delete)
184
+ takt list
185
+ ```
113
186
 
114
- Specifying `--pipeline` enters pipeline mode — fully non-interactive, suitable for scripts and CI integration. TAKT automatically creates a branch, runs the workflow, commits, and pushes.
187
+ ### Pipeline Mode (for CI/Automation)
188
+
189
+ Specifying `--pipeline` enables non-interactive pipeline mode. Automatically creates branch → runs workflow → commits & pushes. Suitable for CI/CD automation.
115
190
 
116
191
  ```bash
117
- # Run a task in pipeline mode
118
- takt --pipeline --task "fix the auth bug"
192
+ # Execute task in pipeline mode
193
+ takt --pipeline --task "Fix bug"
119
194
 
120
- # Pipeline mode + automatic PR creation
121
- takt --pipeline --task "fix the auth bug" --auto-pr
195
+ # Pipeline execution + auto-create PR
196
+ takt --pipeline --task "Fix bug" --auto-pr
122
197
 
123
- # Attach GitHub issue context
198
+ # Link issue information
124
199
  takt --pipeline --issue 99 --auto-pr
125
200
 
126
201
  # Specify workflow and branch
127
- takt --pipeline --task "fix the auth bug" -w magi -b feat/fix-auth
202
+ takt --pipeline --task "Fix bug" -w magi -b feat/fix-bug
128
203
 
129
204
  # Specify repository (for PR creation)
130
- takt --pipeline --task "fix the auth bug" --auto-pr --repo owner/repo
205
+ takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
206
+
207
+ # Workflow execution only (skip branch creation, commit, push)
208
+ takt --pipeline --task "Fix bug" --skip-git
131
209
 
132
- # Run workflow only skip branch creation, commit, and push
133
- takt --pipeline --task "fix the auth bug" --skip-git
210
+ # Minimal output mode (for CI)
211
+ takt --pipeline --task "Fix bug" --quiet
134
212
  ```
135
213
 
136
- In pipeline mode, PRs are **not** created unless `--auto-pr` is explicitly specified.
214
+ In pipeline mode, PRs are not created unless `--auto-pr` is specified.
215
+
216
+ **GitHub Integration:** When using TAKT in GitHub Actions, see [takt-action](https://github.com/nrslib/takt-action). You can automate PR reviews and task execution. Refer to the [CI/CD Integration](#cicd-integration) section for details.
137
217
 
138
- ### Subcommands
218
+ ### Other Commands
139
219
 
140
- | Command | Description |
141
- |---------|-------------|
142
- | `takt run` | Run all pending tasks from `.takt/tasks/` |
143
- | `takt watch` | Watch `.takt/tasks/` and auto-execute tasks (stays resident) |
144
- | `takt add` | Add a new task via AI conversation |
145
- | `takt list` | List task branches (try merge, merge & cleanup, or delete) |
146
- | `takt switch` | Switch workflow interactively |
147
- | `takt clear` | Clear agent conversation sessions |
148
- | `takt eject` | Copy builtin workflow/agents to `~/.takt/` for customization |
149
- | `takt config` | Configure permission mode |
150
- | `takt --help` | Show help |
220
+ ```bash
221
+ # Interactively switch workflows
222
+ takt switch
223
+
224
+ # Copy builtin workflows/agents to ~/.takt/ for customization
225
+ takt eject
226
+
227
+ # Clear agent conversation sessions
228
+ takt clear
229
+
230
+ # Configure permission mode
231
+ takt config
232
+ ```
233
+
234
+ ### Recommended Workflows
151
235
 
152
- ### Options
236
+ | Workflow | Recommended Use |
237
+ |----------|-----------------|
238
+ | `default` | Serious development tasks. Used for TAKT's own development. Multi-stage review with parallel reviews (architect + security). |
239
+ | `minimal` | Simple fixes and straightforward tasks. Minimal workflow with basic review. |
240
+ | `review-fix-minimal` | Review & fix workflow. Specialized for iterative improvement based on review feedback. |
241
+ | `research` | Investigation and research. Autonomously executes research without asking questions. |
242
+
243
+ ### Main Options
153
244
 
154
245
  | Option | Description |
155
246
  |--------|-------------|
156
- | `--pipeline` | **Enable pipeline (non-interactive) mode** — required for CI/automation |
157
- | `-t, --task <text>` | Task content (as alternative to GitHub issue) |
158
- | `-i, --issue <N>` | GitHub issue number (equivalent to `#N` in interactive mode) |
159
- | `-w, --workflow <name>` | Workflow to use |
160
- | `-b, --branch <name>` | Branch name (auto-generated if omitted) |
161
- | `--auto-pr` | Create PR after execution (interactive: skip confirmation, pipeline: enable PR) |
247
+ | `--pipeline` | **Enable pipeline (non-interactive) mode** — Required for CI/automation |
248
+ | `-t, --task <text>` | Task content (alternative to GitHub Issue) |
249
+ | `-i, --issue <N>` | GitHub issue number (same as `#N` in interactive mode) |
250
+ | `-w, --workflow <name or path>` | Workflow name or path to workflow YAML file |
251
+ | `-b, --branch <name>` | Specify branch name (auto-generated if omitted) |
252
+ | `--auto-pr` | Create PR (interactive: skip confirmation, pipeline: enable PR) |
162
253
  | `--skip-git` | Skip branch creation, commit, and push (pipeline mode, workflow-only) |
163
- | `--repo <owner/repo>` | Repository for PR creation |
254
+ | `--repo <owner/repo>` | Specify repository (for PR creation) |
164
255
  | `--create-worktree <yes\|no>` | Skip worktree confirmation prompt |
256
+ | `-q, --quiet` | Minimal output mode: suppress AI output (for CI) |
257
+ | `--provider <name>` | Override agent provider (claude\|codex\|mock) |
258
+ | `--model <name>` | Override agent model |
165
259
 
166
260
  ## Workflows
167
261
 
168
- TAKT uses YAML-based workflow definitions with rule-based routing. Builtin workflows are embedded in the package; user workflows in `~/.takt/workflows/` take priority. Use `takt eject` to copy a builtin to `~/.takt/` for customization.
262
+ TAKT uses YAML-based workflow definitions and rule-based routing. Builtin workflows are embedded in the package, with user workflows in `~/.takt/workflows/` taking priority. Use `takt eject` to copy builtins to `~/.takt/` for customization.
263
+
264
+ > **Note (v0.4.0)**: Internal terminology has changed from "step" to "movement" for workflow components. User-facing workflow files remain compatible, but if you customize workflows, you may see `movements:` instead of `steps:` in YAML files. The functionality remains the same.
169
265
 
170
- ### Example Workflow
266
+ ### Workflow Example
171
267
 
172
268
  ```yaml
173
269
  name: default
174
270
  max_iterations: 10
175
- initial_step: plan
271
+ initial_movement: plan
176
272
 
177
- steps:
273
+ movements:
178
274
  - name: plan
179
275
  agent: ../agents/default/planner.md
180
276
  model: opus
181
277
  edit: false
182
278
  rules:
183
- - condition: Plan complete
279
+ - condition: Planning complete
184
280
  next: implement
185
281
  instruction_template: |
186
282
  Analyze the request and create an implementation plan.
@@ -188,11 +284,11 @@ steps:
188
284
  - name: implement
189
285
  agent: ../agents/default/coder.md
190
286
  edit: true
191
- permission_mode: acceptEdits
287
+ permission_mode: edit
192
288
  rules:
193
289
  - condition: Implementation complete
194
290
  next: review
195
- - condition: Cannot proceed
291
+ - condition: Blocked
196
292
  next: ABORT
197
293
  instruction_template: |
198
294
  Implement based on the plan.
@@ -206,12 +302,37 @@ steps:
206
302
  - condition: Needs fix
207
303
  next: implement
208
304
  instruction_template: |
209
- Review the implementation for architecture and code quality.
305
+ Review the implementation from architecture and code quality perspectives.
210
306
  ```
211
307
 
212
- ### Parallel Steps
308
+ ### Agentless Movements
213
309
 
214
- Steps can execute sub-steps concurrently with aggregate evaluation:
310
+ The `agent` field is optional. When omitted, the movement executes using only the `instruction_template` without a system prompt. This is useful for simple tasks that don't require agent behavior customization.
311
+
312
+ ```yaml
313
+ - name: summarize
314
+ # No agent specified — uses instruction_template only
315
+ edit: false
316
+ rules:
317
+ - condition: Summary complete
318
+ next: COMPLETE
319
+ instruction_template: |
320
+ Read the report and provide a concise summary.
321
+ ```
322
+
323
+ You can also write an inline system prompt as the `agent` value (if the specified file doesn't exist):
324
+
325
+ ```yaml
326
+ - name: review
327
+ agent: "You are a code reviewer. Focus on readability and maintainability."
328
+ edit: false
329
+ instruction_template: |
330
+ Review code quality.
331
+ ```
332
+
333
+ ### Parallel Movements
334
+
335
+ Execute sub-movements in parallel within a movement and evaluate with aggregate conditions:
215
336
 
216
337
  ```yaml
217
338
  - name: reviewers
@@ -237,65 +358,56 @@ Steps can execute sub-steps concurrently with aggregate evaluation:
237
358
  next: fix
238
359
  ```
239
360
 
240
- - `all("X")`: true if ALL sub-steps matched condition X
241
- - `any("X")`: true if ANY sub-step matched condition X
242
- - Sub-step `rules` define possible outcomes; `next` is optional (parent handles routing)
361
+ - `all("X")`: true if ALL sub-movements matched condition X
362
+ - `any("X")`: true if ANY sub-movement matched condition X
363
+ - Sub-movement `rules` define possible outcomes, but `next` is optional (parent controls transition)
243
364
 
244
365
  ### Rule Condition Types
245
366
 
246
367
  | Type | Syntax | Description |
247
368
  |------|--------|-------------|
248
- | Tag-based | `"condition text"` | Agent outputs `[STEP:N]` tag, matched by index |
249
- | AI judge | `ai("condition text")` | AI evaluates the condition against agent output |
250
- | Aggregate | `all("X")` / `any("X")` | Aggregates parallel sub-step results |
369
+ | Tag-based | `"condition text"` | Agent outputs `[MOVEMENTNAME:N]` tag, matched by index |
370
+ | AI judge | `ai("condition text")` | AI evaluates condition against agent output |
371
+ | Aggregate | `all("X")` / `any("X")` | Aggregates parallel sub-movement matched conditions |
251
372
 
252
- ## Built-in Workflows
373
+ ## Builtin Workflows
253
374
 
254
- TAKT ships with several built-in workflows:
375
+ TAKT includes multiple builtin workflows:
255
376
 
256
377
  | Workflow | Description |
257
378
  |----------|-------------|
258
- | `default` | Full development workflow: plan → implement → AI review → parallel reviewers (architect + security) → supervisor approval. Includes fix loops for each review stage. |
259
- | `simple` | Simplified version of default: plan → implement → architect review → AI review → supervisor. No intermediate fix steps. |
260
- | `research` | Research workflow: plannerdigger → supervisor. Autonomously researches topics without asking questions. |
261
- | `expert` | Sequential review with domain experts: Architecture, Frontend, Security, QA reviews with fix loops. |
262
- | `expert-cqrs` | Sequential review with domain experts: CQRS+ES, Frontend, Security, QA reviews with fix loops. |
379
+ | `default` | Full development workflow: plan → architecture design → implement → AI review → parallel review (architect + security) → supervisor approval. Includes fix loops at each review stage. |
380
+ | `minimal` | Quick workflow: plan → implement → review → supervisor. Minimal steps for fast iteration. |
381
+ | `review-fix-minimal` | Review-focused workflow: reviewfix → supervisor. For iterative improvement based on review feedback. |
382
+ | `research` | Research workflow: planner digger supervisor. Autonomously executes research without asking questions. |
383
+ | `expert` | Full-stack development workflow: architecture, frontend, security, QA reviews with fix loops. |
384
+ | `expert-cqrs` | Full-stack development workflow (CQRS+ES specialized): CQRS+ES, frontend, security, QA reviews with fix loops. |
263
385
  | `magi` | Deliberation system inspired by Evangelion. Three AI personas (MELCHIOR, BALTHASAR, CASPER) analyze and vote. |
386
+ | `review-only` | Read-only code review workflow that makes no changes. |
264
387
 
265
- Switch between workflows with `takt switch`.
388
+ Use `takt switch` to switch workflows.
266
389
 
267
- ## Built-in Agents
390
+ ## Builtin Agents
268
391
 
269
392
  | Agent | Description |
270
393
  |-------|-------------|
271
- | **planner** | Task analysis, spec investigation, and implementation planning |
272
- | **coder** | Implements features and fixes bugs |
273
- | **ai-antipattern-reviewer** | Reviews for AI-specific anti-patterns (hallucinated APIs, incorrect assumptions, scope creep) |
274
- | **architecture-reviewer** | Reviews architecture and code quality, verifies spec compliance |
394
+ | **planner** | Task analysis, spec investigation, implementation planning |
395
+ | **coder** | Feature implementation, bug fixing |
396
+ | **ai-antipattern-reviewer** | AI-specific antipattern review (non-existent APIs, incorrect assumptions, scope creep) |
397
+ | **architecture-reviewer** | Architecture and code quality review, spec compliance verification |
275
398
  | **security-reviewer** | Security vulnerability assessment |
276
- | **supervisor** | Final verification, validation, and approval |
399
+ | **supervisor** | Final validation, approval |
277
400
 
278
401
  ## Custom Agents
279
402
 
280
- Define custom agents in `.takt/agents.yaml`:
281
-
282
- ```yaml
283
- agents:
284
- - name: my-reviewer
285
- prompt_file: .takt/prompts/reviewer.md
286
- allowed_tools: [Read, Glob, Grep]
287
- provider: claude # Optional: claude or codex
288
- model: opus # Claude: opus/sonnet/haiku or full name (claude-opus-4-5-20251101)
289
- ```
290
-
291
- Or create agent prompt files as Markdown:
403
+ Create agent prompts in Markdown files:
292
404
 
293
405
  ```markdown
294
406
  # ~/.takt/agents/my-agents/reviewer.md
295
407
 
296
- You are a code reviewer focused on security.
408
+ You are a code reviewer specialized in security.
297
409
 
298
- ## Your Role
410
+ ## Role
299
411
  - Check for security vulnerabilities
300
412
  - Verify input validation
301
413
  - Review authentication logic
@@ -303,33 +415,36 @@ You are a code reviewer focused on security.
303
415
 
304
416
  ## Model Selection
305
417
 
306
- The `model` field in workflow steps, agent configs, and global config is passed directly to the provider (Claude Code CLI or Codex SDK). TAKT does not resolve model aliases — the provider handles that.
418
+ The `model` field (in workflow movements, agent config, or global config) is passed directly to the provider (Claude Code CLI / Codex SDK). TAKT does not resolve model aliases.
307
419
 
308
420
  ### Claude Code
309
421
 
310
- Claude Code supports aliases (`opus`, `sonnet`, `haiku`, `opusplan`, `default`) and full model names (e.g., `claude-sonnet-4-5-20250929`). See [Claude Code documentation](https://docs.anthropic.com/en/docs/claude-code) for available models.
422
+ Claude Code supports aliases (`opus`, `sonnet`, `haiku`, `opusplan`, `default`) and full model names (e.g., `claude-sonnet-4-5-20250929`). Refer to the [Claude Code documentation](https://docs.anthropic.com/en/docs/claude-code) for available models.
311
423
 
312
424
  ### Codex
313
425
 
314
- The model string is passed to the Codex SDK. Defaults to `codex` if not specified. See Codex documentation for available models.
426
+ The model string is passed to the Codex SDK. If unspecified, defaults to `codex`. Refer to Codex documentation for available models.
315
427
 
316
428
  ## Project Structure
317
429
 
318
430
  ```
319
- ~/.takt/
320
- ├── config.yaml # Global config (provider, model, workflows, etc.)
321
- ├── workflows/ # User workflow definitions (override builtins)
322
- └── agents/ # User agent prompt files
431
+ ~/.takt/ # Global configuration directory
432
+ ├── config.yaml # Global config (provider, model, workflow, etc.)
433
+ ├── workflows/ # User workflow definitions (override builtins)
434
+ └── custom.yaml
435
+ └── agents/ # User agent prompt files (.md)
436
+ └── my-agent.md
323
437
 
324
- .takt/ # Project-level config
325
- ├── agents.yaml # Custom agent definitions
326
- ├── tasks/ # Pending task files (.yaml, .md)
327
- ├── completed/ # Completed tasks with reports
328
- ├── reports/ # Execution reports (auto-generated)
329
- └── logs/ # Session logs in NDJSON format
330
- ├── latest.json # Pointer to current/latest session
331
- ├── previous.json # Pointer to previous session
332
- └── {sessionId}.jsonl # NDJSON session log per workflow run
438
+ .takt/ # Project-level configuration
439
+ ├── config.yaml # Project config (current workflow, etc.)
440
+ ├── tasks/ # Pending task files (.yaml, .md)
441
+ ├── completed/ # Completed tasks and reports
442
+ ├── reports/ # Execution reports (auto-generated)
443
+ └── {timestamp}-{slug}/
444
+ └── logs/ # NDJSON format session logs
445
+ ├── latest.json # Pointer to current/latest session
446
+ ├── previous.json # Pointer to previous session
447
+ └── {sessionId}.jsonl # NDJSON session log per workflow execution
333
448
  ```
334
449
 
335
450
  Builtin resources are embedded in the npm package (`dist/resources/`). User files in `~/.takt/` take priority.
@@ -345,11 +460,17 @@ default_workflow: default
345
460
  log_level: info
346
461
  provider: claude # Default provider: claude or codex
347
462
  model: sonnet # Default model (optional)
463
+
464
+ # API Key configuration (optional)
465
+ # Can be overridden by environment variables TAKT_ANTHROPIC_API_KEY / TAKT_OPENAI_API_KEY
466
+ anthropic_api_key: sk-ant-... # For Claude (Anthropic)
467
+ # openai_api_key: sk-... # For Codex (OpenAI)
468
+
348
469
  trusted_directories:
349
470
  - /path/to/trusted/dir
350
471
 
351
- # Pipeline execution settings (optional)
352
- # Customize branch naming, commit messages, and PR body for pipeline mode.
472
+ # Pipeline execution configuration (optional)
473
+ # Customize branch names, commit messages, and PR body.
353
474
  # pipeline:
354
475
  # default_branch_prefix: "takt/"
355
476
  # commit_message_template: "feat: {title} (#{issue})"
@@ -359,51 +480,110 @@ trusted_directories:
359
480
  # Closes #{issue}
360
481
  ```
361
482
 
362
- **Pipeline template variables:**
483
+ **API Key Configuration Methods:**
484
+
485
+ 1. **Set via environment variables**:
486
+ ```bash
487
+ export TAKT_ANTHROPIC_API_KEY=sk-ant-... # For Claude
488
+ # or
489
+ export TAKT_OPENAI_API_KEY=sk-... # For Codex
490
+ ```
491
+
492
+ 2. **Set in config file**:
493
+ Write `anthropic_api_key` or `openai_api_key` in `~/.takt/config.yaml` as shown above
494
+
495
+ Priority: Environment variables > `config.yaml` settings
496
+
497
+ **Notes:**
498
+ - If you set an API Key, installing Claude Code or Codex is not necessary. TAKT directly calls the Anthropic API or OpenAI API.
499
+ - **Security**: If you write API Keys in `config.yaml`, be careful not to commit this file to Git. Consider using environment variables or adding `~/.takt/config.yaml` to `.gitignore`.
500
+
501
+ **Pipeline Template Variables:**
363
502
 
364
- | Variable | Available in | Description |
503
+ | Variable | Available In | Description |
365
504
  |----------|-------------|-------------|
366
- | `{title}` | commit message | Issue title |
367
- | `{issue}` | commit message, PR body | Issue number |
368
- | `{issue_body}` | PR body | Issue body text |
505
+ | `{title}` | Commit message | Issue title |
506
+ | `{issue}` | Commit message, PR body | Issue number |
507
+ | `{issue_body}` | PR body | Issue body |
369
508
  | `{report}` | PR body | Workflow execution report |
370
509
 
371
510
  **Model Resolution Priority:**
372
- 1. Workflow step `model` (highest priority)
511
+ 1. Workflow movement `model` (highest priority)
373
512
  2. Custom agent `model`
374
513
  3. Global config `model`
375
- 4. Provider default (Claude: sonnet, Codex: gpt-5.2-codex)
514
+ 4. Provider default (Claude: sonnet, Codex: codex)
376
515
 
516
+ ## Detailed Guides
377
517
 
378
- ## Practical Usage Guide
518
+ ### Task File Formats
379
519
 
380
- ### Interactive Workflow
520
+ TAKT supports batch processing with task files in `.takt/tasks/`. Both `.yaml`/`.yml` and `.md` file formats are supported.
381
521
 
382
- When running `takt` (interactive planning mode) or `takt #6` (GitHub issue), you are prompted to:
522
+ **YAML format** (recommended, supports worktree/branch/workflow options):
523
+
524
+ ```yaml
525
+ # .takt/tasks/add-auth.yaml
526
+ task: "Add authentication feature"
527
+ worktree: true # Execute in isolated shared clone
528
+ branch: "feat/add-auth" # Branch name (auto-generated if omitted)
529
+ workflow: "default" # Workflow specification (uses current if omitted)
530
+ ```
531
+
532
+ **Markdown format** (simple, backward compatible):
533
+
534
+ ```markdown
535
+ # .takt/tasks/add-login-feature.md
383
536
 
384
- 1. **Select a workflow** - Choose from available workflows (arrow keys, ESC to cancel)
385
- 2. **Create an isolated clone** (optional) - Run the task in a `git clone --shared` for isolation
386
- 3. **Create a pull request** (after worktree execution) - Create a PR from the task branch
537
+ Add login feature to the application.
387
538
 
388
- If `--auto-pr` is specified, the PR confirmation is skipped and the PR is created automatically.
539
+ Requirements:
540
+ - Username and password fields
541
+ - Form validation
542
+ - Error handling on failure
543
+ ```
544
+
545
+ #### Isolated Execution with Shared Clone
546
+
547
+ Specifying `worktree` in YAML task files executes each task in an isolated clone created with `git clone --shared`, keeping your main working directory clean:
548
+
549
+ - `worktree: true` - Auto-create shared clone in adjacent directory (or location specified by `worktree_dir` config)
550
+ - `worktree: "/path/to/dir"` - Create at specified path
551
+ - `branch: "feat/xxx"` - Use specified branch (auto-generated as `takt/{timestamp}-{slug}` if omitted)
552
+ - Omit `worktree` - Execute in current directory (default)
553
+
554
+ > **Note**: The YAML field name remains `worktree` for backward compatibility. Internally, it uses `git clone --shared` instead of `git worktree`. Git worktrees have a `.git` file containing `gitdir:` pointing to the main repository, which Claude Code follows to recognize the main repository as the project root. Shared clones have an independent `.git` directory, preventing this issue.
555
+
556
+ Clones are ephemeral. After task completion, they auto-commit + push, then delete the clone. Branches are the only persistent artifacts. Use `takt list` to list, merge, or delete branches.
557
+
558
+ ### Session Logs
559
+
560
+ TAKT writes session logs in NDJSON (`.jsonl`) format to `.takt/logs/`. Each record is atomically appended, so partial logs are preserved even if the process crashes, and you can track in real-time with `tail -f`.
561
+
562
+ - `.takt/logs/latest.json` - Pointer to current (or latest) session
563
+ - `.takt/logs/previous.json` - Pointer to previous session
564
+ - `.takt/logs/{sessionId}.jsonl` - NDJSON session log per workflow execution
565
+
566
+ Record types: `workflow_start`, `step_start`, `step_complete`, `workflow_complete`, `workflow_abort`
567
+
568
+ Agents can read `previous.json` to inherit context from the previous execution. Session continuation is automatic — just run `takt "task"` to continue from the previous session.
389
569
 
390
570
  ### Adding Custom Workflows
391
571
 
392
- Create your own workflow by adding YAML files to `~/.takt/workflows/`, or use `/eject` to customize a builtin:
572
+ Add YAML files to `~/.takt/workflows/` or customize builtins with `takt eject`:
393
573
 
394
574
  ```bash
395
- # Copy the default workflow to ~/.takt/workflows/ for editing
575
+ # Copy default workflow to ~/.takt/workflows/ and edit
396
576
  takt eject default
397
577
  ```
398
578
 
399
579
  ```yaml
400
580
  # ~/.takt/workflows/my-workflow.yaml
401
581
  name: my-workflow
402
- description: My custom workflow
582
+ description: Custom workflow
403
583
  max_iterations: 5
404
- initial_step: analyze
584
+ initial_movement: analyze
405
585
 
406
- steps:
586
+ movements:
407
587
  - name: analyze
408
588
  agent: ~/.takt/agents/my-agents/analyzer.md
409
589
  edit: false
@@ -411,184 +591,88 @@ steps:
411
591
  - condition: Analysis complete
412
592
  next: implement
413
593
  instruction_template: |
414
- Analyze this request thoroughly.
594
+ Thoroughly analyze this request.
415
595
 
416
596
  - name: implement
417
597
  agent: ~/.takt/agents/default/coder.md
418
598
  edit: true
419
- permission_mode: acceptEdits
599
+ permission_mode: edit
420
600
  pass_previous_response: true
421
601
  rules:
422
- - condition: Done
602
+ - condition: Complete
423
603
  next: COMPLETE
424
604
  instruction_template: |
425
605
  Implement based on the analysis.
426
606
  ```
427
607
 
428
- > **Note**: `{task}`, `{previous_response}`, and `{user_inputs}` are auto-injected into instructions. You only need explicit placeholders if you want to control their position in the template.
608
+ > **Note**: `{task}`, `{previous_response}`, `{user_inputs}` are automatically injected into instructions. Explicit placeholders are only needed if you want to control their position in the template.
429
609
 
430
610
  ### Specifying Agents by Path
431
611
 
432
- Agents are specified using file paths in workflow definitions:
612
+ In workflow definitions, specify agents using file paths:
433
613
 
434
614
  ```yaml
435
- # Relative to workflow file directory
615
+ # Relative path from workflow file
436
616
  agent: ../agents/default/coder.md
437
617
 
438
618
  # Home directory
439
619
  agent: ~/.takt/agents/default/coder.md
440
620
 
441
- # Absolute paths
621
+ # Absolute path
442
622
  agent: /path/to/custom/agent.md
443
623
  ```
444
624
 
445
- ### Task Management
446
-
447
- TAKT supports batch task processing through task files in `.takt/tasks/`. Both `.yaml`/`.yml` and `.md` file formats are supported.
448
-
449
- #### Adding Tasks with `takt add`
450
-
451
- ```bash
452
- # Start AI conversation to define and add a task
453
- takt add
454
- ```
455
-
456
- The `takt add` command starts an AI conversation where you discuss and refine your task requirements. After confirming with `/go`, the AI summarizes the conversation and creates a YAML task file with optional worktree/branch/workflow settings.
457
-
458
- #### Task File Formats
459
-
460
- **YAML format** (recommended, supports worktree/branch/workflow options):
461
-
462
- ```yaml
463
- # .takt/tasks/add-auth.yaml
464
- task: "Add authentication feature"
465
- worktree: true # Run in isolated shared clone
466
- branch: "feat/add-auth" # Branch name (auto-generated if omitted)
467
- workflow: "default" # Workflow override (uses current if omitted)
468
- ```
469
-
470
- **Markdown format** (simple, backward compatible):
471
-
472
- ```markdown
473
- # .takt/tasks/add-login-feature.md
474
-
475
- Add a login feature to the application.
476
-
477
- Requirements:
478
- - Username and password fields
479
- - Form validation
480
- - Error handling for failed attempts
481
- ```
482
-
483
- #### Isolated Execution (Shared Clone)
484
-
485
- YAML task files can specify `worktree` to run each task in an isolated `git clone --shared`, keeping the main working directory clean:
486
-
487
- - `worktree: true` - Auto-create a shared clone in a sibling directory (or `worktree_dir` from config)
488
- - `worktree: "/path/to/dir"` - Create at specified path
489
- - `branch: "feat/xxx"` - Use specified branch (auto-generated as `takt/{timestamp}-{slug}` if omitted)
490
- - Omit `worktree` - Run in current working directory (default)
491
-
492
- > **Note**: The YAML field is named `worktree` for backward compatibility. Internally, `git clone --shared` is used instead of `git worktree` because git worktrees have a `.git` file with `gitdir:` that points back to the main repository, causing Claude Code to recognize the main repo as the project root. Shared clones have an independent `.git` directory that avoids this issue.
493
-
494
- Clones are ephemeral. When a task completes successfully, TAKT automatically commits all changes and pushes the branch to the main repository, then deletes the clone. Use `takt list` to list, try-merge, or delete task branches.
495
-
496
- #### Running Tasks with `/run-tasks`
497
-
498
- ```bash
499
- takt run
500
- ```
501
-
502
- - Tasks are executed in alphabetical order (use prefixes like `001-`, `002-` for ordering)
503
- - Completed tasks are moved to `.takt/completed/` with execution reports
504
- - New tasks added during execution will be picked up dynamically
505
-
506
- #### Watching Tasks with `/watch`
507
-
508
- ```bash
509
- takt watch
510
- ```
511
-
512
- Watch mode polls `.takt/tasks/` for new task files and auto-executes them as they appear. The process stays resident until `Ctrl+C`. This is useful for:
513
- - CI/CD pipelines that generate task files
514
- - Automated workflows where tasks are added by external processes
515
- - Long-running development sessions where tasks are queued over time
516
-
517
- #### Listing Task Branches with `/list-tasks`
518
-
519
- ```bash
520
- takt list
521
- ```
522
-
523
- Lists all `takt/`-prefixed branches with file change counts. For each branch you can:
524
- - **Try merge** - Squash merge into main (stage changes without committing)
525
- - **Instruct** - Give additional instructions via a temporary clone
526
- - **Merge & cleanup** - Merge and delete the branch
527
- - **Delete** - Delete the branch without merging
528
-
529
- ### Session Logs
530
-
531
- TAKT writes session logs in NDJSON (`.jsonl`) format to `.takt/logs/`. Each record is appended atomically, so even if the process crashes mid-execution, partial logs are preserved and logs can be tailed in real-time with `tail -f`.
532
-
533
- - `.takt/logs/latest.json` - Pointer to the current (or most recent) session
534
- - `.takt/logs/previous.json` - Pointer to the previous session
535
- - `.takt/logs/{sessionId}.jsonl` - NDJSON session log with step history
536
-
537
- Record types: `workflow_start`, `step_start`, `step_complete`, `workflow_complete`, `workflow_abort`.
538
-
539
- Agents can read `previous.json` to pick up context from a prior run. Session continuity is automatic — simply run `takt "task"` to continue where the previous session left off.
540
-
541
625
  ### Workflow Variables
542
626
 
543
- Available variables in `instruction_template`:
627
+ Variables available in `instruction_template`:
544
628
 
545
629
  | Variable | Description |
546
630
  |----------|-------------|
547
631
  | `{task}` | Original user request (auto-injected if not in template) |
548
632
  | `{iteration}` | Workflow-wide turn count (total steps executed) |
549
- | `{max_iterations}` | Maximum iterations allowed |
550
- | `{step_iteration}` | Per-step iteration count (how many times THIS step has run) |
551
- | `{previous_response}` | Previous step's output (auto-injected if not in template) |
633
+ | `{max_iterations}` | Maximum iteration count |
634
+ | `{movement_iteration}` | Per-movement iteration count (times this movement has been executed) |
635
+ | `{previous_response}` | Output from previous movement (auto-injected if not in template) |
552
636
  | `{user_inputs}` | Additional user inputs during workflow (auto-injected if not in template) |
553
637
  | `{report_dir}` | Report directory path (e.g., `.takt/reports/20250126-143052-task-summary`) |
554
- | `{report:filename}` | Resolves to `{report_dir}/filename` (e.g., `{report:00-plan.md}`) |
638
+ | `{report:filename}` | Expands to `{report_dir}/filename` (e.g., `{report:00-plan.md}`) |
555
639
 
556
- ### Designing Workflows
640
+ ### Workflow Design
557
641
 
558
- Each workflow step requires:
642
+ Elements needed for each workflow movement:
559
643
 
560
- **1. Agent** - A Markdown file containing the system prompt:
644
+ **1. Agent** - Markdown file containing system prompt:
561
645
 
562
646
  ```yaml
563
647
  agent: ../agents/default/coder.md # Path to agent prompt file
564
648
  agent_name: coder # Display name (optional)
565
649
  ```
566
650
 
567
- **2. Rules** - Define how the step routes to the next step. The instruction builder auto-injects status output rules so agents know what tags to output:
651
+ **2. Rules** - Define routing from movement to next movement. The instruction builder auto-injects status output rules, so agents know which tags to output:
568
652
 
569
653
  ```yaml
570
654
  rules:
571
655
  - condition: "Implementation complete"
572
656
  next: review
573
- - condition: "Cannot proceed"
657
+ - condition: "Blocked"
574
658
  next: ABORT
575
659
  ```
576
660
 
577
- Special `next` values: `COMPLETE` (success), `ABORT` (failure).
661
+ Special `next` values: `COMPLETE` (success), `ABORT` (failure)
578
662
 
579
- **3. Step options:**
663
+ **3. Movement Options:**
580
664
 
581
665
  | Option | Default | Description |
582
666
  |--------|---------|-------------|
583
- | `edit` | - | Whether the step can edit project files (`true`/`false`) |
584
- | `pass_previous_response` | `true` | Pass previous step's output to `{previous_response}` |
585
- | `allowed_tools` | - | List of tools the agent can use (Read, Glob, Grep, Edit, Write, Bash, etc.) |
586
- | `provider` | - | Override provider for this step (`claude` or `codex`) |
587
- | `model` | - | Override model for this step |
588
- | `permission_mode` | `default` | Permission mode: `default`, `acceptEdits`, or `bypassPermissions` |
589
- | `report` | - | Report file configuration (name, format) for auto-generated reports |
667
+ | `edit` | - | Whether movement can edit project files (`true`/`false`) |
668
+ | `pass_previous_response` | `true` | Pass previous movement output to `{previous_response}` |
669
+ | `allowed_tools` | - | List of tools agent can use (Read, Glob, Grep, Edit, Write, Bash, etc.) |
670
+ | `provider` | - | Override provider for this movement (`claude` or `codex`) |
671
+ | `model` | - | Override model for this movement |
672
+ | `permission_mode` | - | Permission mode: `readonly`, `edit`, `full` (provider-independent) |
673
+ | `report` | - | Auto-generated report file settings (name, format) |
590
674
 
591
- ## API Usage
675
+ ## API Usage Example
592
676
 
593
677
  ```typescript
594
678
  import { WorkflowEngine, loadWorkflow } from 'takt'; // npm install takt
@@ -608,15 +692,15 @@ await engine.run();
608
692
 
609
693
  ## Contributing
610
694
 
611
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
695
+ See [CONTRIBUTING.md](../CONTRIBUTING.md) for details.
612
696
 
613
697
  ## CI/CD Integration
614
698
 
615
699
  ### GitHub Actions
616
700
 
617
- TAKT provides a GitHub Action for automated PR reviews and task execution. See [takt-action](https://github.com/nrslib/takt-action) for details.
701
+ TAKT provides a GitHub Action for automating PR reviews and task execution. See [takt-action](https://github.com/nrslib/takt-action) for details.
618
702
 
619
- **Example workflow** (see [.github/workflows/takt-action.yml](.github/workflows/takt-action.yml) in this repository):
703
+ **Workflow example** (see [.github/workflows/takt-action.yml](../.github/workflows/takt-action.yml) in this repository):
620
704
 
621
705
  ```yaml
622
706
  name: TAKT
@@ -645,50 +729,38 @@ jobs:
645
729
  github_token: ${{ secrets.GITHUB_TOKEN }}
646
730
  ```
647
731
 
648
- **Cost Warning**: TAKT uses AI APIs (Claude or OpenAI) which can incur significant costs, especially in CI/CD environments where tasks run automatically. Monitor your API usage and set billing alerts.
732
+ **Cost Warning**: TAKT uses AI APIs (Claude or OpenAI), which can incur significant costs, especially when tasks are auto-executed in CI/CD environments. Monitor API usage and set up billing alerts.
649
733
 
650
734
  ### Other CI Systems
651
735
 
652
- For non-GitHub CI systems, use pipeline mode:
736
+ For CI systems other than GitHub, use pipeline mode:
653
737
 
654
738
  ```bash
655
739
  # Install takt
656
740
  npm install -g takt
657
741
 
658
742
  # Run in pipeline mode
659
- takt --pipeline --task "fix bug" --auto-pr --repo owner/repo
743
+ takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
660
744
  ```
661
745
 
662
- Set `ANTHROPIC_API_KEY` or `OPENAI_API_KEY` environment variables for authentication.
663
-
664
- ## Docker Support
665
-
666
- Docker environment is provided for testing in other environments:
746
+ For authentication, set `TAKT_ANTHROPIC_API_KEY` or `TAKT_OPENAI_API_KEY` environment variables (TAKT-specific prefix).
667
747
 
668
748
  ```bash
669
- # Build Docker images
670
- docker compose build
671
-
672
- # Run tests in container
673
- docker compose run --rm test
749
+ # For Claude (Anthropic)
750
+ export TAKT_ANTHROPIC_API_KEY=sk-ant-...
674
751
 
675
- # Run lint in container
676
- docker compose run --rm lint
677
-
678
- # Build only (skip tests)
679
- docker compose run --rm build
752
+ # For Codex (OpenAI)
753
+ export TAKT_OPENAI_API_KEY=sk-...
680
754
  ```
681
755
 
682
- This ensures the project works correctly in a clean Node.js 20 environment.
683
-
684
756
  ## Documentation
685
757
 
686
- - [Workflow Guide](./docs/workflows.md) - Create and customize workflows
687
- - [Agent Guide](./docs/agents.md) - Configure custom agents
688
- - [Changelog](./CHANGELOG.md) - Version history
689
- - [Security Policy](./SECURITY.md) - Vulnerability reporting
758
+ - [Workflow Guide](./docs/workflows.md) - Creating and customizing workflows
759
+ - [Agent Guide](./docs/agents.md) - Configuring custom agents
760
+ - [Changelog](../CHANGELOG.md) - Version history
761
+ - [Security Policy](../SECURITY.md) - Vulnerability reporting
690
762
  - [Blog: TAKT - AI Agent Orchestration](https://zenn.dev/nrs/articles/c6842288a526d7) - Design philosophy and practical usage guide (Japanese)
691
763
 
692
764
  ## License
693
765
 
694
- MIT - See [LICENSE](./LICENSE) for details.
766
+ MIT - See [LICENSE](../LICENSE) for details.