takt
nrslib · nrslib/takt
Một CLI sử dụng YAML để xác định các quy trình làm việc nhiều bước có thể lặp lại cho các AI agent lập trình trong môi trường biệt lập.
TAKT Agent Koordination Topology - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML
Xem trước
Bạn có thể làm gì với nó
- Tạo một vòng lặp Lập kế hoạch-Triển khai-Đánh giá có thể lặp lại cho các quá trình phát triển tính năng lớn.
- Xác định các persona và quyền hạn cụ thể cho từng bước của một nhiệm vụ lập trình phức tạp.
- Chạy các tác vụ AI trong các worktree biệt lập để đảm bảo sự ổn định của môi trường cục bộ.
Kiểm tra an toàn
Dùng được, nhưng nên đọc ghi chú trước.
- ●Gói npm tự chạy script khi cài đặt.
package.json
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
TAKT
English | 日本語 | 简体中文
Stop babysitting AI coding agents.
TAKT is an open-source CLI that turns AI coding agents into repeatable development workflows. Define planning, implementation, review, fix loops, human checkpoints, permissions, and output contracts in YAML, then run tasks with isolated worktrees and traceable logs.
Instead of asking one agent to remember the whole process, TAKT gives each step its own role, context, and transition rules. Agents can code, but the workflow decides what happens next.
- Run plan → implement → review → fix loops as explicit workflow steps
- Keep context focused with step-specific personas, policies, knowledge, instructions, and output contracts
- Execute queued tasks in isolated worktrees and inspect logs and reports afterward
- Use Claude Code, Claude SDK, Codex SDK, OpenCode SDK, Pi SDK, the official DeepSeek Harness SDK, Cursor, GitHub Copilot CLI, or Kiro as providers
TAKT Agent Koordination Topology orchestrates multiple AI agents with review loops, managed prompts, and per-step permissions.
Talk to AI to define what you want, queue it as a task, and run it with takt run. Planning, implementation, review, and fix loops are defined in YAML workflow files, so the process is not left to the agent's discretion. TAKT coordinates Claude Code, Codex, OpenCode, Pi, the official DeepSeek Harness SDK, Cursor, GitHub Copilot CLI, and Kiro CLI as agents with different roles, permissions, and context.
TAKT is built primarily for AI coding workflows, but the same model applies beyond coding: any task where multiple AI agents need to coordinate, or where review, judgment, and feedback loops can improve task quality.
TAKT is built with TAKT itself (dogfooding).
Why TAKT
AI coding agents do not automatically create a stable development process. In long-running work, they forget instructions, accumulate polluted context, blur implementation and review responsibilities, and often force humans to repeat the same feedback again and again.
Adding more rules to prompts, CLAUDE.md, or skills can help, but it cannot enforce the process. Whether the rules are followed is still left to the agent's behavior.
TAKT treats AI agents as something to be controlled from the outside, not simply trusted.
Workflows define the phases, and each step receives its own persona, policy, knowledge, instruction, and output contract. TAKT manages implementation, review, fix, and re-review flows declaratively. By separating responsibilities, knowledge, and constraints, then giving each agent only what it needs for the current step, TAKT improves task quality without bloating context.
Reviews cannot be silently skipped. Findings route work back to fix steps, and human judgment can be requested when needed. Tasks run in isolated worktrees, and each step leaves logs and reports so the path from task to PR remains traceable.
TAKT runs all of this as a reusable agent process built from roles, phases, judgments, and feedback loops, so the development process stays reviewable and reproducible without constant human intervention.
Try It in 5 Minutes
From a Git repository with at least one commit:
npm install -g takt
# Install the SDK for the default provider (claude-sdk)
takt install claude-sdk
# Talk to AI, describe a task, use /go, then choose "Save as Task"
takt
# Execute queued tasks in isolated worktrees
takt run
# Review diffs, merge, retry, requeue, or delete task branches
takt list
If this is your first run, configure a provider in ~/.takt/config.yaml or use the API key environment variables listed in Configuration. SDK-based providers (claude-sdk, codex, opencode, pi, and deepseek-harness) run with Node.js; run takt install once before using one. CLI-based providers require their external CLIs.
CodeRabbit Review Loop
On GitHub, run takt caccia to wait for CodeRabbit reviews, handle unresolved bot threads in isolated clones, and keep a decision report for each iteration. Merge workflows call the loop through an explicit caccia effect. caccia.enabled controls whether that effect waits for CodeRabbit and defaults to false. Push and PR publication do not start Caccia implicitly. See the CLI reference and configuration guide.
Video Tutorial
Follow the written tutorial with these hands-on walkthroughs:
| Chapter 1 | Chapter 2 |
|---|---|
TAKT vs Plain AI Coding Agents
| Plain AI coding agents | TAKT |
|---|---|
| The prompt asks the agent to follow a process | The YAML workflow owns the process |
| Review steps can be forgotten or skipped | Review and fix loops are explicit transitions |
| One long context keeps growing | Each step receives only the context it needs |
| Implementation and review responsibilities blur | Personas, permissions, and output contracts separate responsibilities |
| Work often lands directly in the current tree | Queued tasks run in isolated worktrees by default |
| The path from task to result is hard to audit | Logs and reports preserve the path from task to PR |
| The same process must be recreated by memory | Workflows are reusable, reviewable, and versionable |
Requirements
TAKT requires Node.js >=22.22.0.
The provider you choose determines whether you need to install an external CLI or can run on Node.js alone via a TypeScript SDK.
The default provider is claude-sdk (Claude Agent SDK). claude is an alias for claude-sdk.
To continue using the Claude Code CLI, select claude-headless in your provider configuration or pass --provider claude-headless. Move any provider permission profile to the selected provider name; the default is now claude-sdk, so an old provider_profiles.claude setting may no longer apply. Existing