Template
The template carried the old multi-tool/agentsquad-era CAD-executor scaffold. Refresh it to the consolidated single-harness reality (hyperguild#75/#76): Claude Code + hyperguild, session-based, brain + gitea MCP. No dispatch automation added (out of scope — dispatch stays manual until real friction warrants it). Removed (multi-tool + dead generator + deployed-agent-era): - .aider.conf.yml, .aider.conventions.md, .cursorrules - .context/ (mcp.json, PROJECT.md, system-prompt.txt) - agent-policy.yaml (k8s NetworkPolicy scaffold) - scripts/context-sync.sh (generated the above from .context/PROJECT.md — now input-less) + its context:sync* Taskfile tasks Added / updated: - .mcp.json (root, hyperguild-shaped: brain + gitea, Bearer env tokens) - CLAUDE.md / AGENTS.md / README.md → single-harness workflow (issue → hyperguild session → PR → report-back comment → brain capture) - AGENT_BOUNDARIES.md kept (harness-agnostic egress/scope guidance); repointed its two references to the removed agent-policy.yaml Left alone: cd.yml, Dockerfile, Taskfile (build/test), go.mod, cmd/, internal/, pkg/, .claude/. No dangling refs to removed files (verified). Refs infra#178. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# __PROJECT_NAME__ — agent context
|
|
|
|
Standalone context for agents that read `AGENTS.md` from the repo root. Claude Code uses
|
|
`CLAUDE.md` (and tree-walks to `~/dev/CLAUDE.md`); this file mirrors the same essentials for
|
|
any other harness.
|
|
|
|
## Project
|
|
|
|
- **Name**: __PROJECT_NAME__ — a Go agent (ADK + LiteLLM).
|
|
- **Owner**: Mathias · **Client**: personal · **Repo**: git.d-ma.be/mathias/__PROJECT_NAME__
|
|
|
|
## Harness
|
|
|
|
Single harness: **Claude Code + hyperguild** — session-based (start a session, it works, it
|
|
stops). There is **no** push-triggered dispatch, listener, or scheduled poller, and none should
|
|
be added without a fresh, friction-driven decision. MCP connections in `.mcp.json`:
|
|
|
|
- **brain** (`brain-mcp.d-ma.be`) — knowledge query/write. `BRAIN_MCP_TOKEN`.
|
|
- **gitea** (`git-mcp.d-ma.be`) — issues/PRs/repo, the audit trail. `GITEA_MCP_TOKEN`.
|
|
|
|
## Workflow
|
|
|
|
1. **Issue** — work is scoped as a Gitea issue (acceptance criteria + report-back format).
|
|
2. **Session** — a Claude Code + hyperguild session does the work in this repo.
|
|
3. **PR** — branch off `main`; open a PR; CI (`task check`) is the gate.
|
|
4. **Report-back** — comment the outcome on the issue (issue comments are the audit surface).
|
|
5. **Brain capture** — persist durable, non-obvious learnings to the brain.
|
|
|
|
## Conventions
|
|
|
|
- Go: standard tooling; `task check` (lint + vet + `go test -race`) before every PR.
|
|
- Errors wrapped (`fmt.Errorf("...: %w", err)`); structured `slog`.
|
|
- Trunk-based: commit to `main` via PR; one logical change per commit; CI is the quality gate.
|
|
- Secrets via env (`BRAIN_MCP_TOKEN`, `GITEA_MCP_TOKEN`, `LITELLM_API_KEY`); never in code.
|
|
|
|
## Boundaries
|
|
|
|
Runtime scope (network egress allow-list, file scope, approved operations, failure posture) is
|
|
in `AGENT_BOUNDARIES.md`. Read it before adding tools, endpoints, or write access.
|
|
|
|
## Observability
|
|
|
|
Traces → Jaeger via `OTLP_ENDPOINT`; `ADK_SERVICE_NAME=__PROJECT_NAME__`. Spans: `invoke_agent`,
|
|
`generate_content`.
|