version: '3' vars: VERSION: sh: git describe --tags --exact-match 2>/dev/null || echo "dev" LDFLAGS: "-X github.com/host-uk/core/pkg/cli.AppVersion={{.VERSION}}" tasks: # --- CLI Management --- cli:build: desc: "Build core CLI to ./bin/core" cmds: - go build -ldflags '{{.LDFLAGS}}' -o ./bin/core . cli:install: desc: "Install core CLI to system PATH" cmds: - go install -ldflags '{{.LDFLAGS}}' . # --- Development --- test: desc: "Run all tests" cmds: - core test test:verbose: desc: "Run all tests with verbose output" cmds: - core test --verbose test:run: desc: "Run specific test (use: task test:run -- TestName)" cmds: - core test --run {{.CLI_ARGS}} cov: desc: "Run tests with coverage report" cmds: - core go cov fmt: desc: "Format Go code" cmds: - core go fmt lint: desc: "Run linter" cmds: - core go lint mod:tidy: desc: "Run go mod tidy" cmds: - core go mod tidy # --- Quality Assurance --- qa: desc: "Run QA: fmt, vet, lint, test" cmds: - core go qa qa:quick: desc: "Quick QA: fmt, vet, lint only" cmds: - core go qa quick qa:full: desc: "Full QA: + race, vuln, security" cmds: - core go qa full qa:fix: desc: "QA with auto-fix" cmds: - core go qa --fix # --- Build --- build: desc: "Build project with auto-detection" cmds: - core build build:ci: desc: "Build for CI (all targets, checksums)" cmds: - core build --ci # --- Environment --- doctor: desc: "Check development environment" cmds: - core doctor doctor:verbose: desc: "Check environment with details" cmds: - core doctor --verbose # --- Code Review --- review: desc: "Run CodeRabbit review" cmds: - coderabbit review --prompt-only check: desc: "Tidy, test, and review" cmds: - task: mod:tidy - task: test - task: review # --- i18n --- i18n:generate: desc: "Regenerate i18n key constants" cmds: - go generate ./pkg/i18n/... i18n:validate: desc: "Validate i18n key usage" cmds: - go run ./internal/tools/i18n-validate ./... # --- Multi-repo (when in workspace) --- dev:health: desc: "Check health of all repos" cmds: - core dev health dev:work: desc: "Full workflow: status, commit, push" cmds: - core dev work dev:status: desc: "Show status of all repos" cmds: - core dev work --status