Release v0.12.0

This commit is contained in:
nrslib 2026-02-11 15:44:26 +09:00
parent 9f1c7e6aff
commit 21537a3214
5 changed files with 78 additions and 29 deletions

View File

@ -4,6 +4,45 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.12.0] - 2026-02-11
### Added
- **OpenCode プロバイダー**: 第3のプロバイダーとして OpenCode をネイティブサポート — `@opencode-ai/sdk/v2` による SDK 統合、権限マッピングreadonly/edit/full → reject/once/always、SSE ストリーム処理、リトライ機構最大3回、10分タイムアウトによるハング検出 (#236, #238)
- **Arpeggio ムーブメント**: データ駆動バッチ処理の新ムーブメントタイプ — CSV データソースからバッチ分割、テンプレート展開(`{line:N}`, `{col:N:name}`, `{batch_index}`)、並行 LLM 呼び出しSemaphore 制御、concat/custom マージ戦略をサポート (#200)
- **`frontend` ビルトインピース**: フロントエンド開発特化のピースを新規追加 — React/Next.js 向けの knowledge 注入、coding/testing ポリシー適用、並列アーキテクチャレビュー対応
- **Slack Webhook 通知**: ピース実行完了時に Slack へ自動通知 — `TAKT_NOTIFY_WEBHOOK` 環境変数で設定、10秒タイムアウト、失敗時も他処理をブロックしない (#234)
- **セッション選択 UI**: インタラクティブモード開始時に Claude Code の過去セッションから再開可能なセッションを選択可能に — 最新10セッションの一覧表示、初期入力・最終応答プレビュー付き (#180)
- **プロバイダーイベントログ**: Claude/Codex/OpenCode の実行中イベントを NDJSON 形式でファイル出力 — `.takt/logs/{sessionId}-provider-events.jsonl` に記録、長大テキストの自動圧縮 (#236)
- **プロバイダー・モデル名の出力表示**: 各ムーブメント実行時に使用中のプロバイダーとモデル名をコンソールに表示
### Changed
- **`takt add` の刷新**: Issue 選択時にタスクへの自動追加、インタラクティブモードの廃止、Issue 作成時のタスク積み込み確認 (#193, #194)
- **`max_iteration``max_movement` 統一**: イテレーション上限の用語を統一し、無限実行指定として `ostinato` を追加 (#212)
- **`previous_response` 注入仕様の改善**: 長さ制御と Source Path 常時注入を実装 (#207)
- **タスク管理の改善**: `.takt/tasks/` を長文タスク仕様の置き場所として再定義、`completeTask()` で completed レコードを `tasks.yaml` から削除 (#201, #204)
- **レビュー出力の改善**: レビュー出力を最新化し、過去レポートは履歴ログへ分離 (#209)
- **ビルトインピース簡素化**: 全ビルトインピースのトップレベル宣言をさらに整理
### Fixed
- **Report Phase blocked 時の動作修正**: Report PhasePhase 2で blocked 状態の際に新規セッションでリトライするよう修正 (#163)
- **OpenCode のハング・終了判定の修正**: プロンプトのエコー抑制、question の抑制、ハング問題の修正、終了判定の誤りを修正 (#238)
- **OpenCode の権限・ツール設定の修正**: edit 実行時の権限とツール配線を修正
- **Worktree へのタスク指示書コピー**: Worktree 実行時にタスク指示書が正しくコピーされるよう修正
- lint エラーの修正merge/resolveTask/confirm
### Internal
- OpenCode プロバイダーの包括的なテスト追加client-cleanup, config, provider, stream-handler, types
- Arpeggio の包括的なテスト追加csv, data-source-factory, merge, schema, template, engine-arpeggio
- E2E テストの大幅な拡充: cli-catalog, cli-clear, cli-config, cli-export-cc, cli-help, cli-prompt, cli-reset-categories, cli-switch, error-handling, piece-error-handling, provider-error, quiet-mode, run-multiple-tasks, task-content-file (#192, #198)
- `providerEventLogger.ts`, `providerModel.ts`, `slackWebhook.ts`, `session-reader.ts`, `sessionSelector.ts`, `provider-resolution.ts`, `run-paths.ts` の新規追加
- `ArpeggioRunner.ts` の新規追加(データ駆動バッチ処理エンジン)
- AI Judge をプロバイダーシステム経由に変更Codex/OpenCode 対応)
- テスト追加・拡充: report-phase-blocked, phase-runner-report-history, judgment-fallback, pieceExecution-session-loading, globalConfig-defaults, session-reader, sessionSelector, slackWebhook, providerEventLogger, provider-model, interactive, run-paths, engine-test-helpers
## [0.11.1] - 2026-02-10 ## [0.11.1] - 2026-02-10
### Fixed ### Fixed

View File

@ -4,7 +4,7 @@
**T**ask **A**gent **K**oordination **T**ool - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML **T**ask **A**gent **K**oordination **T**ool - Define how AI agents coordinate, where humans intervene, and what gets recorded — in YAML
TAKT runs multiple AI agents (Claude Code, Codex) through YAML-defined workflows. Each step — who runs, what they see, what's allowed, what happens on failure — is declared in a piece file, not left to the agent. TAKT runs multiple AI agents (Claude Code, Codex, OpenCode) through YAML-defined workflows. Each step — who runs, what they see, what's allowed, what happens on failure — is declared in a piece file, not left to the agent.
TAKT is built with TAKT itself (dogfooding). TAKT is built with TAKT itself (dogfooding).
@ -49,14 +49,14 @@ Personas, policies, and knowledge are managed as independent files and freely co
Choose one: Choose one:
- **Use provider CLIs**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or [Codex](https://github.com/openai/codex) installed - **Use provider CLIs**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex](https://github.com/openai/codex), or [OpenCode](https://opencode.ai) installed
- **Use direct API**: **Anthropic API Key** or **OpenAI API Key** (no CLI required) - **Use direct API**: **Anthropic API Key**, **OpenAI API Key**, or **OpenCode API Key** (no CLI required)
Additionally required: Additionally required:
- [GitHub CLI](https://cli.github.com/) (`gh`) — Only needed for `takt #N` (GitHub Issue execution) - [GitHub CLI](https://cli.github.com/) (`gh`) — Only needed for `takt #N` (GitHub Issue execution)
**Pricing Note**: When using API Keys, TAKT directly calls the Claude API (Anthropic) or OpenAI API. The pricing structure is the same as using Claude Code or Codex. Be mindful of costs, especially when running automated tasks in CI/CD environments, as API usage can accumulate. **Pricing Note**: When using API Keys, TAKT directly calls the Claude API (Anthropic), OpenAI API, or OpenCode API. The pricing structure is the same as using the respective CLI tools. Be mindful of costs, especially when running automated tasks in CI/CD environments, as API usage can accumulate.
## Installation ## Installation
@ -322,7 +322,7 @@ takt reset categories
| `--repo <owner/repo>` | Specify repository (for PR creation) | | `--repo <owner/repo>` | Specify repository (for PR creation) |
| `--create-worktree <yes\|no>` | Skip worktree confirmation prompt | | `--create-worktree <yes\|no>` | Skip worktree confirmation prompt |
| `-q, --quiet` | Minimal output mode: suppress AI output (for CI) | | `-q, --quiet` | Minimal output mode: suppress AI output (for CI) |
| `--provider <name>` | Override agent provider (claude\|codex\|mock) | | `--provider <name>` | Override agent provider (claude\|codex\|opencode\|mock) |
| `--model <name>` | Override agent model | | `--model <name>` | Override agent model |
## Pieces ## Pieces
@ -473,6 +473,7 @@ TAKT includes multiple builtin pieces:
| `structural-reform` | Full project review and structural reform: iterative codebase restructuring with staged file splits. | | `structural-reform` | Full project review and structural reform: iterative codebase restructuring with staged file splits. |
| `unit-test` | Unit test focused piece: test analysis → test implementation → review → fix. | | `unit-test` | Unit test focused piece: test analysis → test implementation → review → fix. |
| `e2e-test` | E2E test focused piece: E2E analysis → E2E implementation → review → fix (Vitest-based E2E flow). | | `e2e-test` | E2E test focused piece: E2E analysis → E2E implementation → review → fix (Vitest-based E2E flow). |
| `frontend` | Frontend-specialized development piece with React/Next.js focused reviews and knowledge injection. |
**Per-persona provider overrides:** Use `persona_providers` in config to route specific personas to different providers (e.g., coder on Codex, reviewers on Claude) without duplicating pieces. **Per-persona provider overrides:** Use `persona_providers` in config to route specific personas to different providers (e.g., coder on Codex, reviewers on Claude) without duplicating pieces.
@ -560,7 +561,7 @@ Configure default provider and model in `~/.takt/config.yaml`:
language: en language: en
default_piece: default default_piece: default
log_level: info log_level: info
provider: claude # Default provider: claude or codex provider: claude # Default provider: claude, codex, or opencode
model: sonnet # Default model (optional) model: sonnet # Default model (optional)
branch_name_strategy: romaji # Branch name generation: 'romaji' (fast) or 'ai' (slow) branch_name_strategy: romaji # Branch name generation: 'romaji' (fast) or 'ai' (slow)
prevent_sleep: false # Prevent macOS idle sleep during execution (caffeinate) prevent_sleep: false # Prevent macOS idle sleep during execution (caffeinate)
@ -582,9 +583,10 @@ interactive_preview_movements: 3 # Movement previews in interactive mode (0-10,
# ai-antipattern-reviewer: claude # Keep reviewers on Claude # ai-antipattern-reviewer: claude # Keep reviewers on Claude
# API Key configuration (optional) # API Key configuration (optional)
# Can be overridden by environment variables TAKT_ANTHROPIC_API_KEY / TAKT_OPENAI_API_KEY # Can be overridden by environment variables TAKT_ANTHROPIC_API_KEY / TAKT_OPENAI_API_KEY / TAKT_OPENCODE_API_KEY
anthropic_api_key: sk-ant-... # For Claude (Anthropic) anthropic_api_key: sk-ant-... # For Claude (Anthropic)
# openai_api_key: sk-... # For Codex (OpenAI) # openai_api_key: sk-... # For Codex (OpenAI)
# opencode_api_key: ... # For OpenCode
# Builtin piece filtering (optional) # Builtin piece filtering (optional)
# builtin_pieces_enabled: true # Set false to disable all builtins # builtin_pieces_enabled: true # Set false to disable all builtins
@ -608,17 +610,17 @@ anthropic_api_key: sk-ant-... # For Claude (Anthropic)
1. **Set via environment variables**: 1. **Set via environment variables**:
```bash ```bash
export TAKT_ANTHROPIC_API_KEY=sk-ant-... # For Claude export TAKT_ANTHROPIC_API_KEY=sk-ant-... # For Claude
# or
export TAKT_OPENAI_API_KEY=sk-... # For Codex export TAKT_OPENAI_API_KEY=sk-... # For Codex
export TAKT_OPENCODE_API_KEY=... # For OpenCode
``` ```
2. **Set in config file**: 2. **Set in config file**:
Write `anthropic_api_key` or `openai_api_key` in `~/.takt/config.yaml` as shown above Write `anthropic_api_key`, `openai_api_key`, or `opencode_api_key` in `~/.takt/config.yaml` as shown above
Priority: Environment variables > `config.yaml` settings Priority: Environment variables > `config.yaml` settings
**Notes:** **Notes:**
- If you set an API Key, installing Claude Code or Codex is not necessary. TAKT directly calls the Anthropic API or OpenAI API. - If you set an API Key, installing Claude Code, Codex, or OpenCode is not necessary. TAKT directly calls the respective API.
- **Security**: If you write API Keys in `config.yaml`, be careful not to commit this file to Git. Consider using environment variables or adding `~/.takt/config.yaml` to `.gitignore`. - **Security**: If you write API Keys in `config.yaml`, be careful not to commit this file to Git. Consider using environment variables or adding `~/.takt/config.yaml` to `.gitignore`.
**Pipeline Template Variables:** **Pipeline Template Variables:**
@ -634,7 +636,7 @@ Priority: Environment variables > `config.yaml` settings
1. Piece movement `model` (highest priority) 1. Piece movement `model` (highest priority)
2. Custom agent `model` 2. Custom agent `model`
3. Global config `model` 3. Global config `model`
4. Provider default (Claude: sonnet, Codex: codex) 4. Provider default (Claude: sonnet, Codex: codex, OpenCode: provider default)
## Detailed Guides ## Detailed Guides
@ -796,7 +798,7 @@ Special `next` values: `COMPLETE` (success), `ABORT` (failure)
| `edit` | - | Whether movement can edit project files (`true`/`false`) | | `edit` | - | Whether movement can edit project files (`true`/`false`) |
| `pass_previous_response` | `true` | Pass previous movement output to `{previous_response}` | | `pass_previous_response` | `true` | Pass previous movement output to `{previous_response}` |
| `allowed_tools` | - | List of tools agent can use (Read, Glob, Grep, Edit, Write, Bash, etc.) | | `allowed_tools` | - | List of tools agent can use (Read, Glob, Grep, Edit, Write, Bash, etc.) |
| `provider` | - | Override provider for this movement (`claude` or `codex`) | | `provider` | - | Override provider for this movement (`claude`, `codex`, or `opencode`) |
| `model` | - | Override model for this movement | | `model` | - | Override model for this movement |
| `permission_mode` | - | Permission mode: `readonly`, `edit`, `full` (provider-independent) | | `permission_mode` | - | Permission mode: `readonly`, `edit`, `full` (provider-independent) |
| `output_contracts` | - | Output contract definitions for report files | | `output_contracts` | - | Output contract definitions for report files |
@ -874,7 +876,7 @@ npm install -g takt
takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo takt --pipeline --task "Fix bug" --auto-pr --repo owner/repo
``` ```
For authentication, set `TAKT_ANTHROPIC_API_KEY` or `TAKT_OPENAI_API_KEY` environment variables (TAKT-specific prefix). For authentication, set `TAKT_ANTHROPIC_API_KEY`, `TAKT_OPENAI_API_KEY`, or `TAKT_OPENCODE_API_KEY` environment variables (TAKT-specific prefix).
```bash ```bash
# For Claude (Anthropic) # For Claude (Anthropic)
@ -882,6 +884,9 @@ export TAKT_ANTHROPIC_API_KEY=sk-ant-...
# For Codex (OpenAI) # For Codex (OpenAI)
export TAKT_OPENAI_API_KEY=sk-... export TAKT_OPENAI_API_KEY=sk-...
# For OpenCode
export TAKT_OPENCODE_API_KEY=...
``` ```
## Documentation ## Documentation

View File

@ -2,7 +2,7 @@
**T**ask **A**gent **K**oordination **T**ool - AIエージェントの協調手順・人の介入ポイント・記録をYAMLで定義する **T**ask **A**gent **K**oordination **T**ool - AIエージェントの協調手順・人の介入ポイント・記録をYAMLで定義する
TAKTは複数のAIエージェントClaude Code、CodexをYAMLで定義されたワークフローに従って実行します。各ステップで誰が実行し、何を見て、何を許可し、失敗時にどうするかはピースファイルに宣言され、エージェント任せにしません。 TAKTは複数のAIエージェントClaude Code、Codex、OpenCodeをYAMLで定義されたワークフローに従って実行します。各ステップで誰が実行し、何を見て、何を許可し、失敗時にどうするかはピースファイルに宣言され、エージェント任せにしません。
TAKTはTAKT自身で開発されていますドッグフーディング TAKTはTAKT自身で開発されていますドッグフーディング
@ -45,14 +45,14 @@ TAKTはエージェントの実行を**制御**し、プロンプトの構成要
次のいずれかを選択してください。 次のいずれかを選択してください。
- **プロバイダーCLIを使用**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code) または [Codex](https://github.com/openai/codex) をインストール - **プロバイダーCLIを使用**: [Claude Code](https://docs.anthropic.com/en/docs/claude-code)[Codex](https://github.com/openai/codex)、または [OpenCode](https://opencode.ai) をインストール
- **API直接利用**: **Anthropic API Key** または **OpenAI API Key**CLI不要 - **API直接利用**: **Anthropic API Key**、**OpenAI API Key**、または **OpenCode API Key**CLI不要
追加で必要なもの: 追加で必要なもの:
- [GitHub CLI](https://cli.github.com/) (`gh`) — `takt #N`GitHub Issue実行を使う場合のみ必要 - [GitHub CLI](https://cli.github.com/) (`gh`) — `takt #N`GitHub Issue実行を使う場合のみ必要
**料金について**: API Key を使用する場合、TAKT は Claude APIAnthropicまたは OpenAI API を直接呼び出します。料金体系は Claude Code や Codex を使った場合と同じです。特に CI/CD で自動実行する場合、API 使用量が増えるため、コストに注意してください。 **料金について**: API Key を使用する場合、TAKT は Claude APIAnthropic、OpenAI API、または OpenCode API を直接呼び出します。料金体系は各 CLI ツールを使った場合と同じです。特に CI/CD で自動実行する場合、API 使用量が増えるため、コストに注意してください。
## インストール ## インストール
@ -322,7 +322,7 @@ takt reset categories
| `--repo <owner/repo>` | リポジトリ指定PR作成時 | | `--repo <owner/repo>` | リポジトリ指定PR作成時 |
| `--create-worktree <yes\|no>` | worktree確認プロンプトをスキップ | | `--create-worktree <yes\|no>` | worktree確認プロンプトをスキップ |
| `-q, --quiet` | 最小限の出力モード: AIの出力を抑制CI向け | | `-q, --quiet` | 最小限の出力モード: AIの出力を抑制CI向け |
| `--provider <name>` | エージェントプロバイダーを上書きclaude\|codex\|mock | | `--provider <name>` | エージェントプロバイダーを上書きclaude\|codex\|opencode\|mock |
| `--model <name>` | エージェントモデルを上書き | | `--model <name>` | エージェントモデルを上書き |
## ピース ## ピース
@ -473,6 +473,7 @@ TAKTには複数のビルトインピースが同梱されています:
| `structural-reform` | プロジェクト全体の構造改革: 段階的なファイル分割を伴う反復的なコードベース再構成。 | | `structural-reform` | プロジェクト全体の構造改革: 段階的なファイル分割を伴う反復的なコードベース再構成。 |
| `unit-test` | ユニットテスト重視ピース: テスト分析 → テスト実装 → レビュー → 修正。 | | `unit-test` | ユニットテスト重視ピース: テスト分析 → テスト実装 → レビュー → 修正。 |
| `e2e-test` | E2Eテスト重視ピース: E2E分析 → E2E実装 → レビュー → 修正VitestベースのE2Eフロー。 | | `e2e-test` | E2Eテスト重視ピース: E2E分析 → E2E実装 → レビュー → 修正VitestベースのE2Eフロー。 |
| `frontend` | フロントエンド特化開発ピース: React/Next.js 向けのレビューとナレッジ注入。 |
**ペルソナ別プロバイダー設定:** 設定ファイルの `persona_providers` で、特定のペルソナを異なるプロバイダーにルーティングできます(例: coder は Codex、レビュアーは Claude。ピースを複製する必要はありません。 **ペルソナ別プロバイダー設定:** 設定ファイルの `persona_providers` で、特定のペルソナを異なるプロバイダーにルーティングできます(例: coder は Codex、レビュアーは Claude。ピースを複製する必要はありません。
@ -560,7 +561,7 @@ Claude Code はエイリアス(`opus`、`sonnet`、`haiku`、`opusplan`、`def
language: ja language: ja
default_piece: default default_piece: default
log_level: info log_level: info
provider: claude # デフォルトプロバイダー: claude または codex provider: claude # デフォルトプロバイダー: claude、codex、または opencode
model: sonnet # デフォルトモデル(オプション) model: sonnet # デフォルトモデル(オプション)
branch_name_strategy: romaji # ブランチ名生成: 'romaji'(高速)または 'ai'(低速) branch_name_strategy: romaji # ブランチ名生成: 'romaji'(高速)または 'ai'(低速)
prevent_sleep: false # macOS の実行中スリープ防止caffeinate prevent_sleep: false # macOS の実行中スリープ防止caffeinate
@ -582,9 +583,10 @@ interactive_preview_movements: 3 # 対話モードでのムーブメントプ
# ai-antipattern-reviewer: claude # レビュアーは Claude のまま # ai-antipattern-reviewer: claude # レビュアーは Claude のまま
# API Key 設定(オプション) # API Key 設定(オプション)
# 環境変数 TAKT_ANTHROPIC_API_KEY / TAKT_OPENAI_API_KEY で上書き可能 # 環境変数 TAKT_ANTHROPIC_API_KEY / TAKT_OPENAI_API_KEY / TAKT_OPENCODE_API_KEY で上書き可能
anthropic_api_key: sk-ant-... # Claude (Anthropic) を使う場合 anthropic_api_key: sk-ant-... # Claude (Anthropic) を使う場合
# openai_api_key: sk-... # Codex (OpenAI) を使う場合 # openai_api_key: sk-... # Codex (OpenAI) を使う場合
# opencode_api_key: ... # OpenCode を使う場合
# ビルトインピースのフィルタリング(オプション) # ビルトインピースのフィルタリング(オプション)
# builtin_pieces_enabled: true # false でビルトイン全体を無効化 # builtin_pieces_enabled: true # false でビルトイン全体を無効化
@ -608,17 +610,17 @@ anthropic_api_key: sk-ant-... # Claude (Anthropic) を使う場合
1. **環境変数で設定**: 1. **環境変数で設定**:
```bash ```bash
export TAKT_ANTHROPIC_API_KEY=sk-ant-... # Claude の場合 export TAKT_ANTHROPIC_API_KEY=sk-ant-... # Claude の場合
# または
export TAKT_OPENAI_API_KEY=sk-... # Codex の場合 export TAKT_OPENAI_API_KEY=sk-... # Codex の場合
export TAKT_OPENCODE_API_KEY=... # OpenCode の場合
``` ```
2. **設定ファイルで設定**: 2. **設定ファイルで設定**:
上記の `~/.takt/config.yaml``anthropic_api_key` または `openai_api_key` を記述 上記の `~/.takt/config.yaml``anthropic_api_key``openai_api_key`、または `opencode_api_key` を記述
優先順位: 環境変数 > `config.yaml` の設定 優先順位: 環境変数 > `config.yaml` の設定
**注意事項:** **注意事項:**
- API Key を設定した場合、Claude Code や Codex のインストールは不要です。TAKT が直接 Anthropic API または OpenAI API を呼び出します。 - API Key を設定した場合、Claude Code、Codex、OpenCode のインストールは不要です。TAKT が直接各 API を呼び出します。
- **セキュリティ**: `config.yaml` に API Key を記述した場合、このファイルを Git にコミットしないよう注意してください。環境変数での設定を使うか、`.gitignore``~/.takt/config.yaml` を追加することを検討してください。 - **セキュリティ**: `config.yaml` に API Key を記述した場合、このファイルを Git にコミットしないよう注意してください。環境変数での設定を使うか、`.gitignore``~/.takt/config.yaml` を追加することを検討してください。
**パイプラインテンプレート変数:** **パイプラインテンプレート変数:**
@ -634,7 +636,7 @@ anthropic_api_key: sk-ant-... # Claude (Anthropic) を使う場合
1. ピースのムーブメントの `model`(最優先) 1. ピースのムーブメントの `model`(最優先)
2. カスタムエージェントの `model` 2. カスタムエージェントの `model`
3. グローバル設定の `model` 3. グローバル設定の `model`
4. プロバイダーデフォルトClaude: sonnet、Codex: codex 4. プロバイダーデフォルトClaude: sonnet、Codex: codex、OpenCode: プロバイダーデフォルト
## 詳細ガイド ## 詳細ガイド
@ -796,7 +798,7 @@ rules:
| `edit` | - | ムーブメントがプロジェクトファイルを編集できるか(`true`/`false` | | `edit` | - | ムーブメントがプロジェクトファイルを編集できるか(`true`/`false` |
| `pass_previous_response` | `true` | 前のムーブメントの出力を`{previous_response}`に渡す | | `pass_previous_response` | `true` | 前のムーブメントの出力を`{previous_response}`に渡す |
| `allowed_tools` | - | エージェントが使用できるツール一覧Read, Glob, Grep, Edit, Write, Bash等 | | `allowed_tools` | - | エージェントが使用できるツール一覧Read, Glob, Grep, Edit, Write, Bash等 |
| `provider` | - | このムーブメントのプロバイダーを上書き(`claude`または`codex` | | `provider` | - | このムーブメントのプロバイダーを上書き(`claude``codex`または`opencode` |
| `model` | - | このムーブメントのモデルを上書き | | `model` | - | このムーブメントのモデルを上書き |
| `permission_mode` | - | パーミッションモード: `readonly``edit``full`(プロバイダー非依存) | | `permission_mode` | - | パーミッションモード: `readonly``edit``full`(プロバイダー非依存) |
| `output_contracts` | - | レポートファイルの出力契約定義 | | `output_contracts` | - | レポートファイルの出力契約定義 |
@ -874,7 +876,7 @@ npm install -g takt
takt --pipeline --task "バグ修正" --auto-pr --repo owner/repo takt --pipeline --task "バグ修正" --auto-pr --repo owner/repo
``` ```
認証には `TAKT_ANTHROPIC_API_KEY` または `TAKT_OPENAI_API_KEY` 環境変数を設定してくださいTAKT 独自のプレフィックス付き)。 認証には `TAKT_ANTHROPIC_API_KEY``TAKT_OPENAI_API_KEY`、または `TAKT_OPENCODE_API_KEY` 環境変数を設定してくださいTAKT 独自のプレフィックス付き)。
```bash ```bash
# Claude (Anthropic) を使う場合 # Claude (Anthropic) を使う場合
@ -882,6 +884,9 @@ export TAKT_ANTHROPIC_API_KEY=sk-ant-...
# Codex (OpenAI) を使う場合 # Codex (OpenAI) を使う場合
export TAKT_OPENAI_API_KEY=sk-... export TAKT_OPENAI_API_KEY=sk-...
# OpenCode を使う場合
export TAKT_OPENCODE_API_KEY=...
``` ```
## ドキュメント ## ドキュメント

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "takt", "name": "takt",
"version": "0.11.1", "version": "0.12.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "takt", "name": "takt",
"version": "0.11.1", "version": "0.12.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.37", "@anthropic-ai/claude-agent-sdk": "^0.2.37",

View File

@ -1,6 +1,6 @@
{ {
"name": "takt", "name": "takt",
"version": "0.11.1", "version": "0.12.0",
"description": "TAKT: Task Agent Koordination Tool - AI Agent Piece Orchestration", "description": "TAKT: Task Agent Koordination Tool - AI Agent Piece Orchestration",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",