Girdle logo

Coding agent · CLI

Girdle

A terminal coding agent you can leave alone. The LLM plans, edits and runs tools. Jev judges progress, completion and risky shell commands. A Go control loop applies every decision and records why it was made.

Experimental · open source · Apache-2.0
Girdle's fast flow: roughly twice as fast on two recorded warm suites with the same model and observed pass rate. Fewer model round trips, Jev nudges unfinished work, and shell commands are risk-checked before execution.

Highlights

  • ⚡

    Less waiting between steps

    The fast flow sends repository context with the task, gathers files and searches in one lookup, and batches edits, so there are fewer model round trips.

  • 🔁

    Keeps unfinished work moving

    When Jev judges a turn incomplete, Girdle prompts another. A heartbeat redirects work that loops or drifts off task.

  • ✅

    Checks behind “done”

    Edits run a check as they land, and the fast flow attempts an independent test of the request before Jev accepts completion.

  • 🛡️

    Shell tripwire

    ast-grep blocks recognised catastrophic commands. Jev weighs other risky ones against what you actually authorised.

  • 🧾

    Every decision on record

    Each checkpoint decision goes into a local JSONL log with its evidence, so you can see why it kept going or stopped.

  • 🎛️

    Your choice of model

    Pick from every OpenRouter model your key can use, with independent reasoning effort. Interactive TUI or headless.

Evidence so far

In warm runs on Muse Spark 1.3, the fast flow finished tasks in about half the time of the previous default, passing every run in both. On real repositories from a cold start the gain was 1.24×. These are small task sets, and the repository records false completions alongside the passes.

Warm Muse Spark comparisons: small fixtures averaged 38.8 seconds for the default flow and 19.4 for fast, with 39/39 passes each; real repositories averaged 66.2 and 33.2 seconds, with 18/18 passes each.

Requires Go 1.27 or newer on Linux or macOS, with OpenRouter and TypeSafe API keys.