What it is
doug is a lightweight Go CLI that acts as a deterministic orchestrator for coding agents. It supports the full agentic software development lifecycle: Research, Plan, Implement, Validate, and Observe/Learn.
It includes a built-in knowledge base that lets agents reuse project context across tasks, driving up to a 95% cache read rate for more consistent and token-efficient development workflows.
Why I built it
Most coding agents start every task cold, with no memory of what was decided last week, what patterns the codebase uses, or what failure modes have already been discovered and solved. This leads to inconsistent output, redundant work, and agents that make the same mistakes repeatedly.
doug treats the knowledge base as a first-class part of the workflow. Before an agent starts a task, it has access to accumulated project context. After it finishes, what was learned gets written back. Over time, the agent gets better at working in the specific codebase rather than starting from scratch every time.
How it works
The orchestrator manages task state through a structured lifecycle, ensuring agents don’t skip steps or lose context between phases. The knowledge base stores project-specific facts, architectural decisions, known gotchas, and reusable patterns in a format agents can query efficiently.
The 95% cache read rate isn’t just a performance number; it means agents are consistently working from a shared, accurate picture of the project rather than hallucinating structure or re-deriving decisions that were already made.
Design philosophy
doug optimizes for high-value mistakes, letting agents move fast while catching the failures that actually matter. The goal isn’t to make agents perfect; it’s to make sure they fail in recoverable, informative ways rather than silently going off the rails.