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

# =====================================
# 通常設定（ピース非依存）
# =====================================
language: ja         # 表示言語: ja | en
log_level: info      # ログレベル: debug | info | warn | error
provider: claude     # デフォルト実行プロバイダー: claude | codex | opencode | mock
# model: sonnet      # 省略可。providerに渡すモデル名

# 実行制御
# worktree_dir: ~/takt-worktrees   # 共有clone作成先ディレクトリ
# auto_pr: false                   # worktree実行後に自動PR作成するか
branch_name_strategy: ai       # ブランチ名生成: romaji | ai
concurrency: 2               # takt run の同時実行数（1-10）
# task_poll_interval_ms: 500       # takt run のタスク監視間隔ms（100-5000）
# prevent_sleep: false             # macOS実行中のスリープ防止（caffeinate）

# 出力・通知
# minimal_output: false            # 出力を最小化（CI向け）
# verbose: false                   # 詳細ログを有効化
# notification_sound: true         # 通知音全体のON/OFF
# notification_sound_events:       # イベント別通知音（未指定はtrue扱い）
#   iteration_limit: true
#   piece_complete: true
#   piece_abort: true
#   run_complete: true
#   run_abort: true
# observability:
#   provider_events: false         # providerイベントログを記録
# analytics:
#   enabled: true                  # 分析メトリクスの収集を有効化
#   events_path: ~/.takt/analytics/events  # 分析イベント保存先
#   retention_days: 30             # 分析イベント保持日数

# 認証情報（環境変数優先）
# anthropic_api_key: "sk-ant-..." # Claude APIキー
# openai_api_key: "sk-..."         # Codex APIキー
# opencode_api_key: "..."          # OpenCode APIキー
# codex_cli_path: "/absolute/path/to/codex"  # Codex CLI絶対パス

# パイプライン
# pipeline:
#   default_branch_prefix: "takt/"             # pipeline作成ブランチの接頭辞
#   commit_message_template: "feat: {title} (#{issue})"  # コミット文テンプレート
#   pr_body_template: |                          # PR本文テンプレート
#     ## Summary
#     {issue_body}
#     Closes #{issue}

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

# =====================================
# ピースにも関わる設定（global defaults）
# =====================================
# 1) ペルソナ単位でプロバイダー・モデルを切り替える
# persona_providers:
#   coder:
#     provider: codex    # coderペルソナはcodexで実行
#     model: o3-mini     # 使用モデル（省略可）
#   reviewer:
#     provider: claude   # reviewerペルソナはclaudeで実行

# 2) provider 固有オプション
#    優先順位（provider/model/provider_options 等の piece 対応キー）:
#    global < piece < project < env
# provider_options:
#   codex:
#     network_access: true      # Codex実行時のネットワークアクセス許可
#   opencode:
#     network_access: true      # OpenCode実行時のネットワークアクセス許可
#   claude:
#     sandbox:
#       allow_unsandboxed_commands: false   # trueで対象コマンドを非サンドボックス実行
#       excluded_commands:
#         - "npm publish"                  # 非サンドボックス対象コマンド

# 3) movement の権限ポリシー
# provider_profiles:
#   codex:
#     default_permission_mode: full         # 既定権限: readonly | edit | full
#     movement_permission_overrides:
#       ai_review: readonly                 # movement単位の上書き
#   claude:
#     default_permission_mode: edit

# 4) 実行前のランタイム準備（推奨: 有効化）
runtime:
  prepare:
    - gradle      # Gradleキャッシュ/環境を .runtime 配下に準備
    - node        # npmキャッシュ/環境を .runtime 配下に準備

# 5) ピース一覧/カテゴリ
# enable_builtin_pieces: true                             # builtins/{lang}/pieces を有効化
# disabled_builtins:
#   - magi                                                # 無効化するビルトインピース名
# piece_categories_file: ~/.takt/preferences/piece-categories.yaml  # カテゴリ定義ファイル
# interactive_preview_movements: 3                        # 対話モードのプレビュー件数（0-10）
