- expert/expert-mini/expert-cqrs/expert-cqrs-mini を dual 系にリネーム (「フルスタック」→「フロントエンド+バックエンド」に説明も修正) - expert-supervisor ペルソナを dual-supervisor にリネーム - passthrough, structural-reform ピースを削除 - default-mini, default-test-first-mini を default に統合 - coding-pitfalls ナレッジの主要項目を coding ポリシーに移動し削除 - implement/plan インストラクションにセルフチェック・コーダー指針を追加 - builtin カタログに不足していた terraform, takt-default 系を追加 - deep-research をカテゴリに追加
6.6 KiB
CI/CD 連携
TAKT は CI/CD パイプラインに統合して、タスク実行、PR レビュー、コード生成を自動化できます。このガイドでは GitHub Actions のセットアップ、pipeline モードのオプション、その他の CI システムでの設定について説明します。
GitHub Actions
TAKT は GitHub Actions 連携用の公式アクション takt-action を提供しています。
完全なワークフロー例
name: TAKT
on:
issue_comment:
types: [created]
jobs:
takt:
if: contains(github.event.comment.body, '@takt')
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run TAKT
uses: nrslib/takt-action@main
with:
anthropic_api_key: ${{ secrets.TAKT_ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
パーミッション
takt-action が正しく機能するには次のパーミッションが必要です。
| パーミッション | 用途 |
|---|---|
contents: write |
ブランチの作成、コミット、コードのプッシュ |
issues: write |
Issue の読み取りとコメント |
pull-requests: write |
PR の作成と更新 |
Pipeline モード
--pipeline を指定すると、非インタラクティブな pipeline モードが有効になります。ブランチの作成、piece の実行、コミット、プッシュを自動的に行います。このモードは人的操作が不可能な CI/CD 自動化向けに設計されています。
Pipeline モードでは、--auto-pr を明示的に指定しない限り PR は作成されません。
Pipeline の全オプション
| オプション | 説明 |
|---|---|
--pipeline |
pipeline(非インタラクティブ)モードを有効化 -- CI/自動化に必要 |
-t, --task <text> |
タスク内容(GitHub Issue の代替) |
-i, --issue <N> |
GitHub Issue 番号(インタラクティブモードでの #N と同等) |
-w, --piece <name or path> |
Piece 名または piece YAML ファイルのパス |
-b, --branch <name> |
ブランチ名を指定(省略時は自動生成) |
--auto-pr |
PR を作成(インタラクティブ: 確認スキップ、pipeline: PR 有効化) |
--skip-git |
ブランチ作成、コミット、プッシュをスキップ(pipeline モード、piece のみ実行) |
--repo <owner/repo> |
リポジトリを指定(PR 作成用) |
-q, --quiet |
最小出力モード: AI 出力を抑制(CI 向け) |
--provider <name> |
エージェント provider を上書き(claude|codex|opencode|mock) |
--model <name> |
エージェントモデルを上書き |
コマンド例
基本的な pipeline 実行
takt --pipeline --task "Fix bug"
PR 自動作成付きの pipeline 実行
takt --pipeline --task "Fix bug" --auto-pr
GitHub Issue をリンクして PR を作成
takt --pipeline --issue 99 --auto-pr
Piece とブランチ名を指定
takt --pipeline --task "Fix bug" -w magi -b feat/fix-bug
PR 作成用にリポジトリを指定
takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
Piece のみ実行(ブランチ作成、コミット、プッシュをスキップ)
takt --pipeline --task "Fix bug" --skip-git
最小出力モード(CI ログ向けに AI 出力を抑制)
takt --pipeline --task "Fix bug" --quiet
Pipeline テンプレート変数
~/.takt/config.yaml の pipeline 設定では、コミットメッセージと PR 本文をカスタマイズするためのテンプレート変数をサポートしています。
pipeline:
default_branch_prefix: "takt/"
commit_message_template: "feat: {title} (#{issue})"
pr_body_template: |
## Summary
{issue_body}
Closes #{issue}
| 変数 | 使用可能な場所 | 説明 |
|---|---|---|
{title} |
コミットメッセージ | Issue タイトル |
{issue} |
コミットメッセージ、PR 本文 | Issue 番号 |
{issue_body} |
PR 本文 | Issue 本文 |
{report} |
PR 本文 | Piece 実行レポート |
その他の CI システム
GitHub Actions 以外の CI システムでは、TAKT をグローバルにインストールして pipeline モードを直接使用します。
# takt のインストール
npm install -g takt
# pipeline モードで実行
takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
このアプローチは Node.js をサポートする任意の CI システムで動作します。GitLab CI、CircleCI、Jenkins、Azure DevOps などが含まれます。
環境変数
CI 環境での認証には、適切な API キー環境変数を設定してください。これらは他のツールとの衝突を避けるため TAKT 固有のプレフィックスを使用しています。
# Claude(Anthropic)用
export TAKT_ANTHROPIC_API_KEY=sk-ant-...
# Codex(OpenAI)用
export TAKT_OPENAI_API_KEY=sk-...
# OpenCode 用
export TAKT_OPENCODE_API_KEY=...
優先順位: 環境変数は config.yaml の設定よりも優先されます。
注意: 環境変数で API キーを設定すれば、Claude Code、Codex、OpenCode CLI のインストールは不要です。TAKT が対応する API を直接呼び出します。
コストに関する注意
TAKT は AI API(Claude または OpenAI)を使用するため、特に CI/CD 環境でタスクが自動実行される場合、大きなコストが発生する可能性があります。次の点に注意してください。
- API 使用量の監視: 予期しない請求を避けるため、AI provider で課金アラートを設定してください。
--quietモードの使用: 出力量は削減されますが、API 呼び出し回数は減りません。- 適切な piece の選択: シンプルな piece はマルチステージの piece(例: 並列レビュー付きの
default)よりも API 呼び出しが少なくなります。 - CI トリガーの制限: 意図しない実行を防ぐため、条件付きトリガー(例:
if: contains(github.event.comment.body, '@takt'))を使用してください。 --provider mockでのテスト: CI パイプラインの開発中は mock provider を使用して、実際の API コストを回避してください。