#!/usr/bin/env bash
set -euo pipefail

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

cmd="${1:-help}"

case "$cmd" in
  dev)
    pnpm start:dev
    ;;
  build)
    pnpm build
    ;;
  test)
    pnpm test
    ;;
  typecheck)
    pnpm typecheck
    ;;
  docker:up)
    docker compose -f ../../docker-compose.yml up -d
    ;;
  docker:down)
    docker compose -f ../../docker-compose.yml down
    ;;
  docker:logs)
    docker compose -f ../../docker-compose.yml logs -f
    ;;
  help|*)
    echo "Usage: ./run <command>"
    echo ""
    echo "Commands:"
    echo "  dev          Start dev server with watch mode"
    echo "  build        Compile the project"
    echo "  test         Run tests"
    echo "  typecheck    Run TypeScript type checking"
    echo "  docker:up    Start PostgreSQL and Redis containers"
    echo "  docker:down  Stop containers"
    echo "  docker:logs  Tail container logs"
    ;;
esac
