takt 0.4.1 → 0.5.1
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.
- package/README.md +82 -73
- package/bin/takt +3 -2
- package/dist/agents/types.d.ts +1 -1
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/app/cli/commands.js +12 -12
- package/dist/app/cli/commands.js.map +1 -1
- package/dist/app/cli/program.js +1 -1
- package/dist/app/cli/program.js.map +1 -1
- package/dist/app/cli/routing.js +10 -10
- package/dist/app/cli/routing.js.map +1 -1
- package/dist/core/models/config.js +2 -2
- package/dist/core/models/config.js.map +1 -1
- package/dist/core/models/global-config.d.ts +7 -8
- package/dist/core/models/global-config.d.ts.map +1 -1
- package/dist/core/models/index.d.ts +1 -1
- package/dist/core/models/index.d.ts.map +1 -1
- package/dist/core/models/{workflow-types.d.ts → piece-types.d.ts} +16 -16
- package/dist/core/models/piece-types.d.ts.map +1 -0
- package/dist/core/models/piece-types.js +5 -0
- package/dist/core/models/piece-types.js.map +1 -0
- package/dist/core/models/schemas.d.ts +17 -18
- package/dist/core/models/schemas.d.ts.map +1 -1
- package/dist/core/models/schemas.js +21 -22
- package/dist/core/models/schemas.js.map +1 -1
- package/dist/core/models/session.d.ts +2 -2
- package/dist/core/models/session.d.ts.map +1 -1
- package/dist/core/models/session.js +1 -1
- package/dist/core/models/session.js.map +1 -1
- package/dist/core/models/status.d.ts +1 -1
- package/dist/core/models/status.d.ts.map +1 -1
- package/dist/core/models/types.d.ts +1 -1
- package/dist/core/models/types.d.ts.map +1 -1
- package/dist/core/{workflow → piece}/constants.d.ts +3 -3
- package/dist/core/piece/constants.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/constants.js +3 -3
- package/dist/core/piece/constants.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/MovementExecutor.d.ts +9 -9
- package/dist/core/piece/engine/MovementExecutor.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/MovementExecutor.js +5 -5
- package/dist/core/piece/engine/MovementExecutor.js.map +1 -0
- package/dist/core/piece/engine/OptionsBuilder.d.ts +28 -0
- package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/OptionsBuilder.js +1 -1
- package/dist/core/piece/engine/OptionsBuilder.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/ParallelRunner.d.ts +7 -7
- package/dist/core/piece/engine/ParallelRunner.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/ParallelRunner.js +1 -1
- package/dist/core/piece/engine/ParallelRunner.js.map +1 -0
- package/dist/core/{workflow/engine/WorkflowEngine.d.ts → piece/engine/PieceEngine.d.ts} +15 -15
- package/dist/core/piece/engine/PieceEngine.d.ts.map +1 -0
- package/dist/core/{workflow/engine/WorkflowEngine.js → piece/engine/PieceEngine.js} +21 -21
- package/dist/core/piece/engine/PieceEngine.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/blocked-handler.d.ts +6 -6
- package/dist/core/piece/engine/blocked-handler.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/blocked-handler.js +2 -2
- package/dist/core/piece/engine/blocked-handler.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/index.d.ts +3 -3
- package/dist/core/piece/engine/index.d.ts.map +1 -0
- package/dist/core/piece/engine/index.js +10 -0
- package/dist/core/piece/engine/index.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/loop-detector.d.ts +2 -2
- package/dist/core/piece/engine/loop-detector.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/loop-detector.js +2 -2
- package/dist/core/piece/engine/loop-detector.js.map +1 -0
- package/dist/core/piece/engine/parallel-logger.d.ts.map +1 -0
- package/dist/core/piece/engine/parallel-logger.js.map +1 -0
- package/dist/core/piece/engine/state-manager.d.ts +46 -0
- package/dist/core/piece/engine/state-manager.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/state-manager.js +6 -6
- package/dist/core/piece/engine/state-manager.js.map +1 -0
- package/dist/core/{workflow → piece}/engine/transitions.d.ts +3 -3
- package/dist/core/piece/engine/transitions.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/engine/transitions.js +1 -1
- package/dist/core/piece/engine/transitions.js.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/AggregateEvaluator.d.ts +3 -3
- package/dist/core/piece/evaluation/AggregateEvaluator.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/AggregateEvaluator.js +1 -1
- package/dist/core/piece/evaluation/AggregateEvaluator.js.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/RuleEvaluator.d.ts +7 -7
- package/dist/core/piece/evaluation/RuleEvaluator.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/RuleEvaluator.js +3 -3
- package/dist/core/piece/evaluation/RuleEvaluator.js.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/index.d.ts +3 -3
- package/dist/core/piece/evaluation/index.d.ts.map +1 -0
- package/dist/core/piece/evaluation/index.js.map +1 -0
- package/dist/core/{workflow → piece}/evaluation/rule-utils.d.ts +2 -2
- package/dist/core/piece/evaluation/rule-utils.d.ts.map +1 -0
- package/dist/core/piece/evaluation/rule-utils.js.map +1 -0
- package/dist/core/{workflow → piece}/index.d.ts +4 -4
- package/dist/core/piece/index.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/index.js +3 -3
- package/dist/core/piece/index.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/InstructionBuilder.d.ts +7 -7
- package/dist/core/piece/instruction/InstructionBuilder.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/instruction/InstructionBuilder.js +11 -11
- package/dist/core/piece/instruction/InstructionBuilder.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/ReportInstructionBuilder.d.ts +2 -2
- package/dist/core/piece/instruction/ReportInstructionBuilder.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/instruction/ReportInstructionBuilder.js +1 -1
- package/dist/core/piece/instruction/ReportInstructionBuilder.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/StatusJudgmentBuilder.d.ts +2 -2
- package/dist/core/piece/instruction/StatusJudgmentBuilder.d.ts.map +1 -0
- package/dist/core/piece/instruction/StatusJudgmentBuilder.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/escape.d.ts +2 -2
- package/dist/core/piece/instruction/escape.d.ts.map +1 -0
- package/dist/core/piece/instruction/escape.js.map +1 -0
- package/dist/core/piece/instruction/index.d.ts.map +1 -0
- package/dist/core/piece/instruction/index.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/instruction-context.d.ts +5 -5
- package/dist/core/piece/instruction/instruction-context.d.ts.map +1 -0
- package/dist/core/piece/instruction/instruction-context.js.map +1 -0
- package/dist/core/{workflow → piece}/instruction/status-rules.d.ts +3 -3
- package/dist/core/piece/instruction/status-rules.d.ts.map +1 -0
- package/dist/core/{workflow → piece}/instruction/status-rules.js +1 -1
- package/dist/core/piece/instruction/status-rules.js.map +1 -0
- package/dist/core/piece/parallel-logger.d.ts.map +1 -0
- package/dist/core/piece/parallel-logger.js.map +1 -0
- package/dist/core/{workflow → piece}/phase-runner.d.ts +7 -7
- package/dist/core/piece/phase-runner.d.ts.map +1 -0
- package/dist/core/piece/phase-runner.js.map +1 -0
- package/dist/core/{workflow → piece}/types.d.ts +19 -19
- package/dist/core/piece/types.d.ts.map +1 -0
- package/dist/core/piece/types.js +8 -0
- package/dist/core/piece/types.js.map +1 -0
- package/dist/features/config/ejectBuiltin.d.ts +4 -4
- package/dist/features/config/ejectBuiltin.js +27 -27
- package/dist/features/config/ejectBuiltin.js.map +1 -1
- package/dist/features/config/index.d.ts +1 -1
- package/dist/features/config/index.d.ts.map +1 -1
- package/dist/features/config/index.js +1 -1
- package/dist/features/config/index.js.map +1 -1
- package/dist/features/config/switchConfig.d.ts +3 -3
- package/dist/features/config/switchConfig.js +3 -3
- package/dist/features/config/switchPiece.d.ts +9 -0
- package/dist/features/config/switchPiece.d.ts.map +1 -0
- package/dist/features/config/switchPiece.js +51 -0
- package/dist/features/config/switchPiece.js.map +1 -0
- package/dist/features/interactive/index.d.ts +1 -1
- package/dist/features/interactive/index.d.ts.map +1 -1
- package/dist/features/interactive/index.js.map +1 -1
- package/dist/features/interactive/interactive.d.ts +5 -5
- package/dist/features/interactive/interactive.d.ts.map +1 -1
- package/dist/features/interactive/interactive.js +32 -16
- package/dist/features/interactive/interactive.js.map +1 -1
- package/dist/features/pieceSelection/index.d.ts +55 -0
- package/dist/features/pieceSelection/index.d.ts.map +1 -0
- package/dist/features/{workflowSelection → pieceSelection}/index.js +132 -132
- package/dist/features/pieceSelection/index.js.map +1 -0
- package/dist/features/pipeline/execute.d.ts +1 -1
- package/dist/features/pipeline/execute.js +12 -12
- package/dist/features/pipeline/execute.js.map +1 -1
- package/dist/features/prompt/preview.d.ts +4 -4
- package/dist/features/prompt/preview.d.ts.map +1 -1
- package/dist/features/prompt/preview.js +13 -13
- package/dist/features/prompt/preview.js.map +1 -1
- package/dist/features/tasks/add/index.d.ts +1 -1
- package/dist/features/tasks/add/index.js +15 -15
- package/dist/features/tasks/add/index.js.map +1 -1
- package/dist/features/tasks/execute/pieceExecution.d.ts +11 -0
- package/dist/features/tasks/execute/pieceExecution.d.ts.map +1 -0
- package/dist/features/tasks/execute/{workflowExecution.js → pieceExecution.js} +43 -43
- package/dist/features/tasks/execute/pieceExecution.js.map +1 -0
- package/dist/features/tasks/execute/selectAndExecute.d.ts +6 -6
- package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
- package/dist/features/tasks/execute/selectAndExecute.js +43 -43
- package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
- package/dist/features/tasks/execute/taskExecution.d.ts +7 -7
- package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
- package/dist/features/tasks/execute/taskExecution.js +28 -28
- package/dist/features/tasks/execute/taskExecution.js.map +1 -1
- package/dist/features/tasks/execute/types.d.ts +10 -10
- package/dist/features/tasks/execute/types.d.ts.map +1 -1
- package/dist/features/tasks/index.d.ts +2 -2
- package/dist/features/tasks/index.d.ts.map +1 -1
- package/dist/features/tasks/index.js +2 -2
- package/dist/features/tasks/index.js.map +1 -1
- package/dist/features/tasks/list/taskActions.js +17 -17
- package/dist/features/tasks/list/taskActions.js.map +1 -1
- package/dist/features/tasks/watch/index.js +5 -5
- package/dist/features/tasks/watch/index.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/infra/claude/types.d.ts +2 -2
- package/dist/infra/claude/types.d.ts.map +1 -1
- package/dist/infra/config/global/bookmarks.d.ts +9 -9
- package/dist/infra/config/global/bookmarks.d.ts.map +1 -1
- package/dist/infra/config/global/bookmarks.js +21 -21
- package/dist/infra/config/global/bookmarks.js.map +1 -1
- package/dist/infra/config/global/globalConfig.d.ts +1 -3
- package/dist/infra/config/global/globalConfig.d.ts.map +1 -1
- package/dist/infra/config/global/globalConfig.js +12 -29
- package/dist/infra/config/global/globalConfig.js.map +1 -1
- package/dist/infra/config/global/index.d.ts +3 -3
- package/dist/infra/config/global/index.d.ts.map +1 -1
- package/dist/infra/config/global/index.js +3 -3
- package/dist/infra/config/global/index.js.map +1 -1
- package/dist/infra/config/global/initialization.d.ts +2 -2
- package/dist/infra/config/global/initialization.js +3 -3
- package/dist/infra/config/global/initialization.js.map +1 -1
- package/dist/infra/config/global/pieceCategories.d.ts +19 -0
- package/dist/infra/config/global/pieceCategories.d.ts.map +1 -0
- package/dist/infra/config/global/{workflowCategories.js → pieceCategories.js} +26 -26
- package/dist/infra/config/global/pieceCategories.js.map +1 -0
- package/dist/infra/config/loaders/agentLoader.d.ts +2 -2
- package/dist/infra/config/loaders/agentLoader.js +2 -2
- package/dist/infra/config/loaders/index.d.ts +2 -2
- package/dist/infra/config/loaders/index.d.ts.map +1 -1
- package/dist/infra/config/loaders/index.js +2 -2
- package/dist/infra/config/loaders/index.js.map +1 -1
- package/dist/infra/config/loaders/loader.d.ts +2 -2
- package/dist/infra/config/loaders/loader.d.ts.map +1 -1
- package/dist/infra/config/loaders/loader.js +3 -3
- package/dist/infra/config/loaders/loader.js.map +1 -1
- package/dist/infra/config/loaders/pieceCategories.d.ts +43 -0
- package/dist/infra/config/loaders/pieceCategories.d.ts.map +1 -0
- package/dist/infra/config/loaders/{workflowCategories.js → pieceCategories.js} +63 -63
- package/dist/infra/config/loaders/pieceCategories.js.map +1 -0
- package/dist/infra/config/loaders/pieceLoader.d.ts +10 -0
- package/dist/infra/config/loaders/pieceLoader.d.ts.map +1 -0
- package/dist/infra/config/loaders/pieceLoader.js +12 -0
- package/dist/infra/config/loaders/pieceLoader.js.map +1 -0
- package/dist/infra/config/loaders/pieceParser.d.ts +18 -0
- package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -0
- package/dist/infra/config/loaders/{workflowParser.js → pieceParser.js} +33 -33
- package/dist/infra/config/loaders/pieceParser.js.map +1 -0
- package/dist/infra/config/loaders/pieceResolver.d.ts +86 -0
- package/dist/infra/config/loaders/pieceResolver.d.ts.map +1 -0
- package/dist/infra/config/loaders/pieceResolver.js +248 -0
- package/dist/infra/config/loaders/pieceResolver.js.map +1 -0
- package/dist/infra/config/paths.d.ts +1 -1
- package/dist/infra/config/paths.d.ts.map +1 -1
- package/dist/infra/config/paths.js +1 -1
- package/dist/infra/config/paths.js.map +1 -1
- package/dist/infra/config/project/index.d.ts +1 -1
- package/dist/infra/config/project/index.d.ts.map +1 -1
- package/dist/infra/config/project/index.js +1 -1
- package/dist/infra/config/project/index.js.map +1 -1
- package/dist/infra/config/project/projectConfig.d.ts +4 -4
- package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
- package/dist/infra/config/project/projectConfig.js +7 -7
- package/dist/infra/config/project/projectConfig.js.map +1 -1
- package/dist/infra/config/types.d.ts +6 -6
- package/dist/infra/config/types.d.ts.map +1 -1
- package/dist/infra/fs/index.d.ts +1 -1
- package/dist/infra/fs/index.d.ts.map +1 -1
- package/dist/infra/fs/session.d.ts +6 -6
- package/dist/infra/fs/session.d.ts.map +1 -1
- package/dist/infra/fs/session.js +15 -15
- package/dist/infra/fs/session.js.map +1 -1
- package/dist/infra/github/issue.d.ts +2 -2
- package/dist/infra/github/issue.js +2 -2
- package/dist/infra/mock/client.d.ts +1 -1
- package/dist/infra/mock/client.js +1 -1
- package/dist/infra/providers/codex.d.ts.map +1 -1
- package/dist/infra/providers/codex.js +31 -0
- package/dist/infra/providers/codex.js.map +1 -1
- package/dist/infra/providers/types.d.ts +1 -1
- package/dist/infra/providers/types.d.ts.map +1 -1
- package/dist/infra/resources/index.d.ts +2 -2
- package/dist/infra/resources/index.js +2 -2
- package/dist/infra/task/autoCommit.d.ts +1 -1
- package/dist/infra/task/autoCommit.js +1 -1
- package/dist/infra/task/display.js +2 -2
- package/dist/infra/task/display.js.map +1 -1
- package/dist/infra/task/schema.d.ts +2 -2
- package/dist/infra/task/schema.js +2 -2
- package/dist/infra/task/schema.js.map +1 -1
- package/dist/infra/task/summarize.d.ts.map +1 -1
- package/dist/infra/task/summarize.js +7 -4
- package/dist/infra/task/summarize.js.map +1 -1
- package/dist/shared/constants.d.ts +2 -2
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +2 -2
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/exitCodes.d.ts +1 -1
- package/dist/shared/exitCodes.d.ts.map +1 -1
- package/dist/shared/exitCodes.js +1 -1
- package/dist/shared/exitCodes.js.map +1 -1
- package/dist/shared/i18n/labels_en.yaml +15 -15
- package/dist/shared/i18n/labels_ja.yaml +4 -4
- package/dist/shared/prompts/en/perform_builtin_agent_system_prompt.md +1 -1
- package/dist/shared/prompts/en/perform_phase1_message.md +5 -5
- package/dist/shared/prompts/en/perform_phase2_message.md +2 -2
- package/dist/shared/prompts/en/score_interactive_system_prompt.md +15 -15
- package/dist/shared/prompts/en/score_summary_system_prompt.md +5 -5
- package/dist/shared/prompts/ja/perform_builtin_agent_system_prompt.md +1 -1
- package/dist/shared/prompts/ja/perform_phase1_message.md +5 -5
- package/dist/shared/prompts/ja/perform_phase2_message.md +2 -2
- package/dist/shared/prompts/ja/score_interactive_system_prompt.md +20 -20
- package/dist/shared/prompts/ja/score_summary_system_prompt.md +8 -8
- package/dist/shared/ui/StreamDisplay.d.ts +1 -1
- package/dist/shared/ui/StreamDisplay.d.ts.map +1 -1
- package/dist/shared/utils/notification.d.ts +1 -1
- package/dist/shared/utils/notification.js +1 -1
- package/dist/shared/utils/types.d.ts +10 -10
- package/dist/shared/utils/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/resources/global/en/agents/default/ai-antipattern-reviewer.md +2 -2
- package/resources/global/en/agents/default/architecture-reviewer.md +3 -3
- package/resources/global/en/agents/default/supervisor.md +4 -4
- package/resources/global/en/config.yaml +4 -7
- package/resources/global/en/default-categories.yaml +5 -5
- package/resources/global/en/pieces/default.yaml +8 -8
- package/resources/global/en/pieces/expert-cqrs.yaml +7 -7
- package/resources/global/en/pieces/expert.yaml +8 -8
- package/resources/global/en/pieces/magi.yaml +5 -5
- package/resources/global/en/pieces/minimal.yaml +7 -7
- package/resources/global/en/pieces/research.yaml +12 -12
- package/resources/global/en/pieces/review-fix-minimal.yaml +7 -7
- package/resources/global/en/pieces/review-only.yaml +6 -6
- package/resources/global/en/prompts/interactive-summary.md +4 -4
- package/resources/global/en/prompts/interactive-system.md +13 -13
- package/resources/global/ja/agents/default/ai-antipattern-reviewer.md +2 -2
- package/resources/global/ja/agents/default/architecture-reviewer.md +7 -7
- package/resources/global/ja/agents/default/supervisor.md +4 -4
- package/resources/global/ja/config.yaml +4 -7
- package/resources/global/ja/default-categories.yaml +5 -5
- package/resources/global/ja/pieces/default.yaml +7 -7
- package/resources/global/ja/pieces/expert-cqrs.yaml +8 -8
- package/resources/global/ja/pieces/expert.yaml +7 -7
- package/resources/global/ja/pieces/magi.yaml +5 -5
- package/resources/global/ja/pieces/minimal.yaml +7 -7
- package/resources/global/ja/pieces/research.yaml +12 -12
- package/resources/global/ja/pieces/review-fix-minimal.yaml +7 -7
- package/resources/global/ja/pieces/review-only.yaml +6 -6
- package/resources/global/ja/prompts/interactive-summary.md +4 -4
- package/resources/global/ja/prompts/interactive-system.md +13 -13
- package/resources/project/tasks/TASK-FORMAT +2 -2
- package/dist/core/models/workflow-types.d.ts.map +0 -1
- package/dist/core/models/workflow-types.js +0 -5
- package/dist/core/models/workflow-types.js.map +0 -1
- package/dist/core/workflow/constants.d.ts.map +0 -1
- package/dist/core/workflow/constants.js.map +0 -1
- package/dist/core/workflow/engine/MovementExecutor.d.ts.map +0 -1
- package/dist/core/workflow/engine/MovementExecutor.js.map +0 -1
- package/dist/core/workflow/engine/OptionsBuilder.d.ts +0 -28
- package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +0 -1
- package/dist/core/workflow/engine/OptionsBuilder.js.map +0 -1
- package/dist/core/workflow/engine/ParallelRunner.d.ts.map +0 -1
- package/dist/core/workflow/engine/ParallelRunner.js.map +0 -1
- package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +0 -1
- package/dist/core/workflow/engine/WorkflowEngine.js.map +0 -1
- package/dist/core/workflow/engine/blocked-handler.d.ts.map +0 -1
- package/dist/core/workflow/engine/blocked-handler.js.map +0 -1
- package/dist/core/workflow/engine/index.d.ts.map +0 -1
- package/dist/core/workflow/engine/index.js +0 -10
- package/dist/core/workflow/engine/index.js.map +0 -1
- package/dist/core/workflow/engine/loop-detector.d.ts.map +0 -1
- package/dist/core/workflow/engine/loop-detector.js.map +0 -1
- package/dist/core/workflow/engine/parallel-logger.d.ts.map +0 -1
- package/dist/core/workflow/engine/parallel-logger.js.map +0 -1
- package/dist/core/workflow/engine/state-manager.d.ts +0 -46
- package/dist/core/workflow/engine/state-manager.d.ts.map +0 -1
- package/dist/core/workflow/engine/state-manager.js.map +0 -1
- package/dist/core/workflow/engine/transitions.d.ts.map +0 -1
- package/dist/core/workflow/engine/transitions.js.map +0 -1
- package/dist/core/workflow/evaluation/AggregateEvaluator.d.ts.map +0 -1
- package/dist/core/workflow/evaluation/AggregateEvaluator.js.map +0 -1
- package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +0 -1
- package/dist/core/workflow/evaluation/RuleEvaluator.js.map +0 -1
- package/dist/core/workflow/evaluation/index.d.ts.map +0 -1
- package/dist/core/workflow/evaluation/index.js.map +0 -1
- package/dist/core/workflow/evaluation/rule-utils.d.ts.map +0 -1
- package/dist/core/workflow/evaluation/rule-utils.js.map +0 -1
- package/dist/core/workflow/index.d.ts.map +0 -1
- package/dist/core/workflow/index.js.map +0 -1
- package/dist/core/workflow/instruction/InstructionBuilder.d.ts.map +0 -1
- package/dist/core/workflow/instruction/InstructionBuilder.js.map +0 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.d.ts.map +0 -1
- package/dist/core/workflow/instruction/ReportInstructionBuilder.js.map +0 -1
- package/dist/core/workflow/instruction/StatusJudgmentBuilder.d.ts.map +0 -1
- package/dist/core/workflow/instruction/StatusJudgmentBuilder.js.map +0 -1
- package/dist/core/workflow/instruction/escape.d.ts.map +0 -1
- package/dist/core/workflow/instruction/escape.js.map +0 -1
- package/dist/core/workflow/instruction/index.d.ts.map +0 -1
- package/dist/core/workflow/instruction/index.js.map +0 -1
- package/dist/core/workflow/instruction/instruction-context.d.ts.map +0 -1
- package/dist/core/workflow/instruction/instruction-context.js.map +0 -1
- package/dist/core/workflow/instruction/status-rules.d.ts.map +0 -1
- package/dist/core/workflow/instruction/status-rules.js.map +0 -1
- package/dist/core/workflow/parallel-logger.d.ts.map +0 -1
- package/dist/core/workflow/parallel-logger.js.map +0 -1
- package/dist/core/workflow/phase-runner.d.ts.map +0 -1
- package/dist/core/workflow/phase-runner.js.map +0 -1
- package/dist/core/workflow/types.d.ts.map +0 -1
- package/dist/core/workflow/types.js +0 -8
- package/dist/core/workflow/types.js.map +0 -1
- package/dist/features/config/switchWorkflow.d.ts +0 -9
- package/dist/features/config/switchWorkflow.d.ts.map +0 -1
- package/dist/features/config/switchWorkflow.js +0 -51
- package/dist/features/config/switchWorkflow.js.map +0 -1
- package/dist/features/tasks/execute/workflowExecution.d.ts +0 -11
- package/dist/features/tasks/execute/workflowExecution.d.ts.map +0 -1
- package/dist/features/tasks/execute/workflowExecution.js.map +0 -1
- package/dist/features/workflowSelection/index.d.ts +0 -55
- package/dist/features/workflowSelection/index.d.ts.map +0 -1
- package/dist/features/workflowSelection/index.js.map +0 -1
- package/dist/infra/config/global/workflowCategories.d.ts +0 -19
- package/dist/infra/config/global/workflowCategories.d.ts.map +0 -1
- package/dist/infra/config/global/workflowCategories.js.map +0 -1
- package/dist/infra/config/loaders/workflowCategories.d.ts +0 -43
- package/dist/infra/config/loaders/workflowCategories.d.ts.map +0 -1
- package/dist/infra/config/loaders/workflowCategories.js.map +0 -1
- package/dist/infra/config/loaders/workflowLoader.d.ts +0 -10
- package/dist/infra/config/loaders/workflowLoader.d.ts.map +0 -1
- package/dist/infra/config/loaders/workflowLoader.js +0 -12
- package/dist/infra/config/loaders/workflowLoader.js.map +0 -1
- package/dist/infra/config/loaders/workflowParser.d.ts +0 -18
- package/dist/infra/config/loaders/workflowParser.d.ts.map +0 -1
- package/dist/infra/config/loaders/workflowParser.js.map +0 -1
- package/dist/infra/config/loaders/workflowResolver.d.ts +0 -86
- package/dist/infra/config/loaders/workflowResolver.d.ts.map +0 -1
- package/dist/infra/config/loaders/workflowResolver.js +0 -248
- package/dist/infra/config/loaders/workflowResolver.js.map +0 -1
- /package/dist/core/{workflow → piece}/engine/parallel-logger.d.ts +0 -0
- /package/dist/core/{workflow → piece}/engine/parallel-logger.js +0 -0
- /package/dist/core/{workflow → piece}/evaluation/index.js +0 -0
- /package/dist/core/{workflow → piece}/evaluation/rule-utils.js +0 -0
- /package/dist/core/{workflow → piece}/instruction/StatusJudgmentBuilder.js +0 -0
- /package/dist/core/{workflow → piece}/instruction/escape.js +0 -0
- /package/dist/core/{workflow → piece}/instruction/index.d.ts +0 -0
- /package/dist/core/{workflow → piece}/instruction/index.js +0 -0
- /package/dist/core/{workflow → piece}/instruction/instruction-context.js +0 -0
- /package/dist/core/{workflow → piece}/parallel-logger.d.ts +0 -0
- /package/dist/core/{workflow → piece}/parallel-logger.js +0 -0
- /package/dist/core/{workflow → piece}/phase-runner.js +0 -0
package/README.md
CHANGED
|
@@ -4,22 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
**T**ask **A**gent **K**oordination **T**ool - A governance-first orchestrator for running coding agents safely and responsibly
|
|
6
6
|
|
|
7
|
-
TAKT coordinates AI agents like Claude Code and Codex according to your organization's rules and
|
|
7
|
+
TAKT coordinates AI agents like Claude Code and Codex according to your organization's rules and pieces. It clarifies who is responsible, what is permitted, and how to recover from failures, while automating complex development tasks.
|
|
8
8
|
|
|
9
9
|
TAKT is built with TAKT itself (dogfooding).
|
|
10
10
|
|
|
11
|
+
## Metaphor
|
|
12
|
+
|
|
13
|
+
TAKT uses a music metaphor to describe orchestration:
|
|
14
|
+
|
|
15
|
+
- **Piece**: A task execution definition (what to do and how agents coordinate)
|
|
16
|
+
- **Movement**: A step inside a piece (a single stage in the flow)
|
|
17
|
+
- **Orchestration**: The engine that coordinates agents across movements
|
|
18
|
+
|
|
19
|
+
You can read every term as standard workflow language (piece = workflow, movement = step), but the metaphor is used to keep the system conceptually consistent.
|
|
20
|
+
|
|
11
21
|
## TAKT is For Teams That Need
|
|
12
22
|
|
|
13
|
-
- **Want to integrate AI into CI/CD but fear runaway execution** — Clarify control scope with
|
|
23
|
+
- **Want to integrate AI into CI/CD but fear runaway execution** — Clarify control scope with piece definitions
|
|
14
24
|
- **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
|
|
25
|
+
- **Want to use multiple AI models but manage them uniformly** — Control Claude/Codex/Mock with the same piece
|
|
16
26
|
- **Want to reproduce and debug agent failures** — Maintain complete history with session logs and reports
|
|
17
27
|
|
|
18
28
|
## What TAKT is NOT
|
|
19
29
|
|
|
20
30
|
- **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
|
|
22
|
-
- **Not just a
|
|
31
|
+
- **Not competing with Claude Code Swarm** — While leveraging Swarm's execution power, TAKT provides "operational guardrails" such as piece definitions, permission controls, and audit logs
|
|
32
|
+
- **Not just a piece engine** — TAKT is designed to address AI-specific challenges (non-determinism, accountability, audit requirements, and reproducibility)
|
|
23
33
|
|
|
24
34
|
## Requirements
|
|
25
35
|
|
|
@@ -71,17 +81,17 @@ takt hello
|
|
|
71
81
|
**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.
|
|
72
82
|
|
|
73
83
|
**Flow:**
|
|
74
|
-
1. Select
|
|
84
|
+
1. Select piece
|
|
75
85
|
2. Refine task content through conversation with AI
|
|
76
86
|
3. Finalize task instructions with `/go` (you can also add additional instructions like `/go additional instructions`)
|
|
77
|
-
4. Execute (create worktree, run
|
|
87
|
+
4. Execute (create worktree, run piece, create PR)
|
|
78
88
|
|
|
79
89
|
#### Execution Example
|
|
80
90
|
|
|
81
91
|
```
|
|
82
92
|
$ takt
|
|
83
93
|
|
|
84
|
-
Select
|
|
94
|
+
Select piece:
|
|
85
95
|
❯ 🎼 default (current)
|
|
86
96
|
📁 Development/
|
|
87
97
|
📁 Research/
|
|
@@ -110,7 +120,7 @@ Proceed with these task instructions? (Y/n) y
|
|
|
110
120
|
|
|
111
121
|
? Create worktree? (Y/n) y
|
|
112
122
|
|
|
113
|
-
[
|
|
123
|
+
[Piece execution starts...]
|
|
114
124
|
```
|
|
115
125
|
|
|
116
126
|
### Direct Task Execution
|
|
@@ -124,8 +134,8 @@ takt "Add login feature"
|
|
|
124
134
|
# Specify task content with --task option
|
|
125
135
|
takt --task "Fix bug"
|
|
126
136
|
|
|
127
|
-
# Specify
|
|
128
|
-
takt "Add authentication" --
|
|
137
|
+
# Specify piece
|
|
138
|
+
takt "Add authentication" --piece expert
|
|
129
139
|
|
|
130
140
|
# Auto-create PR
|
|
131
141
|
takt "Fix bug" --auto-pr
|
|
@@ -140,8 +150,8 @@ You can execute GitHub Issues directly as tasks. Issue title, body, labels, and
|
|
|
140
150
|
takt #6
|
|
141
151
|
takt --issue 6
|
|
142
152
|
|
|
143
|
-
# Issue +
|
|
144
|
-
takt #6 --
|
|
153
|
+
# Issue + piece specification
|
|
154
|
+
takt #6 --piece expert
|
|
145
155
|
|
|
146
156
|
# Issue + auto-create PR
|
|
147
157
|
takt #6 --auto-pr
|
|
@@ -186,7 +196,7 @@ takt list
|
|
|
186
196
|
|
|
187
197
|
### Pipeline Mode (for CI/Automation)
|
|
188
198
|
|
|
189
|
-
Specifying `--pipeline` enables non-interactive pipeline mode. Automatically creates branch → runs
|
|
199
|
+
Specifying `--pipeline` enables non-interactive pipeline mode. Automatically creates branch → runs piece → commits & pushes. Suitable for CI/CD automation.
|
|
190
200
|
|
|
191
201
|
```bash
|
|
192
202
|
# Execute task in pipeline mode
|
|
@@ -198,13 +208,13 @@ takt --pipeline --task "Fix bug" --auto-pr
|
|
|
198
208
|
# Link issue information
|
|
199
209
|
takt --pipeline --issue 99 --auto-pr
|
|
200
210
|
|
|
201
|
-
# Specify
|
|
211
|
+
# Specify piece and branch
|
|
202
212
|
takt --pipeline --task "Fix bug" -w magi -b feat/fix-bug
|
|
203
213
|
|
|
204
214
|
# Specify repository (for PR creation)
|
|
205
215
|
takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
|
|
206
216
|
|
|
207
|
-
#
|
|
217
|
+
# Piece execution only (skip branch creation, commit, push)
|
|
208
218
|
takt --pipeline --task "Fix bug" --skip-git
|
|
209
219
|
|
|
210
220
|
# Minimal output mode (for CI)
|
|
@@ -218,10 +228,10 @@ In pipeline mode, PRs are not created unless `--auto-pr` is specified.
|
|
|
218
228
|
### Other Commands
|
|
219
229
|
|
|
220
230
|
```bash
|
|
221
|
-
# Interactively switch
|
|
231
|
+
# Interactively switch pieces
|
|
222
232
|
takt switch
|
|
223
233
|
|
|
224
|
-
# Copy builtin
|
|
234
|
+
# Copy builtin pieces/agents to ~/.takt/ for customization
|
|
225
235
|
takt eject
|
|
226
236
|
|
|
227
237
|
# Clear agent conversation sessions
|
|
@@ -231,13 +241,13 @@ takt clear
|
|
|
231
241
|
takt config
|
|
232
242
|
```
|
|
233
243
|
|
|
234
|
-
### Recommended
|
|
244
|
+
### Recommended Pieces
|
|
235
245
|
|
|
236
|
-
|
|
|
246
|
+
| Piece | Recommended Use |
|
|
237
247
|
|----------|-----------------|
|
|
238
248
|
| `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
|
|
240
|
-
| `review-fix-minimal` | Review & fix
|
|
249
|
+
| `minimal` | Simple fixes and straightforward tasks. Minimal piece with basic review. |
|
|
250
|
+
| `review-fix-minimal` | Review & fix piece. Specialized for iterative improvement based on review feedback. |
|
|
241
251
|
| `research` | Investigation and research. Autonomously executes research without asking questions. |
|
|
242
252
|
|
|
243
253
|
### Main Options
|
|
@@ -247,23 +257,23 @@ takt config
|
|
|
247
257
|
| `--pipeline` | **Enable pipeline (non-interactive) mode** — Required for CI/automation |
|
|
248
258
|
| `-t, --task <text>` | Task content (alternative to GitHub Issue) |
|
|
249
259
|
| `-i, --issue <N>` | GitHub issue number (same as `#N` in interactive mode) |
|
|
250
|
-
| `-w, --
|
|
260
|
+
| `-w, --piece <name or path>` | Piece name or path to piece YAML file |
|
|
251
261
|
| `-b, --branch <name>` | Specify branch name (auto-generated if omitted) |
|
|
252
262
|
| `--auto-pr` | Create PR (interactive: skip confirmation, pipeline: enable PR) |
|
|
253
|
-
| `--skip-git` | Skip branch creation, commit, and push (pipeline mode,
|
|
263
|
+
| `--skip-git` | Skip branch creation, commit, and push (pipeline mode, piece-only) |
|
|
254
264
|
| `--repo <owner/repo>` | Specify repository (for PR creation) |
|
|
255
265
|
| `--create-worktree <yes\|no>` | Skip worktree confirmation prompt |
|
|
256
266
|
| `-q, --quiet` | Minimal output mode: suppress AI output (for CI) |
|
|
257
267
|
| `--provider <name>` | Override agent provider (claude\|codex\|mock) |
|
|
258
268
|
| `--model <name>` | Override agent model |
|
|
259
269
|
|
|
260
|
-
##
|
|
270
|
+
## Pieces
|
|
261
271
|
|
|
262
|
-
TAKT uses YAML-based
|
|
272
|
+
TAKT uses YAML-based piece definitions and rule-based routing. Builtin pieces are embedded in the package, with user pieces in `~/.takt/pieces/` taking priority. Use `takt eject` to copy builtins to `~/.takt/` for customization.
|
|
263
273
|
|
|
264
|
-
> **Note (v0.4.0)**: Internal terminology has changed from "step" to "movement" for
|
|
274
|
+
> **Note (v0.4.0)**: Internal terminology has changed from "step" to "movement" for piece components. User-facing piece files remain compatible, but if you customize pieces, you may see `movements:` instead of `steps:` in YAML files. The functionality remains the same.
|
|
265
275
|
|
|
266
|
-
###
|
|
276
|
+
### Piece Example
|
|
267
277
|
|
|
268
278
|
```yaml
|
|
269
279
|
name: default
|
|
@@ -370,22 +380,22 @@ Execute sub-movements in parallel within a movement and evaluate with aggregate
|
|
|
370
380
|
| AI judge | `ai("condition text")` | AI evaluates condition against agent output |
|
|
371
381
|
| Aggregate | `all("X")` / `any("X")` | Aggregates parallel sub-movement matched conditions |
|
|
372
382
|
|
|
373
|
-
## Builtin
|
|
383
|
+
## Builtin Pieces
|
|
374
384
|
|
|
375
|
-
TAKT includes multiple builtin
|
|
385
|
+
TAKT includes multiple builtin pieces:
|
|
376
386
|
|
|
377
|
-
|
|
|
387
|
+
| Piece | Description |
|
|
378
388
|
|----------|-------------|
|
|
379
|
-
| `default` | Full development
|
|
380
|
-
| `minimal` | Quick
|
|
381
|
-
| `review-fix-minimal` | Review-focused
|
|
382
|
-
| `research` | Research
|
|
383
|
-
| `expert` | Full-stack development
|
|
384
|
-
| `expert-cqrs` | Full-stack development
|
|
389
|
+
| `default` | Full development piece: plan → architecture design → implement → AI review → parallel review (architect + security) → supervisor approval. Includes fix loops at each review stage. |
|
|
390
|
+
| `minimal` | Quick piece: plan → implement → review → supervisor. Minimal steps for fast iteration. |
|
|
391
|
+
| `review-fix-minimal` | Review-focused piece: review → fix → supervisor. For iterative improvement based on review feedback. |
|
|
392
|
+
| `research` | Research piece: planner → digger → supervisor. Autonomously executes research without asking questions. |
|
|
393
|
+
| `expert` | Full-stack development piece: architecture, frontend, security, QA reviews with fix loops. |
|
|
394
|
+
| `expert-cqrs` | Full-stack development piece (CQRS+ES specialized): CQRS+ES, frontend, security, QA reviews with fix loops. |
|
|
385
395
|
| `magi` | Deliberation system inspired by Evangelion. Three AI personas (MELCHIOR, BALTHASAR, CASPER) analyze and vote. |
|
|
386
|
-
| `review-only` | Read-only code review
|
|
396
|
+
| `review-only` | Read-only code review piece that makes no changes. |
|
|
387
397
|
|
|
388
|
-
Use `takt switch` to switch
|
|
398
|
+
Use `takt switch` to switch pieces.
|
|
389
399
|
|
|
390
400
|
## Builtin Agents
|
|
391
401
|
|
|
@@ -415,7 +425,7 @@ You are a code reviewer specialized in security.
|
|
|
415
425
|
|
|
416
426
|
## Model Selection
|
|
417
427
|
|
|
418
|
-
The `model` field (in
|
|
428
|
+
The `model` field (in piece movements, agent config, or global config) is passed directly to the provider (Claude Code CLI / Codex SDK). TAKT does not resolve model aliases.
|
|
419
429
|
|
|
420
430
|
### Claude Code
|
|
421
431
|
|
|
@@ -429,14 +439,14 @@ The model string is passed to the Codex SDK. If unspecified, defaults to `codex`
|
|
|
429
439
|
|
|
430
440
|
```
|
|
431
441
|
~/.takt/ # Global configuration directory
|
|
432
|
-
├── config.yaml # Global config (provider, model,
|
|
433
|
-
├──
|
|
442
|
+
├── config.yaml # Global config (provider, model, piece, etc.)
|
|
443
|
+
├── pieces/ # User piece definitions (override builtins)
|
|
434
444
|
│ └── custom.yaml
|
|
435
445
|
└── agents/ # User agent prompt files (.md)
|
|
436
446
|
└── my-agent.md
|
|
437
447
|
|
|
438
448
|
.takt/ # Project-level configuration
|
|
439
|
-
├── config.yaml # Project config (current
|
|
449
|
+
├── config.yaml # Project config (current piece, etc.)
|
|
440
450
|
├── tasks/ # Pending task files (.yaml, .md)
|
|
441
451
|
├── completed/ # Completed tasks and reports
|
|
442
452
|
├── reports/ # Execution reports (auto-generated)
|
|
@@ -444,7 +454,7 @@ The model string is passed to the Codex SDK. If unspecified, defaults to `codex`
|
|
|
444
454
|
└── logs/ # NDJSON format session logs
|
|
445
455
|
├── latest.json # Pointer to current/latest session
|
|
446
456
|
├── previous.json # Pointer to previous session
|
|
447
|
-
└── {sessionId}.jsonl # NDJSON session log per
|
|
457
|
+
└── {sessionId}.jsonl # NDJSON session log per piece execution
|
|
448
458
|
```
|
|
449
459
|
|
|
450
460
|
Builtin resources are embedded in the npm package (`dist/resources/`). User files in `~/.takt/` take priority.
|
|
@@ -456,7 +466,7 @@ Configure default provider and model in `~/.takt/config.yaml`:
|
|
|
456
466
|
```yaml
|
|
457
467
|
# ~/.takt/config.yaml
|
|
458
468
|
language: en
|
|
459
|
-
|
|
469
|
+
default_piece: default
|
|
460
470
|
log_level: info
|
|
461
471
|
provider: claude # Default provider: claude or codex
|
|
462
472
|
model: sonnet # Default model (optional)
|
|
@@ -466,9 +476,6 @@ model: sonnet # Default model (optional)
|
|
|
466
476
|
anthropic_api_key: sk-ant-... # For Claude (Anthropic)
|
|
467
477
|
# openai_api_key: sk-... # For Codex (OpenAI)
|
|
468
478
|
|
|
469
|
-
trusted_directories:
|
|
470
|
-
- /path/to/trusted/dir
|
|
471
|
-
|
|
472
479
|
# Pipeline execution configuration (optional)
|
|
473
480
|
# Customize branch names, commit messages, and PR body.
|
|
474
481
|
# pipeline:
|
|
@@ -480,6 +487,8 @@ trusted_directories:
|
|
|
480
487
|
# Closes #{issue}
|
|
481
488
|
```
|
|
482
489
|
|
|
490
|
+
**Note:** The Codex SDK requires running inside a Git repository. `--skip-git-repo-check` is only available in the Codex CLI.
|
|
491
|
+
|
|
483
492
|
**API Key Configuration Methods:**
|
|
484
493
|
|
|
485
494
|
1. **Set via environment variables**:
|
|
@@ -505,10 +514,10 @@ Priority: Environment variables > `config.yaml` settings
|
|
|
505
514
|
| `{title}` | Commit message | Issue title |
|
|
506
515
|
| `{issue}` | Commit message, PR body | Issue number |
|
|
507
516
|
| `{issue_body}` | PR body | Issue body |
|
|
508
|
-
| `{report}` | PR body |
|
|
517
|
+
| `{report}` | PR body | Piece execution report |
|
|
509
518
|
|
|
510
519
|
**Model Resolution Priority:**
|
|
511
|
-
1.
|
|
520
|
+
1. Piece movement `model` (highest priority)
|
|
512
521
|
2. Custom agent `model`
|
|
513
522
|
3. Global config `model`
|
|
514
523
|
4. Provider default (Claude: sonnet, Codex: codex)
|
|
@@ -519,14 +528,14 @@ Priority: Environment variables > `config.yaml` settings
|
|
|
519
528
|
|
|
520
529
|
TAKT supports batch processing with task files in `.takt/tasks/`. Both `.yaml`/`.yml` and `.md` file formats are supported.
|
|
521
530
|
|
|
522
|
-
**YAML format** (recommended, supports worktree/branch/
|
|
531
|
+
**YAML format** (recommended, supports worktree/branch/piece options):
|
|
523
532
|
|
|
524
533
|
```yaml
|
|
525
534
|
# .takt/tasks/add-auth.yaml
|
|
526
535
|
task: "Add authentication feature"
|
|
527
536
|
worktree: true # Execute in isolated shared clone
|
|
528
537
|
branch: "feat/add-auth" # Branch name (auto-generated if omitted)
|
|
529
|
-
|
|
538
|
+
piece: "default" # Piece specification (uses current if omitted)
|
|
530
539
|
```
|
|
531
540
|
|
|
532
541
|
**Markdown format** (simple, backward compatible):
|
|
@@ -561,25 +570,25 @@ TAKT writes session logs in NDJSON (`.jsonl`) format to `.takt/logs/`. Each reco
|
|
|
561
570
|
|
|
562
571
|
- `.takt/logs/latest.json` - Pointer to current (or latest) session
|
|
563
572
|
- `.takt/logs/previous.json` - Pointer to previous session
|
|
564
|
-
- `.takt/logs/{sessionId}.jsonl` - NDJSON session log per
|
|
573
|
+
- `.takt/logs/{sessionId}.jsonl` - NDJSON session log per piece execution
|
|
565
574
|
|
|
566
|
-
Record types: `
|
|
575
|
+
Record types: `piece_start`, `step_start`, `step_complete`, `piece_complete`, `piece_abort`
|
|
567
576
|
|
|
568
577
|
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.
|
|
569
578
|
|
|
570
|
-
### Adding Custom
|
|
579
|
+
### Adding Custom Pieces
|
|
571
580
|
|
|
572
|
-
Add YAML files to `~/.takt/
|
|
581
|
+
Add YAML files to `~/.takt/pieces/` or customize builtins with `takt eject`:
|
|
573
582
|
|
|
574
583
|
```bash
|
|
575
|
-
# Copy default
|
|
584
|
+
# Copy default piece to ~/.takt/pieces/ and edit
|
|
576
585
|
takt eject default
|
|
577
586
|
```
|
|
578
587
|
|
|
579
588
|
```yaml
|
|
580
|
-
# ~/.takt/
|
|
581
|
-
name: my-
|
|
582
|
-
description: Custom
|
|
589
|
+
# ~/.takt/pieces/my-piece.yaml
|
|
590
|
+
name: my-piece
|
|
591
|
+
description: Custom piece
|
|
583
592
|
max_iterations: 5
|
|
584
593
|
initial_movement: analyze
|
|
585
594
|
|
|
@@ -609,10 +618,10 @@ movements:
|
|
|
609
618
|
|
|
610
619
|
### Specifying Agents by Path
|
|
611
620
|
|
|
612
|
-
In
|
|
621
|
+
In piece definitions, specify agents using file paths:
|
|
613
622
|
|
|
614
623
|
```yaml
|
|
615
|
-
# Relative path from
|
|
624
|
+
# Relative path from piece file
|
|
616
625
|
agent: ../agents/default/coder.md
|
|
617
626
|
|
|
618
627
|
# Home directory
|
|
@@ -622,24 +631,24 @@ agent: ~/.takt/agents/default/coder.md
|
|
|
622
631
|
agent: /path/to/custom/agent.md
|
|
623
632
|
```
|
|
624
633
|
|
|
625
|
-
###
|
|
634
|
+
### Piece Variables
|
|
626
635
|
|
|
627
636
|
Variables available in `instruction_template`:
|
|
628
637
|
|
|
629
638
|
| Variable | Description |
|
|
630
639
|
|----------|-------------|
|
|
631
640
|
| `{task}` | Original user request (auto-injected if not in template) |
|
|
632
|
-
| `{iteration}` |
|
|
641
|
+
| `{iteration}` | Piece-wide turn count (total steps executed) |
|
|
633
642
|
| `{max_iterations}` | Maximum iteration count |
|
|
634
643
|
| `{movement_iteration}` | Per-movement iteration count (times this movement has been executed) |
|
|
635
644
|
| `{previous_response}` | Output from previous movement (auto-injected if not in template) |
|
|
636
|
-
| `{user_inputs}` | Additional user inputs during
|
|
645
|
+
| `{user_inputs}` | Additional user inputs during piece (auto-injected if not in template) |
|
|
637
646
|
| `{report_dir}` | Report directory path (e.g., `.takt/reports/20250126-143052-task-summary`) |
|
|
638
647
|
| `{report:filename}` | Expands to `{report_dir}/filename` (e.g., `{report:00-plan.md}`) |
|
|
639
648
|
|
|
640
|
-
###
|
|
649
|
+
### Piece Design
|
|
641
650
|
|
|
642
|
-
Elements needed for each
|
|
651
|
+
Elements needed for each piece movement:
|
|
643
652
|
|
|
644
653
|
**1. Agent** - Markdown file containing system prompt:
|
|
645
654
|
|
|
@@ -675,13 +684,13 @@ Special `next` values: `COMPLETE` (success), `ABORT` (failure)
|
|
|
675
684
|
## API Usage Example
|
|
676
685
|
|
|
677
686
|
```typescript
|
|
678
|
-
import {
|
|
687
|
+
import { PieceEngine, loadPiece } from 'takt'; // npm install takt
|
|
679
688
|
|
|
680
|
-
const config =
|
|
689
|
+
const config = loadPiece('default');
|
|
681
690
|
if (!config) {
|
|
682
|
-
throw new Error('
|
|
691
|
+
throw new Error('Piece not found');
|
|
683
692
|
}
|
|
684
|
-
const engine = new
|
|
693
|
+
const engine = new PieceEngine(config, process.cwd(), 'My task');
|
|
685
694
|
|
|
686
695
|
engine.on('step:complete', (step, response) => {
|
|
687
696
|
console.log(`${step.name}: ${response.status}`);
|
|
@@ -700,7 +709,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md) for details.
|
|
|
700
709
|
|
|
701
710
|
TAKT provides a GitHub Action for automating PR reviews and task execution. See [takt-action](https://github.com/nrslib/takt-action) for details.
|
|
702
711
|
|
|
703
|
-
**
|
|
712
|
+
**Piece example** (see [.github/workflows/takt-action.yml](../.github/workflows/takt-action.yml) in this repository):
|
|
704
713
|
|
|
705
714
|
```yaml
|
|
706
715
|
name: TAKT
|
|
@@ -755,7 +764,7 @@ export TAKT_OPENAI_API_KEY=sk-...
|
|
|
755
764
|
|
|
756
765
|
## Documentation
|
|
757
766
|
|
|
758
|
-
- [
|
|
767
|
+
- [Piece Guide](./docs/pieces.md) - Creating and customizing pieces
|
|
759
768
|
- [Agent Guide](./docs/agents.md) - Configuring custom agents
|
|
760
769
|
- [Changelog](../CHANGELOG.md) - Version history
|
|
761
770
|
- [Security Policy](../SECURITY.md) - Vulnerability reporting
|
package/bin/takt
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - npm exec takt
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { fileURLToPath } from 'node:url';
|
|
12
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
13
13
|
import { dirname, join } from 'node:path';
|
|
14
14
|
|
|
15
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -19,7 +19,8 @@ const __dirname = dirname(__filename);
|
|
|
19
19
|
const cliPath = join(__dirname, '..', 'dist', 'app', 'cli', 'index.js');
|
|
20
20
|
|
|
21
21
|
try {
|
|
22
|
-
|
|
22
|
+
const cliUrl = pathToFileURL(cliPath).href;
|
|
23
|
+
await import(cliUrl);
|
|
23
24
|
} catch (err) {
|
|
24
25
|
console.error('Failed to load TAKT CLI. Have you run "npm run build"?');
|
|
25
26
|
console.error(err.message);
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface RunAgentOptions {
|
|
|
16
16
|
allowedTools?: string[];
|
|
17
17
|
/** Maximum number of agentic turns */
|
|
18
18
|
maxTurns?: number;
|
|
19
|
-
/** Permission mode for tool execution (from
|
|
19
|
+
/** Permission mode for tool execution (from piece step) */
|
|
20
20
|
permissionMode?: PermissionMode;
|
|
21
21
|
onStream?: StreamCallback;
|
|
22
22
|
onPermissionRequest?: PermissionHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1G,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB"}
|
package/dist/app/cli/commands.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Registers all named subcommands (run, watch, add, list, switch, clear, eject, config, prompt).
|
|
5
5
|
*/
|
|
6
|
-
import { clearAgentSessions,
|
|
6
|
+
import { clearAgentSessions, getCurrentPiece } from '../../infra/config/index.js';
|
|
7
7
|
import { success } from '../../shared/ui/index.js';
|
|
8
8
|
import { runAllTasks, addTask, watchTasks, listTasks } from '../../features/tasks/index.js';
|
|
9
|
-
import {
|
|
9
|
+
import { switchPiece, switchConfig, ejectBuiltin } from '../../features/config/index.js';
|
|
10
10
|
import { previewPrompts } from '../../features/prompt/index.js';
|
|
11
11
|
import { program, resolvedCwd } from './program.js';
|
|
12
12
|
import { resolveAgentOverrides } from './helpers.js';
|
|
@@ -14,8 +14,8 @@ program
|
|
|
14
14
|
.command('run')
|
|
15
15
|
.description('Run all pending tasks from .takt/tasks/')
|
|
16
16
|
.action(async () => {
|
|
17
|
-
const
|
|
18
|
-
await runAllTasks(resolvedCwd,
|
|
17
|
+
const piece = getCurrentPiece(resolvedCwd);
|
|
18
|
+
await runAllTasks(resolvedCwd, piece, resolveAgentOverrides(program));
|
|
19
19
|
});
|
|
20
20
|
program
|
|
21
21
|
.command('watch')
|
|
@@ -38,10 +38,10 @@ program
|
|
|
38
38
|
});
|
|
39
39
|
program
|
|
40
40
|
.command('switch')
|
|
41
|
-
.description('Switch
|
|
42
|
-
.argument('[
|
|
43
|
-
.action(async (
|
|
44
|
-
await
|
|
41
|
+
.description('Switch piece interactively')
|
|
42
|
+
.argument('[piece]', 'Piece name')
|
|
43
|
+
.action(async (piece) => {
|
|
44
|
+
await switchPiece(resolvedCwd, piece);
|
|
45
45
|
});
|
|
46
46
|
program
|
|
47
47
|
.command('clear')
|
|
@@ -52,7 +52,7 @@ program
|
|
|
52
52
|
});
|
|
53
53
|
program
|
|
54
54
|
.command('eject')
|
|
55
|
-
.description('Copy builtin
|
|
55
|
+
.description('Copy builtin piece/agents to ~/.takt/ for customization')
|
|
56
56
|
.argument('[name]', 'Specific builtin to eject')
|
|
57
57
|
.action(async (name) => {
|
|
58
58
|
await ejectBuiltin(name);
|
|
@@ -67,8 +67,8 @@ program
|
|
|
67
67
|
program
|
|
68
68
|
.command('prompt')
|
|
69
69
|
.description('Preview assembled prompts for each movement and phase')
|
|
70
|
-
.argument('[
|
|
71
|
-
.action(async (
|
|
72
|
-
await previewPrompts(resolvedCwd,
|
|
70
|
+
.argument('[piece]', 'Piece name or path (defaults to current)')
|
|
71
|
+
.action(async (piece) => {
|
|
72
|
+
await previewPrompts(resolvedCwd, piece);
|
|
73
73
|
});
|
|
74
74
|
//# sourceMappingURL=commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/app/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/app/cli/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/app/cli/program.js
CHANGED
|
@@ -27,7 +27,7 @@ program
|
|
|
27
27
|
// --- Global options ---
|
|
28
28
|
program
|
|
29
29
|
.option('-i, --issue <number>', 'GitHub issue number (equivalent to #N)', (val) => parseInt(val, 10))
|
|
30
|
-
.option('-w, --
|
|
30
|
+
.option('-w, --piece <name>', 'Piece name or path to piece file')
|
|
31
31
|
.option('-b, --branch <name>', 'Branch name (auto-generated if omitted)')
|
|
32
32
|
.option('--auto-pr', 'Create PR after successful execution')
|
|
33
33
|
.option('--repo <owner/repo>', 'Repository (defaults to current)')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/app/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE/F,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAwB,CAAC;AAExF,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC;AAE5B,2EAA2E;AAC3E,MAAM,CAAC,IAAI,YAAY,GAAG,KAAK,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,oCAAoC,CAAC;KACjD,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvB,yBAAyB;AACzB,OAAO;KACJ,MAAM,CAAC,sBAAsB,EAAE,wCAAwC,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KAC5G,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/app/cli/program.ts"],"names":[],"mappings":"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"}
|
package/dist/app/cli/routing.js
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
import { info, error } from '../../shared/ui/index.js';
|
|
8
8
|
import { getErrorMessage } from '../../shared/utils/index.js';
|
|
9
9
|
import { resolveIssueTask, isIssueReference } from '../../infra/github/index.js';
|
|
10
|
-
import { selectAndExecuteTask,
|
|
10
|
+
import { selectAndExecuteTask, determinePiece } from '../../features/tasks/index.js';
|
|
11
11
|
import { executePipeline } from '../../features/pipeline/index.js';
|
|
12
12
|
import { interactiveMode } from '../../features/interactive/index.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
13
|
+
import { getPieceDescription } from '../../infra/config/index.js';
|
|
14
|
+
import { DEFAULT_PIECE_NAME } from '../../shared/constants.js';
|
|
15
15
|
import { program, resolvedCwd, pipelineMode } from './program.js';
|
|
16
16
|
import { resolveAgentOverrides, parseCreateWorktreeOption, isDirectTask } from './helpers.js';
|
|
17
17
|
program
|
|
@@ -23,7 +23,7 @@ program
|
|
|
23
23
|
const selectOptions = {
|
|
24
24
|
autoPr: opts.autoPr === true,
|
|
25
25
|
repo: opts.repo,
|
|
26
|
-
|
|
26
|
+
piece: opts.piece,
|
|
27
27
|
createWorktree: createWorktreeOverride,
|
|
28
28
|
};
|
|
29
29
|
// --- Pipeline mode (non-interactive): triggered by --pipeline ---
|
|
@@ -31,7 +31,7 @@ program
|
|
|
31
31
|
const exitCode = await executePipeline({
|
|
32
32
|
issueNumber: opts.issue,
|
|
33
33
|
task: opts.task,
|
|
34
|
-
|
|
34
|
+
piece: opts.piece ?? DEFAULT_PIECE_NAME,
|
|
35
35
|
branch: opts.branch,
|
|
36
36
|
autoPr: opts.autoPr === true,
|
|
37
37
|
repo: opts.repo,
|
|
@@ -81,18 +81,18 @@ program
|
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
// Short single word or no task → interactive mode (with optional initial input)
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
84
|
+
const pieceId = await determinePiece(resolvedCwd, selectOptions.piece);
|
|
85
|
+
if (pieceId === null) {
|
|
86
86
|
info('Cancelled');
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
|
-
const
|
|
90
|
-
const result = await interactiveMode(resolvedCwd, task,
|
|
89
|
+
const pieceContext = getPieceDescription(pieceId, resolvedCwd);
|
|
90
|
+
const result = await interactiveMode(resolvedCwd, task, pieceContext);
|
|
91
91
|
if (!result.confirmed) {
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
94
|
selectOptions.interactiveUserInput = true;
|
|
95
|
-
selectOptions.
|
|
95
|
+
selectOptions.piece = pieceId;
|
|
96
96
|
selectOptions.interactiveMetadata = { confirmed: result.confirmed, task: result.task };
|
|
97
97
|
await selectAndExecuteTask(resolvedCwd, result.task, selectOptions, agentOverrides);
|
|
98
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/app/cli/routing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/app/cli/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { TaktConfigSchema } from './schemas.js';
|
|
|
2
2
|
export { TaktConfigSchema };
|
|
3
3
|
export const DEFAULT_CONFIG = {
|
|
4
4
|
defaultModel: 'sonnet',
|
|
5
|
-
|
|
5
|
+
defaultPiece: 'default',
|
|
6
6
|
agentDirs: [],
|
|
7
|
-
|
|
7
|
+
pieceDirs: [],
|
|
8
8
|
claude: {
|
|
9
9
|
command: 'claude',
|
|
10
10
|
timeout: 300000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/models/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAI5B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,YAAY,EAAE,QAAQ;IACtB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/models/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAI5B,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,MAAM;KAChB;CACF,CAAC"}
|