CLIツール
nrslib/takt avatar
nrslib/takt

TAKTでAIコーディング作業をYAMLの工程に固定する

TAKT エージェント調整トポロジ - AI エージェントがどのように調整するか、人間が介入する場所、および何が記録されるかを YAML で定義します。

スター 1,341フォーク 99TypeScriptMIT
GitHub

ひと目でわかる

これは何?
AIコーディングエージェントの計画、実装、レビュー、修正、人間確認、権限、成果物契約をYAMLで定義するTypeScript製CLIです。
誰に向いている?
TAKTは、AIエージェントに毎回同じレビュー工程を守らせたい開発チームに向きます。Gitリポジトリにコミットを用意し、Node.js 22.22.0以上で`npm install -g takt`、対話で`/go`とQueue as task、`takt run`、`takt list`を試してください。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 2 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

プロンプトではなく工程が次を決める

TAKTはAIコーディングエージェントを再利用可能な開発ワークフローへ変えるオープンソースCLIです。READMEは計画、実装、レビュー、修正ループ、人間のチェックポイント、権限、出力契約をYAMLに定義し、タスクを隔離worktreeで実行してログとレポートを残すと説明します。

一つのエージェントに全工程を覚えさせるのではなく、各ステップに役割、コンテキスト、遷移ルールを割り当てます。レビューを忘れた場合に人が再指示する構成から、指摘がfixへ戻る遷移を記録する構成へ変えるのが中心です。

Gitリポジトリにコミットを一つ用意し、`~/.takt/config.yaml`と選択したプロバイダーの設定を別管理します。

nrslib-takt-deep-analysisの第1章を確認するときは、実行前の版と設定を保存し、成功した結果だけでなく失敗した入力も残します。READMEの説明、端末の出力、生成物の差分を別々に記録することで、機能の存在と自分の環境での再現性を区別できます。

personaとpolicyをステップ単位で分ける

各ステップは固有のpersona、policy、knowledge、instruction、output contractを受け取ります。実装担当とレビュー担当の責任を分離し、必要な情報だけを渡すことで、長い会話のコンテキストが膨らむことを抑える設計です。

READMEはレビューで発見があればfixと再レビューへ進み、人間の判断が必要ならチェックポイントを要求できるとしています。YAMLがどの成果物を必須とするか、レビューの終了条件が何かを小さなタスクで確認し、エージェントの返答だけを成功条件にしない運用が必要です。

Queue as taskの前後でタスク一覧、作成されたworktree、現在のブランチを確認し、作業ツリーへの直接変更を調べます。

nrslib-takt-deep-analysisの第2章を確認するときは、実行前の版と設定を保存し、成功した結果だけでなく失敗した入力も残します。READMEの説明、端末の出力、生成物の差分を別々に記録することで、機能の存在と自分の環境での再現性を区別できます。

takt runとworktreeの境界

基本手順はGitリポジトリで`npm install -g takt`、`takt`を起動してAIに作業を説明し`/go`からQueue as taskを選び、`takt run`でキューを実行、`takt list`で差分やタスクを確認する流れです。リポジトリには少なくとも一つのコミットが必要です。

タスクは既定で隔離worktreeで走り、現在のツリーへ直接変更を置かない構成です。レビュー、マージ、再試行、再キュー、タスクブランチの削除を`list`から扱えるとREADMEにあります。実行前後のブランチ、差分、ログ、レポートを保存し、どの成果物が採用されたかを追えるようにします。

レビュー担当へ渡るYAMLのknowledgeとoutput contractを変え、ログに必要なコンテキストだけが出るかを比較します。

nrslib-takt-deep-analysisの第3章を確認するときは、実行前の版と設定を保存し、成功した結果だけでなく失敗した入力も残します。READMEの説明、端末の出力、生成物の差分を別々に記録することで、機能の存在と自分の環境での再現性を区別できます。

プロバイダーの選択が前提を変える

TAKTはClaude Code、Claude SDK、Codex SDK、OpenCode SDK、Pi SDK、公式DeepSeek Harness SDK、Cursor、GitHub Copilot CLI、Kiroなどをプロバイダーとして扱います。SDK型はNode.jsで動く一方、CLI型は外部CLIが必要です。deepseek-harnessはPython 3.10以上と対応ランタイムも要求します。

Node.jsの要件は`>=22.22.0`です。DeepSeekのランタイムは対応OSが限定され、WindowsとmacOS x64では失敗するとREADMEにあります。プロバイダーを変えれば必要なCLI、環境変数、OSが変わるため、`~/.takt/config.yaml`、APIキー、実行ログをプロバイダー別に確認します。

レビュー指摘を一つ発生させ、fixと再レビューへ遷移する条件、差分、レポートの順序を保存します。

nrslib-takt-deep-analysisの第4章を確認するときは、実行前の版と設定を保存し、成功した結果だけでなく失敗した入力も残します。READMEの説明、端末の出力、生成物の差分を別々に記録することで、機能の存在と自分の環境での再現性を区別できます。

再現性と人間の責任を測る

TAKTはAIエージェントを外側から制御する考え方を示しますが、ワークフロー品質や変更内容を自動で保証する製品だとはREADMEから断定できません。Dogfoodingの記載やチュートリアルへのリンクはありますが、チーム規模別の性能基準は示されていません。

ライセンス、CI、プロバイダー契約、秘密情報の扱いを別々に確認します。最初の検証では一つのissue、固定したYAML、作成されたworktree、レビュー指摘、fix後のdiffを保存し、`takt list`の状態と一致するかを見ます。人間がマージを判断する境界を残すことが、TAKTの機能を正しく評価する条件です。

Node.js 22.22.0以上を確認し、CLI型とSDK型で必要な外部コマンド、Python 3.10以上の有無、OS条件を分けます。

nrslib-takt-deep-analysisの第5章を確認するときは、実行前の版と設定を保存し、成功した結果だけでなく失敗した入力も残します。READMEの説明、端末の出力、生成物の差分を別々に記録することで、機能の存在と自分の環境での再現性を区別できます。

編集部の結論

TAKTは、AIエージェントに毎回同じレビュー工程を守らせたい開発チームに向きます。Gitリポジトリにコミットを用意し、Node.js 22.22.0以上で`npm install -g takt`、対話で`/go`とQueue as task、`takt run`、`takt list`を試してください。YAMLのpersona、policy、permissions、output contractが実際のログとworktreeに反映され、レビュー指摘がfixへ戻るかを確認してから、チーム標準へ広げます。

公式情報源

  1. Official README
  2. Project repository
コミュニティノート

コミュニティノート