version: '3' tasks: dev-backend: desc: Run backend in watch mode. cmds: - dotnet watch --project src/Costasdev.Busurbano.Backend/Costasdev.Busurbano.Backend.csproj dev-frontend: desc: Run frontend development server. cmds: - npm run dev --prefix src/frontend build-proto: desc: Generates the protobuf bindings for C# and Python cmds: - protoc --python_out=./src/gtfs_vigo_stops/src --pyi_out=./src/gtfs_vigo_stops/src --proto_path=./src/common ./src/common/stop_schedule.proto - protoc --csharp_out=./src/Costasdev.Busurbano.Backend/Types/ --proto_path=./src/common ./src/common/stop_schedule.proto build-backend: desc: Publish backend in Release mode. cmds: - dotnet publish -c Release -o ./dist/backend src/Costasdev.Busurbano.Backend/Costasdev.Busurbano.Backend.csproj build-frontend: desc: Build frontend bundle. cmds: - npm run build --prefix src/frontend - mkdir dist/frontend - mv src/frontend/build/client/ dist/frontend/ format-backend: desc: Format backend solution. cmds: - dotnet format --verbosity diagnostic format-frontend: desc: Format frontend sources. cmds: - 'prettier --write src/frontend/**/*.{ts,tsx,css}' gen-stop-report: desc: Generate stop-based JSON reports for specified dates or date ranges. cmds: - uv --directory ./src/gtfs_vigo_stops run ./stop_report.py --output-dir ./output --feed-url https://datos.vigo.org/data/transporte/gtfs_vigo.zip --force gen-stop-json: desc: Generate stop-based JSON files for specified dates or date ranges. cmds: - uv --directory ./src/stop_downloader/vigo run ./download-stops.py - uv --directory ./src/stop_downloader/santiago run ./download-stops.py