version: '3' tasks: install: desc: Install dependencies, generate client, and download data cmds: - uv run generate_tfl_client.py - uv sync - cd frontend && npm install download: desc: Download data deps: - install cmds: - uv run python download_land_registry.py - uv run python download_arcgis_data.py pipeline: desc: Run data processing pipeline deps: - download cmds: - uv run python -m pipeline.run prepare: desc: Prepare the application (install, download data, run pipeline) deps: - pipeline server: desc: Run FastAPI backend on port 8001 cmds: - uv run fastapi dev server/main.py --port 8001 frontend: desc: Run frontend dev server on port 3030 (proxies /api to :8001) dir: frontend cmds: - npm run dev build: desc: Build frontend for production dir: frontend cmds: - npm run build prod: desc: Run production server (serves built frontend) cmds: - uv run fastapi run server/main.py --port 8001 lint: desc: Lint all code (Python and TypeScript) cmds: - task: lint:python - task: lint:frontend lint:python: desc: Lint Python code with ruff cmds: - uv run ruff check . lint:frontend: desc: Lint frontend TypeScript code dir: frontend cmds: - npm run lint - npm run format:check format: desc: Format all code (Python and TypeScript) cmds: - task: format:python - task: format:frontend format:python: desc: Format Python code with ruff cmds: - uv run ruff check --fix . - uv run ruff format . format:frontend: desc: Format frontend TypeScript code dir: frontend cmds: - npm run lint:fix - npm run format check: desc: Run all checks (lint, typecheck, build) cmds: - task: lint - task: typecheck - task: build typecheck: desc: Type check frontend TypeScript code dir: frontend cmds: - npm run typecheck