# Claude Code & MCP Task Library
# Tasks for managing Claude Code integration and MCP servers

version: '3'

tasks:
  default:
    desc: 'Show available Claude Code tasks'
    aliases: [help, h]
    silent: true
    cmds:
      - |
        # Color codes
        GREEN='\033[0;32m'
        YELLOW='\033[0;33m'
        BOLD='\033[1m'
        NC='\033[0m'

        echo -e "${BOLD}Claude Code & MCP Operations${NC}"
        echo ""
        echo "Command                            Alias     Description                              Examples"
        echo "───────────────────────────────────────────────────────────────────────────────────────────────────"
        echo -e "${BOLD}MCP Server Management:${NC}"
        echo -e "  ${GREEN}task claude:mcp:install${NC}          ${YELLOW}mi${NC}        Install MCP server globally"
        echo -e "  ${GREEN}task claude:mcp:verify${NC}           ${YELLOW}mv${NC}        Verify MCP server installation"
        echo -e "  ${GREEN}task claude:mcp:status${NC}           ${YELLOW}ms${NC}        Show MCP server status"
        echo -e "  ${GREEN}task claude:mcp:remove${NC}           ${YELLOW}mr${NC}        Remove MCP server"
        echo ""
        echo -e "${BOLD}Installer Testing:${NC}"
        echo -e "  ${GREEN}task claude:installer:test${NC}       ${YELLOW}it${NC}        Run complete installer test suite"
        echo -e "  ${GREEN}task claude:installer:test:force${NC} ${YELLOW}itf${NC}       Test force reinstall"
        echo -e "  ${GREEN}task claude:installer:test:clean${NC} ${YELLOW}itc${NC}       Clean up test installations"

  mcp:install:
    desc: Install MCP server globally
    aliases: [mi]
    silent: true
    cmds:
      - |
        # Source secrets if .env has 1Password references
        if [ -f .env ] && grep -q "op://" .env 2>/dev/null; then
          TEMP_ENV=$(task op:export)
          source "$TEMP_ENV"
        fi
        bun run {{.TASKFILE_DIR}}/../src/tasks/claude/mcp-install.ts

  mcp:verify:
    desc: Verify MCP server installation
    aliases: [mv]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/mcp-verify.ts

  mcp:remove:
    desc: Remove MCP server
    aliases: [mr]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/mcp-remove.ts

  mcp:status:
    desc: Show MCP server status
    aliases: [ms]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/mcp-status.ts

  installer:test:
    desc: Run complete installer test suite
    aliases: [it]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/test-installer.ts

  installer:test:force:
    desc: Test force reinstall
    aliases: [itf]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/test-installer.ts --force

  installer:test:clean:
    desc: Clean up test installations
    aliases: [itc]
    silent: true
    cmds:
      - bun run {{.TASKFILE_DIR}}/../src/tasks/claude/clean-test.ts
