0.1.0
リリース日未定
0.1.0 は CodeDAG の最初の公開バージョンで、パブリックベータの期間中は誰でも登録して利用できます。すでに Claude Code や Codex でコードを書いている開発者を対象にしており、手順が多くて時間がかかり、ターミナルの前にずっと張り付いていたくはない開発タスクを、ワークフローに書いて任せるのに向いています。タスクは自分のコンピューターで実行され、インストールとログインが済んでいるエージェントが呼び出されます。CodeDAG を初めて知る場合は、まず概要を読んでください。
主な機能
オーケストレーション
ひとまとまりの開発タスクをワークフローファイルに書いて投入すると、CodeDAG がタスク間の依存関係に従ってタスクを起動します。タスクは、依存するタスクが完了して承認されてから始まり、互いに依存しないタスクは同時に実行できます。ワークフローファイルは YAML または JSON で書き、プロジェクトの .codedag/dags/ ディレクトリに置きます。各タスクには、エージェントに渡すプロンプトを書き、依存するタスクを dependencies に並べます。書き方はワークフローファイルを書くを参照してください。
cdg dag validate は、投入の前にファイルの構造、依存関係、フィールドをチェックします。cdg dag submit はワークフローをプロジェクトのキューに入れるコマンドで、一度に複数のワークフローを投入できます。同じプロジェクトのワークフローは投入した順に 1 つずつ実行され、前のワークフローが終了すると次が自動的に始まります。そのため、席を離れる前にいくつも並べておけます。キューのルールは投入とキューを参照してください。ワークフローはバックグラウンドで実行され、ターミナルを閉じても影響はありません。今のターミナルで進捗とログを追いたい場合は、投入時に --attach を付けます。
分離とマージ
デフォルトの分離ブランチモードでは、各タスクがそれぞれのタスクブランチで実行されます。結果は CodeDAG が順にマージし、最後にそのワークフロー専用の統合ブランチにまとめます。メインブランチが変更されることはありません。下流のタスクが始まる前に、CodeDAG はまず承認済みの上流の結果をそのタスクのブランチにマージします。マージでコンフリクトが起きた場合は、エージェントに解決を任せ、解決できなければ、タスクは止まって対処を待ちます。統合ブランチの名前は cdg/<ワークフロー名>/integration で、結果がここにマージされるのは、すべてのタスクのレビューが終わってからです。メインブランチにいつマージするか、直接マージするかプルリクエストを作成するかは、自分で決めて自分で操作します。方法は仕上げ、マージ、クリーンアップを参照してください。
どのタスクの変更にも、いざというときの備えがあります。タスクをキャンセルする、見送る、やり直すときには、それまでの変更がデフォルトでスナップショットブランチに保存され、あとから取り出せます。
タスクを同時に実行するには、追加のワークスペースとして、worktree または clone のレプリカをプロジェクトに用意する必要があります。同時に実行されるタスクは、それぞれワークスペースを 1 つ使います。詳しくは並列実行とワークスペースを参照してください。ブランチとワークスペースの関係は、ワークスペースとブランチで説明しています。
ドキュメントの作成、翻訳、調査のように、コンパイルもテストの実行もしない軽いタスクでは、ワークフローファイルの executionMode を shared-workspace にして、共有ワークスペースモードに切り替えられます。このモードでは、すべてのタスクが同じワークスペースで実行され、ブランチの作成も、マージも、コミットの作成も行われません。
レビューゲート
タスクが完了しても、結果は承認されるまで下流に渡されません。デフォルトでは自動承認されるため、ワークフローは途中で止まらず、最後まで実行されます。任意のタスク、またはワークフロー全体で自動承認をオフにして、そこで実行を止め、レビューを待たせることもできます。自動承認を制御するフィールドは 3 つあります。タスクの autoAccepted、ワークフロー内のすべてのタスクに適用される taskAutoAccepted、ワークフロー自体に対する dagAutoAccepted です。none にすると、止まって人を待ちます。投入時に --task-auto-accepted と --dag-auto-accepted で一時的に上書きすることもできます。どのノードで止めて人がレビューする価値があるかは、ゲートを閉じる価値があるノードを参照してください。
レビューアクションは 2 種類に分かれます。accept、cancel、defer は最終的な結論を出すもので、それぞれ承認、キャンセル、見送りです。revise、request-changes、rework はタスクに修正を続けさせるもので、それぞれ、自分で修正する、今ある結果の続きからエージェントに修正させる、タスク開始前のクリーンベースラインに戻ってやり直す、という意味です。タスクは cdg task review で、ワークフロー全体は cdg dag review でレビューします。後者で使えるのは、3 つの最終アクションだけです。使い方はタスクとワークフローをレビューするを参照してください。
監視と制御
投入したあとは、プロジェクト、ワークフロー、タスクの 3 つの階層で進捗を確認でき、実行の一時停止、強制停止、復旧もいつでもできます。cdg status はプロジェクトのキューを、cdg dag status はワークフロー内の各タスクのステータスを、cdg task status は個々のタスクの詳細を表示します。3 つとも、--watch を付けると表示が更新され続けます。cdg dag logs と cdg task logs では、実行ログを見返せます。-f を付けるとログを追い続け、-n を付けると末尾の数行だけを表示します。使い方は投入、監視、ログを参照してください。
cdg task view を使うと、タスクエージェントのネイティブセッションに入れます。エージェントが今何をしているかを見られるほか、直接やり取りして方向を修正したり、許可リクエストに応答したりできます。pause、unpause、kill、recover は、ワークフローとタスクのどちらの階層でも使えます。エージェントが実行しているタスクに対する kill は、現在の出力を中断するだけで、セッションは残ります。そのあとで recover を実行すると、同じセッションで続きから作業します。それぞれの操作がどんな状況に向いているかは、介入と制御を参照してください。
CodeDAG だけでは対処できない状況になると、タスクまたはワークフローは on-hold(保留)になり、理由が表示されます。たとえば、ワークスペースに未コミットの変更がある、マージコンフリクトを解決できなかった、ワークフローの実行を始める順番が来たときに CodeDAG クレジットが足りない、といった場合です。対処が済んだら、recover で復旧します。理由ごとの対処方法は、タスクまたはワークフローが on-hold で止まっているを参照してください。
エージェントとの連携
どのタスクも Claude Code または Codex に任せられ、エージェント、権限モード、モデル、推論エフォートをタスクごとに指定できます。agent には claude または codex を書き、省略した場合はプロジェクトのデフォルトのエージェントが使われます。mode には、選んだエージェント自身の権限モードの書き方で値を指定します。これによって、タスクエージェントが、ユーザーの許可なしにコマンドを実行したりファイルを変更したりできるかどうかが決まります。model と effort は、そのままエージェントに渡されます。無人実行と有人実行のそれぞれでどう設定すればよいかは、エージェント、モデル、権限モードを選ぶを参照してください。
1 つのワークフローの中で、2 つのエージェントを組み合わせて使うこともできます。たとえば、Claude Code に実装させて Codex にレビューさせる、両方にそれぞれ案を書かせてから 1 つにまとめる、といった使い方です。マージコンフリクトの解決をどちらのエージェントに任せるかは、mergeConflictAgent で指定できます。よくある分担のしかたは、Claude Code と Codex を組み合わせるを参照してください。
CodeDAG Guide プラグイン
CodeDAG Guide プラグインは、Claude Code と Codex に cdg の使い方を教えます。インストールしたあとは、目標を自然言語で伝えると、エージェントがタスクを分割し、ワークフローを書いて投入し、進捗を追跡します。方法はエージェントにオーケストレーションを任せるを参照してください。プラグインは cdg init の実行時にあわせてインストールできます。そのあとは、cdg plugin の install、status、update、uninstall で、インストール、状態の確認、更新、アンインストールができます。詳しくは CodeDAG Guide プラグインを管理するを参照してください。
既知の制限
0.1.0 では、まだ次のことができません。このうち、条件分岐とループ、実行途中でのタスクの追加・削除、GUI については、回避策を CodeDAG の現在の制限で説明しています。
- 条件分岐とループがなく、実行中にタスクを追加・削除することもできない。 ワークフローの構造は投入時に確定し、実行には投入した時点のファイルの内容が使われます。
- タスクのタイムアウトがない。 長時間進展のないタスクが自動で止められることはありません。止まったままになっているかどうかは、ステータスとログから自分で判断する必要があります。見分け方は止まったままかどうかを見分けるにはを参照してください。
- GUI がない。 ワークフローとタスクのステータスとログは、どちらもコマンドラインで確認します。
- 対応しているエージェントは Claude Code と Codex の 2 つだけ。
- ログインに使えるのは Google アカウントだけで、ブラウザーも必要。 ログインは、CodeDAG を実行するコンピューター上のブラウザーで完了させる必要があります。デスクトップのブラウザーがない環境では、現時点ではログインできず、そのためプロジェクトの初期化もワークフローの投入もできません。詳しくはデスクトップのブラウザーがない場合を参照してください。こうした環境への対応は、今後のバージョンの計画に入っています。
- クレジット追加パックがない。 無料クレジットを使い切るか、有効期限が切れたあとは、サブスクリプションに登録しないとワークフローを投入できません。サブスクリプションのクレジットは毎月リセットされ、その月の分を使い切った場合は、次のリセットを待つ必要があります。詳しくはクレジット、サブスクリプション、課金を参照してください。
- パブリックベータの期間中は、Windows に対応していない。
対応プラットフォームとインストール
0.1.0 は macOS と Linux に対応しています。Apple シリコン搭載の Mac と Intel 搭載の Mac、x64 と arm64 の Linux のそれぞれに対応するビルドがあり、インストールとアップグレードはいずれも Homebrew で行います。CodeDAG は単体のバイナリとして配布されるため、Node.js をインストールする必要はありません。
CodeDAG 本体のほかに、Git と、Claude Code または Codex の少なくとも一方が必要です。Claude Code は 2.1.196 以降が必要で、0.1.0 で動作を確認した最新バージョンは 2.1.292 です。インストール、ログイン、アップグレードの手順は、インストールとログインを参照してください。
フィードバック
0.1.0 を使っていて問題が起きた場合や、改善の提案がある場合は、メールで hi@codedag.com までお知らせいただくか、GitHub Issues に投稿してください。問題を報告する前に、まずトラブルシューティングで症状から調べてみてください。サポートを求めるときに添える情報は、サポートを受けるための情報を集めるを参照してください。
最終更新