Files
hyperguild/Taskfile.yml
2026-04-17 21:38:26 +02:00

116 lines
3.1 KiB
YAML

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
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 the full hyperguild (ingestion + supervisor) in a tmux session
cmds:
- |
tmux new-session -d -s hyperguild -x 220 -y 50 2>/dev/null || true
tmux rename-window -t hyperguild:0 'ingestion'
tmux send-keys -t hyperguild:ingestion "cd {{.ROOT_DIR}} && INGEST_BRAIN_DIR={{.ROOT_DIR}}/brain INGEST_PORT=3300 go run ./ingestion/cmd/server/" Enter
tmux new-window -t hyperguild -n 'supervisor'
tmux send-keys -t hyperguild:supervisor "cd {{.ROOT_DIR}} && SUPERVISOR_CONFIG_DIR={{.ROOT_DIR}}/config/supervisor SUPERVISOR_MODELS_FILE={{.ROOT_DIR}}/config/models.yaml SUPERVISOR_SESSIONS_DIR={{.ROOT_DIR}}/brain/sessions INGEST_BASE_URL=http://localhost:3300 go run ./cmd/supervisor/" Enter
tmux new-window -t hyperguild -n 'shell'
tmux select-window -t hyperguild:shell
tmux attach -t hyperguild
stop:
desc: Stop the hyperguild tmux session
cmds:
- tmux kill-session -t hyperguild 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