mathias 607c5fec3a
CD / Lint / Test / Vet (push) Successful in 4s
CD / Build & Import (push) Skipped
CD / Deploy via GitOps (push) Skipped
chore(lint): adopt the canonical .golangci.yml from infra/ci-templates
Estate had 26 Go repos, 3 with a lint config, all three different; the other
23 ran golangci-lint v2 defaults, which enable NO formatter -- the hole that
let gofmt drift rot undetected until it was found by hand (dma-cli#12).

Canonical lives at infra ci-templates/golangci.yml and is distributed by the
infra#309 pattern: byte-identical copies, checksum drift gate in infra. Do
not edit this file here -- edit the canonical and run `task ci:sync`.

Verified locally before pushing, not pushed-and-hoped: golangci-lint v2.11.4
run against a Go 1.26.1 toolchain (matching CI) reports 0 issues in this
repo with this config.
2026-09-05 12:51:06 +02:00

PROJECT_NAME

Go agent built on Google ADK with a LiteLLM adapter for local model routing.

Quick start

cp .env.example .env
# edit .env with your LITELLM_API_KEY
go mod tidy
task run

Harness & workflow

Single harness: Claude Code + hyperguild — session-based (start a session, it works, it stops). No push-triggered dispatch. MCP connections live in .mcp.json: brain (knowledge) and gitea (issues/PRs — the audit trail); provide BRAIN_MCP_TOKEN and GITEA_MCP_TOKEN.

Work flows: issue → hyperguild session → PR (task check gate) → report-back comment on the issue → brain capture if the learning is durable. See AGENTS.md / CLAUDE.md for the full context, AGENT_BOUNDARIES.md for runtime scope.

Observability

Set OTLP_ENDPOINT=http://jaeger.d-ma.be:4318 to emit traces. Each invocation produces:

  • invoke_agent __PROJECT_NAME__ span
  • generate_content <model> child span with gen_ai.request.model attribute

Structure

cmd/__PROJECT_NAME__/   agent entrypoint
pkg/litellm/           OpenAI-compat ADK adapter + OTLP telemetry helper
S
Description
Go ADK agent template with LiteLLM adapter and OTLP telemetry
Readme
125 KiB
Languages
Go 54%
Shell 44.6%
Dockerfile 1.4%