Files
hyperguild/Taskfile.yml
Mathias Bergqvist 9bdf00f51f
All checks were successful
CI / Lint / Test / Vet (push) Successful in 9s
CI / Mirror to GitHub (push) Successful in 3s
refactor(mcp): connect Claude Code via direct HTTP, remove stdio bridge
Claude Code now supports MCP servers over HTTP natively (type: "http"
in .mcp.json). The stdio↔HTTP bridge binary was a workaround for the
older stdio-only constraint and is no longer needed — the supervisor
NodePort on koala (30320) is reachable over Tailscale from any client
machine.

Removed:
- cmd/bridge/ (Go source, ~60 lines)
- bin/supervisor-bridge artifact
- Taskfile bridge:build target and the build aggregate's reference
- README "Build the bridge binary" instruction

Updated:
- .mcp.json switched to {type:"http", url:"http://koala:30320/mcp"}
- README architecture diagram and "Connect a project" section

Behavioural prerequisite for this change shipped in 7f7524c
(notifications fix). Verified end-to-end: tier tool call returns
{tier:2, label:"lan-only"} via direct HTTP, no shim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 10:38:58 +02:00

126 lines
3.9 KiB
YAML

version: '3'
vars:
PROJECT_NAME: hyperguild
VERSION:
sh: git describe --tags --always --dirty 2>/dev/null || echo "dev"
SHORT_SHA:
sh: git rev-parse --short HEAD
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]
# ── Development ────────────────────────────────────────────────────────────
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"
supervisor:dev:
desc: Run supervisor MCP server (development)
cmds:
- go run ./cmd/supervisor
ingestion:dev:
desc: Run ingestion server in development mode
dir: ingestion
env:
INGEST_BRAIN_DIR: "{{.ROOT_DIR}}/brain"
INGEST_PORT: "3300"
cmds:
- go run ./cmd/server
# ── Build ──────────────────────────────────────────────────────────────────
build:
desc: Build all binaries
cmds:
- task: supervisor:build
- task: ingestion:build
supervisor:build:
desc: Build supervisor binary
cmds:
- go build -trimpath -ldflags="-s -w -X main.version={{.VERSION}}" -o bin/supervisor ./cmd/supervisor
ingestion:build:
desc: Build ingestion server binary
dir: ingestion
cmds:
- go build -trimpath -ldflags="-s -w" -o ../bin/ingestion-server ./cmd/server
# ── Quality ────────────────────────────────────────────────────────────────
check:
desc: Run all checks (lint + test + vet) across all modules
cmds:
- task: lint
- task: test
- task: vet
lint:
cmds:
- golangci-lint run ./...
- cd ingestion && golangci-lint run ./...
test:
cmds:
- go test -race -count=1 ./...
- cd ingestion && go test -race -count=1 ./...
vet:
cmds:
- go vet ./...
- govulncheck ./... || true
- cd ingestion && go vet ./...
supervisor:test:smoke:
desc: Smoke test supervisor via MCP (requires start 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 .
# ── Git / Release ──────────────────────────────────────────────────────────
tag:
desc: Create and push a semver tag (usage — task tag version=v1.2.3)
preconditions:
- sh: '[[ "{{.version}}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]'
msg: "version must be semver, e.g. v1.2.3 or v1.2.3-rc.1"
- sh: "git diff --quiet && git diff --cached --quiet"
msg: "working tree must be clean before tagging"
cmds:
- git tag -a {{.version}} -m "Release {{.version}}"
- git push origin {{.version}}
push:
desc: Push current branch and tags to origin
vars:
BRANCH:
sh: git rev-parse --abbrev-ref HEAD
cmds:
- git push origin {{.BRANCH}} --tags