version: "3" tasks: download: desc: Download latest client-side libs cmds: - go run cmd/downloader/main.go build:styles: desc: Build TailwindCSS styles cmds: - go tool gotailwind -i assets/css/input.css -o assets/css/output.css --minify sources: - "assets/css/input.css" - "**/*.go" generates: - "assets/css/output.css" build: desc: Production build to bin/c4 cmds: - go build -o bin/c4 . deps: - build:styles live:styles: desc: Watch and rebuild TailwindCSS styles cmds: - go tool gotailwind -i assets/css/input.css -o assets/css/output.css -w live:server: desc: Run server with hot-reload via air cmds: - | go tool air \ -build.cmd "go build -tags=dev -o tmp/bin/c4 ." \ -build.bin "tmp/bin/c4" \ -build.exclude_dir "data,bin,tmp,deploy" \ -build.include_ext "go" \ -misc.clean_on_exit "true" live: desc: Dev mode with hot-reload deps: - live:styles - live:server test: desc: Run the test suite cmds: - go test ./... lint: desc: Run golangci-lint cmds: - golangci-lint run run: desc: Build and run the server cmds: - ./bin/c4 deps: - build default: desc: Run the default task (live) cmds: - task: live