version: '3' vars: BINARY_NAME: cms MAIN_PATH: ./main.go tasks: default: desc: Display available tasks cmds: - task --list build: desc: Build the application deps: [templ] cmds: - go build -o {{.BINARY_NAME}} {{.MAIN_PATH}} sources: - '**/*.go' - 'go.mod' - 'go.sum' generates: - '{{.BINARY_NAME}}' css:compile: desc: Compile SCSS to CSS using Sass cmds: - npx sass --style compressed assets/bulma/bulma.scss static/style.css --no-source-map sources: - 'assets/bulma/sass/**/*.scss' generates: - 'static/style.css' run: desc: Run the application deps: [templ] cmds: - go run {{.MAIN_PATH}} templ: desc: Generate templ files cmds: - templ generate sources: - 'pkg/views/*.templ' generates: - 'pkg/views/*_templ.go' csp:generate: desc: Generate CSP script hashes from templates cmds: - go generate ./pkg/csp/... sources: - 'pkg/views/*.templ' generates: - 'pkg/csp/generated_hashes.go' templ:watch: desc: Watch and generate templ files on change cmds: - templ generate --watch clean: desc: Clean build artifacts cmds: - rm -f {{.BINARY_NAME}} - rm -f pkg/views/*_templ.go test: desc: Run tests cmds: - go test -v ./... test:cover: desc: Run tests with coverage cmds: - go test -v -coverprofile=coverage.out ./... - go tool cover -html=coverage.out -o coverage.html lint: desc: Run linter cmds: - golangci-lint run --fix ./... fmt: desc: Format code cmds: - go fmt ./... - templ fmt . deps: desc: Download dependencies cmds: - go mod download - go mod tidy deps:update: desc: Update dependencies cmds: - go get -u ./... - go mod tidy