🎉 gald3r v5.1.0 is out — A rebuilt foundation for autonomous software delivery..See release notes →

Concepts

What is Gald3r?

Gald3r is one signed binary — plus Gald3r Throne, gald3r_ide, and Longship — built around a verification ladder: the agent that writes code is never the one that marks it done, and every AI edit renders as a diff you accept hunk by hunk before it touches disk. Durable memory and multi-repo coordination ride along as supporting pillars, not the headline.

The Three Problems

01 The Agent Grades Its Own Work

You ask the agent that wrote the code to verify it. It passes everything — of course it does. The bugs it introduced are invisible to it. The edge cases it missed are the same ones it would miss when checking its own work.
Gald3r's answer: the verification ladder

The implementing agent can only mark a task [🔍] (awaiting verification). It is structurally incapable of marking it [✅]. A separate agent session runs @g-go-review and checks the work independently against the same acceptance criteria. Status lives in a local SQLite ledger, and the markdown board regenerates from it — gald3r doctor reports honestly and never fabricates green. A failed review sends the task back to pending with a reason, not a silent pass.

02 Edits Land Unseen

The agent tells you it refactored auth.ts. You believe it — the edit already went straight to disk. Now you're scrolling a chat transcript trying to reconstruct what actually changed, while the agent is already three files further along.
Gald3r's answer: diffs, accepted hunk by hunk

In Gald3r Throne and gald3r_ide, every AI-proposed edit renders as a unified diff before anything touches disk. Each hunk gets its own Accept/Reject control — take some hunks from a proposed change and leave the rest. Only accepted hunks are written, through the normal save path with the normal conflict detection. An append-only approvals ledger records what was proposed, accepted, and rejected. The same discipline covers agent-run commands: queued for your explicit approval, never invoked directly.

03 The Memory Problem

Session 1: You explain your architecture — PostgreSQL not SQLite, REST not GraphQL, no ORM.
Session 12:The agent suggests Prisma with SQLite. It doesn't remember session 1.

Every AI conversation starts from zero. Your constraints, conventions, and architectural decisions are forgotten the moment you close the chat.
Gald3r's answer: CONSTRAINTS.md + learned-facts.md

Every decision gets written to files that agents load at session start. Constraints are non-negotiable — any violation is flagged and blocks task completion. Learned facts capture conventions, preferences, and context that accumulate over time.

How Gald3r Works

Gald3r ships as one signed Go binary — no Python, no clone-and-copy template step, no Docker required for the core. gald3r setup scaffolds .gald3r/(the project's state directory) and a command layer for whichever AI IDEs you use (.cursor/, .claude/, and more). Task and bug status is authoritative in a local SQLite ledger; the markdown files below are regenerated from it, so they stay readable and diffable without being the source of truth. Gald3r Throne (the desktop control plane), gald3r_ide (a standalone editor sharing the same diff-review core), and Longship (a terminal UI) all read and write the same state. The optional world_tree cloud adds live cross-project coordination and team features — nothing above requires it.

.gald3r/PROJECT.md

Mission, goals, and project identity. Loaded at every session start.

.gald3r/TASKS.md

Master task index, regenerated from the SQLite ledger. Individual task files in .gald3r/tasks/.

.gald3r/CONSTRAINTS.md

Non-negotiable architectural rules. Checked before any task completes.

.gald3r/BUGS.md

Bug index with severity. Critical and high bugs run before new features.

.gald3r/DECISIONS.md

Append-only log of architectural choices and rationale.

.gald3r/PLAN.md

Milestones and delivery strategy.

Before and After Gald3r

ScenarioWithout Gald3rWith Gald3r
Task verificationSame agent marks own work doneSeparate session independently checks criteria against a SQLite ledger
AI-proposed editsLand straight to disk, sight unseenRender as a diff — you accept it hunk by hunk before it's written
New session startsAgent asks: 'what are we working on?'Agent loads context: goals, active tasks, constraints
Tech stack driftAgent suggests random librariesCONSTRAINTS.md enforced; any violation blocked
Breaking API changeDownstream repos break silentlyWPAC order broadcast to all children; each gets an INBOX entry
Switching IDEsLose all context, start overSame .gald3r/ state; identical board in any supported tool

Ready to try it?