diff --git a/README.md b/README.md index f3e0a33..1b17697 100644 --- a/README.md +++ b/README.md @@ -261,6 +261,8 @@ takt config TAKT uses YAML-based workflow definitions and rule-based routing. Builtin workflows are embedded in the package, with user workflows in `~/.takt/workflows/` taking priority. Use `takt eject` to copy builtins to `~/.takt/` for customization. +> **Note (v0.4.0)**: Internal terminology has changed from "step" to "movement" for workflow components. User-facing workflow files remain compatible, but if you customize workflows, you may see `movements:` instead of `steps:` in YAML files. The functionality remains the same. + ### Workflow Example ```yaml @@ -366,7 +368,7 @@ Execute sub-movements in parallel within a movement and evaluate with aggregate |------|--------|-------------| | Tag-based | `"condition text"` | Agent outputs `[MOVEMENTNAME:N]` tag, matched by index | | AI judge | `ai("condition text")` | AI evaluates condition against agent output | -| Aggregate | `all("X")` / `any("X")` | Aggregates parallel sub-step matched conditions | +| Aggregate | `all("X")` / `any("X")` | Aggregates parallel sub-movement matched conditions | ## Builtin Workflows @@ -413,7 +415,7 @@ You are a code reviewer specialized in security. ## Model Selection -The `model` field (in workflow steps, agent config, or global config) is passed directly to the provider (Claude Code CLI / Codex SDK). TAKT does not resolve model aliases. +The `model` field (in workflow movements, agent config, or global config) is passed directly to the provider (Claude Code CLI / Codex SDK). TAKT does not resolve model aliases. ### Claude Code @@ -506,7 +508,7 @@ Priority: Environment variables > `config.yaml` settings | `{report}` | PR body | Workflow execution report | **Model Resolution Priority:** -1. Workflow step `model` (highest priority) +1. Workflow movement `model` (highest priority) 2. Custom agent `model` 3. Global config `model` 4. Provider default (Claude: sonnet, Codex: codex) @@ -630,7 +632,7 @@ Variables available in `instruction_template`: | `{iteration}` | Workflow-wide turn count (total steps executed) | | `{max_iterations}` | Maximum iteration count | | `{movement_iteration}` | Per-movement iteration count (times this movement has been executed) | -| `{previous_response}` | Output from previous step (auto-injected if not in template) | +| `{previous_response}` | Output from previous movement (auto-injected if not in template) | | `{user_inputs}` | Additional user inputs during workflow (auto-injected if not in template) | | `{report_dir}` | Report directory path (e.g., `.takt/reports/20250126-143052-task-summary`) | | `{report:filename}` | Expands to `{report_dir}/filename` (e.g., `{report:00-plan.md}`) | diff --git a/docs/README.ja.md b/docs/README.ja.md index e38aa53..14b6298 100644 --- a/docs/README.ja.md +++ b/docs/README.ja.md @@ -259,14 +259,16 @@ takt config TAKTはYAMLベースのワークフロー定義とルールベースルーティングを使用します。ビルトインワークフローはパッケージに埋め込まれており、`~/.takt/workflows/` のユーザーワークフローが優先されます。`takt eject` でビルトインを`~/.takt/`にコピーしてカスタマイズできます。 +> **注記 (v0.4.0)**: ワークフローコンポーネントの内部用語が "step" から "movement" に変更されました。ユーザー向けのワークフローファイルは引き続き互換性がありますが、ワークフローをカスタマイズする場合、YAMLファイルで `movements:` の代わりに `movements:` が使用されることがあります。機能は同じです。 + ### ワークフローの例 ```yaml name: default max_iterations: 10 -initial_step: plan +initial_movement: plan -steps: +movements: - name: plan agent: ../agents/default/planner.md model: opus @@ -301,9 +303,9 @@ steps: アーキテクチャとコード品質の観点で実装をレビューしてください。 ``` -### エージェントレスステップ +### エージェントレスムーブメント -`agent` フィールドは省略可能です。省略した場合、ステップはシステムプロンプトなしで `instruction_template` のみを使って実行されます。これはエージェントの動作カスタマイズが不要なシンプルなタスクに便利です。 +`agent` フィールドは省略可能です。省略した場合、ムーブメントはシステムプロンプトなしで `instruction_template` のみを使って実行されます。これはエージェントの動作カスタマイズが不要なシンプルなタスクに便利です。 ```yaml - name: summarize @@ -326,9 +328,9 @@ steps: コード品質をレビューしてください。 ``` -### パラレルステップ +### パラレルムーブメント -ステップ内でサブステップを並列実行し、集約条件で評価できます: +ムーブメント内でサブムーブメントを並列実行し、集約条件で評価できます: ```yaml - name: reviewers @@ -354,9 +356,9 @@ steps: next: fix ``` -- `all("X")`: すべてのサブステップが条件Xにマッチした場合にtrue -- `any("X")`: いずれかのサブステップが条件Xにマッチした場合にtrue -- サブステップの `rules` は可能な結果を定義しますが、`next` は省略可能(親が遷移を制御) +- `all("X")`: すべてのサブムーブメントが条件Xにマッチした場合にtrue +- `any("X")`: いずれかのサブムーブメントが条件Xにマッチした場合にtrue +- サブムーブメントの `rules` は可能な結果を定義しますが、`next` は省略可能(親が遷移を制御) ### ルール条件の種類 @@ -364,7 +366,7 @@ steps: |------|------|------| | タグベース | `"条件テキスト"` | エージェントが `[STEP:N]` タグを出力し、インデックスでマッチ | | AI判定 | `ai("条件テキスト")` | AIが条件をエージェント出力に対して評価 | -| 集約 | `all("X")` / `any("X")` | パラレルサブステップの結果を集約 | +| 集約 | `all("X")` / `any("X")` | パラレルサブムーブメントの結果を集約 | ## ビルトインワークフロー @@ -373,7 +375,7 @@ TAKTには複数のビルトインワークフローが同梱されています: | ワークフロー | 説明 | |------------|------| | `default` | フル開発ワークフロー: 計画 → アーキテクチャ設計 → 実装 → AI レビュー → 並列レビュー(アーキテクト+セキュリティ)→ スーパーバイザー承認。各レビュー段階に修正ループあり。 | -| `minimal` | クイックワークフロー: 計画 → 実装 → レビュー → スーパーバイザー。高速イテレーション向けの最小ステップ。 | +| `minimal` | クイックワークフロー: 計画 → 実装 → レビュー → スーパーバイザー。高速イテレーション向けの最小構成。 | | `review-fix-minimal` | レビュー重視ワークフロー: レビュー → 修正 → スーパーバイザー。レビューフィードバックに基づく反復改善向け。 | | `research` | リサーチワークフロー: プランナー → ディガー → スーパーバイザー。質問せずに自律的にリサーチを実行。 | | `expert` | フルスタック開発ワークフロー: アーキテクチャ、フロントエンド、セキュリティ、QA レビューと修正ループ。 | @@ -411,7 +413,7 @@ Markdown ファイルでエージェントプロンプトを作成: ## モデル選択 -`model` フィールド(ワークフローステップ、エージェント設定、グローバル設定)はプロバイダー(Claude Code CLI / Codex SDK)にそのまま渡されます。TAKTはモデルエイリアスの解決を行いません。 +`model` フィールド(ワークフローのムーブメント、エージェント設定、グローバル設定)はプロバイダー(Claude Code CLI / Codex SDK)にそのまま渡されます。TAKTはモデルエイリアスの解決を行いません。 ### Claude Code @@ -504,7 +506,7 @@ trusted_directories: | `{report}` | PR本文 | ワークフロー実行レポート | **モデル解決の優先順位:** -1. ワークフローステップの `model`(最優先) +1. ワークフローのムーブメントの `model`(最優先) 2. カスタムエージェントの `model` 3. グローバル設定の `model` 4. プロバイダーデフォルト(Claude: sonnet、Codex: codex) @@ -577,9 +579,9 @@ takt eject default name: my-workflow description: カスタムワークフロー max_iterations: 5 -initial_step: analyze +initial_movement: analyze -steps: +movements: - name: analyze agent: ~/.takt/agents/my-agents/analyzer.md edit: false @@ -625,17 +627,17 @@ agent: /path/to/custom/agent.md | 変数 | 説明 | |------|------| | `{task}` | 元のユーザーリクエスト(テンプレートになければ自動注入) | -| `{iteration}` | ワークフロー全体のターン数(実行された全ステップ数) | +| `{iteration}` | ワークフロー全体のターン数(実行された全ムーブメント数) | | `{max_iterations}` | 最大イテレーション数 | -| `{step_iteration}` | ステップごとのイテレーション数(このステップが実行された回数) | -| `{previous_response}` | 前のステップの出力(テンプレートになければ自動注入) | +| `{movement_iteration}` | ムーブメントごとのイテレーション数(このムーブメントが実行された回数) | +| `{previous_response}` | 前のムーブメントの出力(テンプレートになければ自動注入) | | `{user_inputs}` | ワークフロー中の追加ユーザー入力(テンプレートになければ自動注入) | | `{report_dir}` | レポートディレクトリパス(例: `.takt/reports/20250126-143052-task-summary`) | | `{report:filename}` | `{report_dir}/filename` に展開(例: `{report:00-plan.md}`) | ### ワークフローの設計 -各ワークフローステップに必要な要素: +各ワークフローのムーブメントに必要な要素: **1. エージェント** - システムプロンプトを含むMarkdownファイル: @@ -644,7 +646,7 @@ agent: ../agents/default/coder.md # エージェントプロンプトファ agent_name: coder # 表示名(オプション) ``` -**2. ルール** - ステップから次のステップへのルーティングを定義。インストラクションビルダーがステータス出力ルールを自動注入するため、エージェントはどのタグを出力すべきか把握できます: +**2. ルール** - ムーブメントから次のムーブメントへのルーティングを定義。インストラクションビルダーがステータス出力ルールを自動注入するため、エージェントはどのタグを出力すべきか把握できます: ```yaml rules: @@ -656,15 +658,15 @@ rules: 特殊な `next` 値: `COMPLETE`(成功)、`ABORT`(失敗) -**3. ステップオプション:** +**3. ムーブメントオプション:** | オプション | デフォルト | 説明 | |-----------|-----------|------| -| `edit` | - | ステップがプロジェクトファイルを編集できるか(`true`/`false`) | -| `pass_previous_response` | `true` | 前のステップの出力を`{previous_response}`に渡す | +| `edit` | - | ムーブメントがプロジェクトファイルを編集できるか(`true`/`false`) | +| `pass_previous_response` | `true` | 前のムーブメントの出力を`{previous_response}`に渡す | | `allowed_tools` | - | エージェントが使用できるツール一覧(Read, Glob, Grep, Edit, Write, Bash等) | -| `provider` | - | このステップのプロバイダーを上書き(`claude`または`codex`) | -| `model` | - | このステップのモデルを上書き | +| `provider` | - | このムーブメントのプロバイダーを上書き(`claude`または`codex`) | +| `model` | - | このムーブメントのモデルを上書き | | `permission_mode` | - | パーミッションモード: `readonly`、`edit`、`full`(プロバイダー非依存) | | `report` | - | 自動生成レポートのファイル設定(name, format) | @@ -714,7 +716,7 @@ jobs: issues: write pull-requests: write - steps: + movements: - name: Checkout uses: actions/checkout@v4