# GarminSync Development Workflow This document describes the new development workflow for GarminSync using UV and justfile. ## Dependency Management We've switched from pip/requirements.txt to UV for faster dependency installation. The dependency specification is in `pyproject.toml`. ### Key Commands: ```bash # Install dependencies with UV just run_build # Create and activate virtual environment uv venv .venv source .venv/bin/activate # Update dependencies uv pip install -r pyproject.toml ``` ## Tooling Integration ### justfile Commands Our workflow is managed through a justfile with these commands: ```bash just run_dev # Run server in development mode with live reload just run_test # Run validation tests just run_lint # Run linter (Ruff) just run_format # Run formatter (Black) just run_migrate # Run database migrations ``` ### Pre-commit Hooks We've added pre-commit hooks for automatic formatting and linting: ```bash # Install pre-commit hooks pre-commit install # Run pre-commit on all files pre-commit run --all-files ``` The hooks enforce: - Code formatting with Black - Linting with Ruff - Type checking with mypy