# yaml-language-server: $schema=https://taskfile.dev/schema.json version: '3' vars: DEV_COMPOSE: docker compose -f compose.yaml -f compose.dev.yaml tasks: default: desc: List available commands silent: true cmds: - task --list dev: desc: Start both services with hot reload summary: | Build and start the API and webapp with Compose Watch. Webapp: http://localhost:5173; API: http://localhost:8080. Ctrl+C stops the services. Run task dev:down to remove containers. Override occupied ports with API_PORT=18080 DEV_WEB_PORT=15173 task dev. Requires Docker Compose 2.32+; native Go, Node and pnpm are unnecessary. cmds: - '{{.DEV_COMPOSE}} up --build --watch' dev:down: desc: Stop and remove development containers cmds: - '{{.DEV_COMPOSE}} down' dev:logs: desc: Follow development service logs cmds: - '{{.DEV_COMPOSE}} logs --follow --tail 100' dev:status: desc: Show development service status cmds: - '{{.DEV_COMPOSE}} ps' install: desc: Download native server and webapp dependencies cmds: - task: server:install - task: webapp:install check: desc: Check Go code, webapp linting and TypeScript types cmds: - task: server:check - task: webapp:check test: desc: Run server race tests and webapp component tests cmds: - task: server:test - task: webapp:test build: desc: Build both production Docker images cmds: - docker compose build format: desc: Format Go code and apply safe Biome fixes cmds: - task: server:format - task: webapp:format server:install: desc: Download Go modules dir: server cmds: - go mod download server:check: desc: Run Go vet dir: server cmds: - go vet ./... server:test: desc: Run Go tests with race detection dir: server cmds: - go test -race ./... server:format: desc: Format server Go source dir: server cmds: - go fmt ./... webapp:install: desc: Install webapp dependencies from the lockfile dir: webapp cmds: - pnpm install --frozen-lockfile webapp:check: desc: Run Biome and TypeScript checks dir: webapp cmds: - pnpm check webapp:test: desc: Run Vitest component tests dir: webapp cmds: - pnpm test webapp:format: desc: Apply Biome formatting and safe fixes dir: webapp cmds: - pnpm format