770+
Validated rows shipped
Each carries a contract, fixtures, and acceptance evidence.
METHODOLOGY · OPEN SOURCE · MIT LICENSE
TrebuchetDynamics built an agentic engineering loop that ports large Python codebases to Go in production — under TDD discipline, validation-gated commits, and a contract-typed plan. Gormes is the receipt.
That receipt runs the 30 most-used Hermes skills unchanged in one Go binary on Termux, Windows-without-Python, and locked-down corp Linux. No pip, no venv, no Docker daemon.
Build from source or run install.sh, prove the machine offline, then add provider and gateway credentials.
Scout release.
Offline TUI, onboarding, provider turns, local SQLite memory, dashboard, and Telegram/Discord/Slack gateway paths are available now. Release signing, voice/TTS, and full Hermes parity are still hardening.
THE METHODOLOGY
Gormes is the artifact TrebuchetDynamics' agentic engineering system produces. A planner → builder → TDD-slice loop runs around the clock, lands one bounded vertical slice at a time, and only commits when go test, progress validate, and git diff --check are all green. The methodology is the product. Hermes-parity is supporting evidence the methodology works.
Loop output, measured today
770+
Validated rows shipped
Each carries a contract, fixtures, and acceptance evidence.
807 Go files · 210k lines · 5552 tests
Code base
Static binary, zero CGO, no dynamic library deps.
~28.2 MB
Binary
Linux/amd64, linux/arm64, darwin/amd64, darwin/arm64 today.
Every loop commit must pass go test ./..., go run ./cmd/progress validate, and git diff --check before landing on development. No silent failures, no skipped hooks.
A schema-validated, contract-typed plan tracks every bounded slice. The loop selects the next builder-ready row; nothing else. No side queues, no private TODOs.
The skill set behind the loop (planner, builder, tdd-slice, parity-auditor, references, skill-manager) is generic Python-to-Go porting infrastructure. Open-source extraction is on the Q2 roadmap.
Upstream Hermes is the Python reference behavior. The loop sweeps each release for gaps, classifies them, and turns them into TDD slices — but Gormes can decline upstream features that contradict the sharp v1.0 cut.
INSTALL
Build from source when you want maximum inspection. Use install.sh when you want a source-backed managed install that publishes the stable gormes command. Both paths keep the first proof offline. No runtime Node or npm is needed to open the native UI.
git clone https://github.com/TrebuchetDynamics/gormes-agent.git
cd gormes-agent
make build
export PATH="$PWD/bin:$PATH"
gormes doctor --offline
gormes --offline curl -fsSLO https://gormes.ai/install.sh
less install.sh
sh install.sh
gormes doctor --offline Both paths end at the same gormes command. install.sh also runs gormes setup when a terminal is available. Read the install docs ->
Add a provider
gormes setup provider Configure endpoint credentials only after the local doctor and offline TUI prove the machine.
Smoke-test a turn
gormes --oneshot "hello" Run a single provider turn before starting longer local sessions or gateways.
Check gateway state
gormes gateway status Promote Telegram, Discord, or Slack only after the configured channel reports clean status.
Engineering teams curious how an autonomous loop ports Python projects to Go in production — and developers and operators who want local, inspectable agent infrastructure that survives restarts, bad networks, and dependency drift.
Teams that require signed enterprise releases, full Hermes parity, voice/TTS, or broad channel parity today.
Runtime-ready
Telegram, Discord, and Slack.
In roadmap validation
WhatsApp, WeChat, Signal, Matrix, and Mattermost.
WHY GORMES
The model is not usually the fragile part. Operations are:
Static Go builds keep the runtime surface in one binary with no Python runtime dependency.
gormes --offline starts the native TUI without credentials, network calls, Python, Node, Docker, or Hermes.
gormes doctor --offline checks local readiness before provider calls or token spend.
One-shots and the TUI use configured provider-compatible endpoints from the same binary.
Sessions, durable context, diagnostics, and queue state stay in local SQLite.
Full Hermes parity, broad channel parity, voice/TTS, MCP/plugin parity, and release hardening remain in progress.
CURRENT STATE
Production-stable Go-native runtime with signed releases and broader Hermes parity
Build from source or inspect install.sh, run the offline doctor, then add credentials only after the machine has proven itself.