# TAKT グローバル設定サンプル
# 配置場所: ~/.takt/config.yaml

# =====================================
# 通常設定
# =====================================
language: ja         # 表示言語: ja | en

# デフォルトプロバイダー・モデル
# provider: claude                    # デフォルトプロバイダー: claude | claude-sdk | claude-terminal | codex | opencode | deepseek-harness | pi | cursor | copilot | kiro | mock
# model: sonnet                       # デフォルトモデル（プロバイダーにそのまま渡される）

# 実行制御
# worktree_dir: ~/takt-worktrees   # 共有clone作成先ディレクトリ
# prevent_sleep: false             # macOS実行中のスリープ防止（caffeinate）
# auto_fetch: false                # clone前にfetchして最新化するか
# base_branch: main                # cloneのベースブランチ（デフォルト: カレントブランチ）
# concurrency: 1                   # takt run の同時実行タスク数 (1-10)
# task_poll_interval_ms: 500       # 新規タスク検出のポーリング間隔（ms, 100-5000）
# auto_requeue_max_attempts: 0     # takt run 中の失敗 workflow task 自動 requeue 上限（非負整数、0で無効）
# ignore_exceed: false             # takt run / takt watch で --ignore-exceed 相当を適用
# sync_project_local_takt_on_retry: true # Retry / re-execution 前に root の project-local .takt を同期。保持したい場合は false
# PR / ブランチ
# auto_pr: false                   # worktree実行後にPR自動作成
# draft_pr: false                  # ドラフトPRとして作成
# branch_name_strategy: romaji     # ブランチ名生成: romaji | ai

# パイプライン実行
# pipeline:
#   default_branch_prefix: "takt/"         # パイプラインで作成するブランチのプレフィックス
#   commit_message_template: "{title}"     # コミットメッセージテンプレート。変数: {title}, {issue}
#   pr_body_template: "{report}"           # PR本文テンプレート。変数: {issue_body}, {report}, {issue}

# 出力・通知
# minimal_output: false            # エージェント詳細出力を抑制
# notification_sound: true         # 通知音全体のON/OFF
# notification_sound_events:       # イベント別通知音（未指定はtrue扱い）
#   iteration_limit: true
#   workflow_complete: true
#   workflow_abort: true
#   run_complete: true
#   run_abort: true
# logging:
#   level: info                    # ログレベル: debug | info | warn | error
#   trace: true                    # trace.md 実行レポート生成
#   debug: false                   # debug.log + prompts.jsonl を有効化
#   provider_events: false         # providerイベントログを記録
#   usage_events: false            # 使用量イベントログを記録

# OpenTelemetry observability
# observability:
#   enabled: true                  # OpenTelemetry SDK を初期化
#   monitor: true                  # .takt/runs/<run>/monitor.json を出力
#   session_log_exporter: true     # span 由来の shadow session log を出力
#   usage_events_phase: true       # phase 粒度の usage event log を出力
# OTEL_EXPORTER_OTLP_ENDPOINT を設定すると span と metric も OTLP HTTP で送信します。
# 任意の OTLP 上書き: OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, OTEL_EXPORTER_OTLP_METRICS_ENDPOINT.

# アナリティクス
# analytics:
#   enabled: true                  # ローカルアナリティクス収集を有効化
#   events_path: ~/.takt/analytics/events  # イベントディレクトリのカスタムパス
#   retention_days: 30             # イベントファイルの保持期間（日）

# インタラクティブモード
# interactive_preview_steps: 3 # インタラクティブモードでの step プレビュー数 (0-10)
# assistant:
#   formal_spec:
#     mode: 'y/N'              # true/false は質問なし。Y/n／y/N は TTY で質問（未設定: y/N）
#     comments: true           # 各形式構造への自然言語の意味コメントを要求（デフォルト: true）
# Gherkin のガイダンスは開発・実装タスクにだけ適用されます。廃止済み assistant.gherkin は警告後に無視され、移行されません。

# workflow step の provider routing（推奨）
# provider_routing:
#   personas:
#     coder:
#       provider: codex
#       model: gpt-5
#       provider_options:
#         codex:
#           reasoning_effort: high
#   tags:
#     implementation:
#       provider: codex
#       model: gpt-5
#     review:
#       provider: opencode
#       model: ollama-cloud/qwen3.5:397b
#     final-gate:
#       provider: codex
#       model: gpt-5
#       provider_options:
#         codex:
#           reasoning_effort: high
#     edit:
#       provider_options:
#         codex:
#           network_access: true
#   steps:
#     ai-antipattern-review-2nd:
#       provider: opencode
#       model: ollama-cloud/qwen3.5:397b

# display name ベースの旧 provider 上書き（deprecated。新規設定では provider_routing を推奨）
# persona_providers:
#   coder:
#     provider: codex
#     model: gpt-5

# プロバイダー固有オプション（設定既定値。env 起源の leaf が最優先で、それ以外は step > provider_routing > deprecated persona_providers > workflow > project > global の順）
# provider_options:
#   codex:
#     network_access: true
#     skills:
#       repo: false
#       user: false
#   opencode:
#     variant: high
#   claude:
#     skills:
#       enabled: false
#     sandbox:
#       allow_unsandboxed_commands: true

# プロバイダー権限プロファイル
# provider_profiles:
#   claude:
#     default_permission_mode: edit
#   codex:
#     default_permission_mode: edit

# ランタイム環境の準備
# runtime:
#   prepare: [node, gradle, ./custom-script.sh]

# workflow YAML command gate ポリシー
# workflow_command_gates:
#   custom_scripts: false

# ワークフローレベルのオーバーライド
# workflow_overrides:
#   quality_gates:
#     - "All tests pass" # AI への完了条件
#     - type: command    # step 完了時に機械実行される gate
#       name: quality-check
#       command: "./.takt/quality-gates/check.sh"
#       timeout_ms: 300000
#   quality_gates_edit_only: true
#   steps:
#     review:
#       quality_gates:
#         - "No security vulnerabilities"
#   personas:
#     coder:
#       quality_gates:
#         - "Code follows conventions"

# 認証情報（環境変数優先）
# anthropic_api_key: "sk-ant-..." # Claude APIキー
# openai_api_key: "sk-..."         # Codex APIキー
# gemini_api_key: "..."            # Gemini APIキー
# google_api_key: "..."            # Google APIキー
# groq_api_key: "..."              # Groq APIキー
# openrouter_api_key: "..."        # OpenRouter APIキー
# opencode_api_key: "..."          # OpenCode APIキー
# cursor_api_key: "..."            # Cursor APIキー
# kiro_api_key: "..."              # Kiro APIキー

# CLIパス
# codex_cli_path: "/absolute/path/to/codex"    # Codex CLI絶対パス
# claude_cli_path: "/absolute/path/to/claude"  # Claude Code CLI絶対パス
# cursor_cli_path: "/absolute/path/to/cursor"  # cursor-agent CLI絶対パス
# copilot_cli_path: "/absolute/path/to/copilot" # Copilot CLI絶対パス
# kiro_cli_path: "/absolute/path/to/kiro-cli"   # Kiro CLI絶対パス
# copilot_github_token: "ghp_..."              # Copilot GitHubトークン

# その他
# bookmarks_file: ~/.takt/preferences/bookmarks.yaml   # ブックマーク保存先

# ワークフロー一覧/カテゴリ
# enable_builtin_workflows: true                          # builtins/{lang}/workflows を有効化
# disabled_builtins:
#   - magi                                                # 無効化するビルトイン workflow 名
# workflow_categories_file: ~/.takt/preferences/workflow-categories.yaml  # カテゴリ定義ファイル
