#!/bin/bash
set -euo pipefail
CONFIG_FILE=".claude-code-harness.config.yaml"
if [[ -f "$CONFIG_FILE" ]]; then
if grep -q "codex:" "$CONFIG_FILE" 2>/dev/null; then
exit 0
fi
fi
if ! command -v codex &> /dev/null; then
exit 0
fi
CODEX_VERSION=$(codex --version 2>/dev/null | head -1 || echo "unknown")
LATEST_VERSION=$(npm show @openai/codex version 2>/dev/null || echo "unknown")
version_lt() {
[ "$1" != "$2" ] && [ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$1" ]
}
cat << EOF
🤖 Codex が検出されました
**インストール済みバージョン**: ${CODEX_VERSION}
**最新バージョン**: ${LATEST_VERSION}
EOF
if [[ "$LATEST_VERSION" != "unknown" && "$CODEX_VERSION" != "unknown" ]]; then
CURRENT_NUM=$(echo "$CODEX_VERSION" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "0.0.0")
LATEST_NUM=$(echo "$LATEST_VERSION" | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "0.0.0")
if version_lt "$CURRENT_NUM" "$LATEST_NUM"; then
cat << EOF
⚠️ **Codex CLI が古いバージョンです**
アップデートするには:
\`\`\`bash
codex update
\`\`\`
`codex update` が使えない古いインストールだけ、package manager の
versioned / pinned update flow にフォールバックしてください。
EOF
fi
fi
TIMEOUT_CMD=""
if command -v timeout &> /dev/null; then
TIMEOUT_CMD="timeout"
elif command -v gtimeout &> /dev/null; then
TIMEOUT_CMD="gtimeout"
fi
if [[ -z "$TIMEOUT_CMD" ]]; then
cat << 'EOF'
⚠️ **timeout コマンドが見つかりません**
Codex CLI の並列レビューではタイムアウト制御に `timeout` コマンドを使用します。
macOS にはデフォルトで含まれていないため、以下でインストールしてください:
```bash
brew install coreutils
```
これにより `gtimeout` が使えるようになり、Harness が自動検出します。
未インストールでも Codex は動作しますが、タイムアウト制御が効きません。
EOF
else
echo ""
echo "**タイムアウトコマンド**: \`${TIMEOUT_CMD}\` ✅"
fi
cat << 'EOF'
セカンドオピニオンレビューを有効化するには:
```yaml
review:
codex:
enabled: true
```
または `/codex-review` で個別に Codex レビューを実行
詳細: skills/codex-review/SKILL.md
EOF
exit 0