53 lines
1.7 KiB
Bash
53 lines
1.7 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# Codexフックをインストールするスクリプト
|
|||
|
|
|
|||
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|||
|
|
WRAPPER_SCRIPT="$SCRIPT_DIR/codex-hook-wrapper.js"
|
|||
|
|
HOOK_DIR="$HOME/.local/bin"
|
|||
|
|
HOOK_TARGET="$HOOK_DIR/codex"
|
|||
|
|
|
|||
|
|
# .local/binディレクトリを作成
|
|||
|
|
mkdir -p "$HOOK_DIR"
|
|||
|
|
|
|||
|
|
# 既存のcodexバックアップ
|
|||
|
|
if [ -f "$HOOK_TARGET" ] && [ ! -L "$HOOK_TARGET" ]; then
|
|||
|
|
echo "Backing up existing codex to codex.original"
|
|||
|
|
mv "$HOOK_TARGET" "$HOOK_TARGET.original"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# ラッパースクリプトをシンボリックリンクで配置(node_modules解決のため)
|
|||
|
|
echo "Installing codex hook wrapper (symlink)..."
|
|||
|
|
ln -sf "$WRAPPER_SCRIPT" "$HOOK_TARGET"
|
|||
|
|
chmod +x "$HOOK_TARGET"
|
|||
|
|
|
|||
|
|
# PATHの設定確認
|
|||
|
|
if [[ ":$PATH:" != *":$HOOK_DIR:"* ]]; then
|
|||
|
|
echo ""
|
|||
|
|
echo "⚠️ Please add $HOOK_DIR to your PATH:"
|
|||
|
|
echo " export PATH=\"$HOOK_DIR:\$PATH\""
|
|||
|
|
echo ""
|
|||
|
|
echo "Add this to your ~/.bashrc or ~/.zshrc"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 環境変数の説明
|
|||
|
|
echo ""
|
|||
|
|
echo "✅ Codex hook installed!"
|
|||
|
|
echo ""
|
|||
|
|
echo "Configuration (environment variables):"
|
|||
|
|
echo " CODEX_HOOK_ENABLE=true # Enable/disable hook (default: true)"
|
|||
|
|
echo " CODEX_HOOK_SERVER=ws://localhost:8769 # WebSocket server"
|
|||
|
|
echo " CODEX_LOG_FILE=/tmp/codex-hook.log # Log file location"
|
|||
|
|
echo " CODEX_HOOK_ENTER=crlf # Enter mode: lf|cr|crlf (default: crlf)"
|
|||
|
|
echo ""
|
|||
|
|
echo "To test:"
|
|||
|
|
echo " # Install dependencies if not yet"
|
|||
|
|
echo " (cd $SCRIPT_DIR && npm install)"
|
|||
|
|
echo " codex --version"
|
|||
|
|
echo " tail -f /tmp/codex-hook.log # Watch logs"
|
|||
|
|
echo ""
|
|||
|
|
echo "To uninstall:"
|
|||
|
|
echo " rm $HOOK_TARGET"
|
|||
|
|
if [ -f "$HOOK_TARGET.original" ]; then
|
|||
|
|
echo " mv $HOOK_TARGET.original $HOOK_TARGET"
|
|||
|
|
fi
|