version: '3' vars: PROJECT_NAME: '{{.PROJECT_NAME | default "myproject"}}' tasks: context:sync: desc: Regenerate all harness-specific context files cmds: - bash scripts/context-sync.sh sources: - .context/PROJECT.md - .skills/*/SKILL.md context:sync:claude: cmds: [bash scripts/context-sync.sh claude] context:sync:agents: cmds: [bash scripts/context-sync.sh agents] context:sync:cursor: cmds: [bash scripts/context-sync.sh cursor] dev: desc: Start development server cmds: - go run ./cmd/server build: desc: Build the binary cmds: - go build -o bin/{{.PROJECT_NAME}} ./cmd/server check: desc: Run all checks (lint + test + vet) cmds: - task: lint - task: test - task: vet lint: cmds: [golangci-lint run ./...] test: cmds: [go test -race -count=1 ./...] vet: cmds: - go vet ./... - govulncheck ./... || true up: desc: Start containers cmds: [docker compose up -d] down: cmds: [docker compose down] init: desc: Initialize a new project from this template cmds: - bash scripts/init.sh supervisor:dev: desc: Run supervisor MCP server (development) cmds: - go run ./cmd/supervisor supervisor:build: desc: Build supervisor binary cmds: - go build -o bin/supervisor ./cmd/supervisor bridge:build: desc: Build stdio↔HTTP bridge for Claude Code MCP integration cmds: - go build -o bin/supervisor-bridge ./cmd/bridge supervisor:test:smoke: desc: Smoke test supervisor via MCP (requires supervisor:dev running) cmds: - | curl -s -X POST http://localhost:${SUPERVISOR_PORT:-3200}/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | jq . start: desc: Start ingestion + supervisor (requires goreman — go install github.com/mattn/goreman@latest) cmds: - goreman start stop: desc: Stop all hyperguild processes (Ctrl-C in the goreman terminal, or kill by port) cmds: - lsof -ti:3300 | xargs kill -9 2>/dev/null || true - lsof -ti:3200 | xargs kill -9 2>/dev/null || true - echo "hyperguild stopped" ingestion:build: desc: Build ingestion server binary cmds: - go build -o bin/ingestion-server ./cmd/server dir: ingestion ingestion:dev: desc: Run ingestion server in development mode env: INGEST_BRAIN_DIR: "{{.ROOT_DIR}}/brain" INGEST_PORT: "3300" cmds: - go run ./cmd/server dir: ingestion ingestion:test: desc: Run ingestion tests cmds: - go test ./... -v dir: ingestion