# 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/
build-linux:
    mkdir -p dist
    GOOS=linux GOARCH=amd64 go build -o dist/ctask-linux-amd64 ./

# Cross-compile a Windows amd64 binary into dist/
build-windows:
    mkdir -p dist
    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
