#!/usr/bin/env bash
#
# pi-toolbox setup — copies agent definitions, team configs, and safety rules
# to your project's .pi/ directory.
#
# Usage:
#   npx pi-toolbox setup          (from your project root)
#   bash node_modules/pi-toolbox/setup.sh
#
# Resources copied:
#   .pi/agents/*.md                — agent personas (scout, builder, reviewer, etc.)
#   .pi/agents/pi-pi/*.md         — Pi Pi meta-agent experts
#   .pi/agents/teams.yaml         — team roster definitions
#   .pi/agents/agent-chain.yaml   — sequential pipeline definitions
#   .pi/damage-control-rules.yaml — safety auditing rules
#
# Existing files are NEVER overwritten. Remove a file first to get the latest version.

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="${1:-$(pwd)}"

GREEN='\033[0;32m'
YELLOW='\033[1;33m'
DIM='\033[2m'
RESET='\033[0m'

copied=0
skipped=0

copy_if_missing() {
    local src="$1"
    local dest="$2"
    local dir
    dir="$(dirname "$dest")"

    mkdir -p "$dir"

    if [[ -f "$dest" ]]; then
        printf "${DIM}  skip${RESET}  %s (already exists)\n" "$dest"
        ((skipped++))
    else
        cp "$src" "$dest"
        printf "${GREEN}  copy${RESET}  %s\n" "$dest"
        ((copied++))
    fi
}

echo ""
echo -e "${YELLOW}pi-toolbox setup${RESET}"
echo -e "${DIM}Copying agent definitions and configs to ${PROJECT_DIR}/.pi/${RESET}"
echo ""

# Agent definitions
for f in "$SCRIPT_DIR"/agents/*.md; do
    [[ -f "$f" ]] || continue
    name="$(basename "$f")"
    copy_if_missing "$f" "$PROJECT_DIR/.pi/agents/$name"
done

# Pi Pi experts
for f in "$SCRIPT_DIR"/agents/pi-pi/*.md; do
    [[ -f "$f" ]] || continue
    name="$(basename "$f")"
    copy_if_missing "$f" "$PROJECT_DIR/.pi/agents/pi-pi/$name"
done

# YAML configs
copy_if_missing "$SCRIPT_DIR/agents/teams.yaml" "$PROJECT_DIR/.pi/agents/teams.yaml"
copy_if_missing "$SCRIPT_DIR/agents/agent-chain.yaml" "$PROJECT_DIR/.pi/agents/agent-chain.yaml"

# Damage control rules
copy_if_missing "$SCRIPT_DIR/configs/damage-control-rules.yaml" "$PROJECT_DIR/.pi/damage-control-rules.yaml"

echo ""
echo -e "${GREEN}Done!${RESET} ${copied} copied, ${skipped} skipped (already existed)"
echo ""
