version: '3' tasks: generate: desc: Run templ generate cmds: [templ generate] build: desc: Build the binary deps: [generate] cmds: [go build -o bin/spatial-agent-app ./cmd/spatial-agent-app] run: deps: [build] cmds: [./bin/spatial-agent-app] test: desc: Run all tests deps: [generate] cmds: [go test ./... -race] lint: cmds: [golangci-lint run ./...] check: desc: Lint, vet, and test (used by CI) deps: [generate] cmds: - golangci-lint run ./... - go vet ./... - go test ./... -race -count=1 # The template guard decides whether CI runs at all in every child repo, # so its regression test belongs in the same gate as the Go tests. - bash scripts/tests/is-template_test.sh # Decide whether build and deploy run at all; same reasoning. - bash scripts/tests/deploy-enabled_test.sh - bash scripts/tests/cd-wiring_test.sh # The three Go commands above cannot see cmd/spatial-agent-app -- Go's # ./... expansion skips directories whose names start with an underscore. # This gates the substituted result, which is what a child actually runs. - bash scripts/tests/generated-child_test.sh context:sync: desc: Regenerate all harness-specific context files cmds: - bash scripts/context-sync.sh context:sync:claude: cmds: [bash scripts/context-sync.sh claude] context:sync:agents: cmds: [bash scripts/context-sync.sh agents]