# ctask developer task runner # Requires: Go 1.26+, PowerShell 7+ (for install/uninstall) # Install just: winget install Casey.Just # Default: show available targets default: @just --list # Compile ctask from the local repo build: go build -o ctask.exe . # Cross-compile a Linux amd64 binary into dist/. CGO_ENABLED=0 forces a # pure-Go static link so the binary works in minimal containers (Alpine, # distroless, scratch). Without this, native Linux builds default to # CGO_ENABLED=1 and link against the host glibc. build-linux: mkdir -p dist CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o dist/ctask-linux-amd64 ./ # Cross-compile a Windows amd64 binary into dist/. CGO_ENABLED=0 keeps # the artifact pure Go, matching the spec's "no cgo" rule. build-windows: mkdir -p dist CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o dist/ctask-windows-amd64.exe ./ # Build both Windows and Linux artifacts into dist/ build-all: build-windows build-linux # Run the full test suite test: go test ./... -v -count=1 # Install ctask to %LOCALAPPDATA%\ctask\bin (Windows, PowerShell) install: powershell -NoProfile -ExecutionPolicy Bypass -File scripts/install.ps1 # Uninstall ctask from %LOCALAPPDATA%\ctask\bin (Windows, PowerShell) uninstall: powershell -NoProfile -ExecutionPolicy Bypass -File scripts/uninstall.ps1