version: "3" tasks: build: desc: Build the bot binary cmds: - go build -o bin/bot ./cmd/bot test: desc: Run unit tests cmds: - go test ./... test:cover: desc: Run unit tests with HTML coverage report cmds: - go test -coverprofile=coverage.out ./... - go tool cover -html=coverage.out -o coverage.html test:int: desc: Run integration tests (requires Docker) cmds: - go test -tags=integration ./test/integration/... lint: desc: Run golangci-lint cmds: - golangci-lint run ./... run: desc: Run the bot locally cmds: - go run ./cmd/bot tidy: desc: Tidy go modules cmds: - go mod tidy docker:build: desc: Build Docker image via docker compose cmds: - docker compose -f deploy/docker-compose.yml build --no-cache docker:up: desc: Build and start services via docker compose cmds: - docker compose -f deploy/docker-compose.yml up -d --build docker:down: desc: Stop services via docker compose cmds: - docker compose -f deploy/docker-compose.yml down docker:logs: desc: Tail bot logs from docker compose cmds: - docker compose -f deploy/docker-compose.yml logs -f bot