#!/usr/bin/env bash
# migrate-linux.sh — richtet ~/.config/ai-control auf dieser Maschine so ein,
# wie es auf dem Mac für das Projekt ai-control steht (übrige Projekte später).
# Quelle ist das synced Repo ~/claude-projects/pool (CLAUDE.md, settings.json,
# commands, Runtime) — deshalb: erst pullen, dann ausführen.
# Überschreibt vorhandene Config; lokale Test-Sessions im Pool werden verworfen.
set -euo pipefail

config="$HOME/.config/ai-control"
poolrepo="$HOME/claude-projects/pool"
pooldir="$config/pools/private"

mkdir -p "$pooldir"

# Projekt-Icons liegen im synced Repo; unter .config nur ein Symlink
if [ -d "$config/icons" ] && [ ! -L "$config/icons" ]; then rm -rf "$config/icons"; fi
ln -sfn "$poolrepo/icons" "$config/icons"

# App-Settings — wie auf dem Mac
cat > "$config/settings.json" <<'EOF'
{
  "claudeCommand": "claude-sync",
  "poolSyncDir": "~/claude-projects/pool"
}
EOF

# Registry: erst mal nur ai-control
cat > "$config/projects.json" <<'EOF'
{
  "ai-control": "~/claude-projects/ai-control"
}
EOF

# Pool private: Identität + User-Scope aus dem synced Repo
cat > "$pooldir/pool.json" <<'EOF'
{
  "name": "private",
  "credentialType": "oauth"
}
EOF
cp "$poolrepo/settings.json" "$pooldir/settings.json"
cp "$poolrepo/CLAUDE.md" "$pooldir/CLAUDE.md"
rm -rf "$pooldir/commands"
cp -R "$poolrepo/commands" "$pooldir/commands"

# Runtime (projects/todos/history.jsonl) aufs synced Repo verlinken —
# damit funktionieren Resume und History maschinenübergreifend
"$poolrepo/bin/link-pool-runtime" private

echo "migriert: $config (Projekt ai-control, Pool private)"
