# CLI Requirements - Client-side only (API-based, no local processing)
# These are the dependencies needed for the CLI to run on client machines

# ============================================================================
# CORE DEPENDENCIES
# ============================================================================

# Core CLI Framework
# Version constraints ensure compatibility while allowing security updates
typer>=0.9.0,<1.0.0
rich>=13.7.0,<14.0.0

# HTTP Client (for server communication)
requests>=2.31.0,<3.0.0

# Utilities
# pyperclip handles clipboard operations cross-platform
# On Linux, may require: xclip or xsel (system packages)
# On macOS, uses pbcopy/pbpaste (built-in)
# On Windows, uses pywin32 (installed automatically)
pyperclip>=1.8.2,<2.0.0

# ============================================================================
# PLATFORM-SPECIFIC NOTES
# ============================================================================
# - Linux: Install xclip or xsel for clipboard support
#   Ubuntu/Debian: sudo apt-get install xclip
#   Fedora/RHEL: sudo dnf install xclip
# - macOS: Clipboard support is built-in (no additional packages needed)
# - Windows: pyperclip will automatically use Windows clipboard APIs

# ============================================================================
# NOTES
# ============================================================================
# - NO server-side dependencies included (FastAPI, Supabase, Celery, etc.)
# - NO local processing dependencies (tree-sitter, regex, pyyaml, etc.)
# - The CLI ONLY communicates with the server via HTTP API
# - All analysis happens server-side
# - CLI only handles: zipping files, uploading, polling status, displaying results
# - Version upper bounds prevent breaking changes from major updates
# - Security updates within version ranges are automatically applied
