An AI-native development methodology for engineers who orchestrate coding agents instead of hand-writing every line.
"Complexity is the enemy. Autonomy is the solution. Precision is the result."
Brutal Programming is an opinionated methodology and prompt framework for driving terminal-based coding agents (such as Claude Code, Replit Agent, or Lovable) in a disciplined, verifiable way.
It is named after Brutalist architecture: functional, structural, and unapologetically honest. The goal is to counter two common failure modes of AI-assisted coding — hallucinated fixes and "lazy coding" — by enforcing structure, independent review, and step-by-step verification.
This repository documents the methodology and ships the system prompt used to put it into practice.
A common failure in AI-assisted coding is staying inside a single chat thread. When an agent makes a mistake, it tends to "fix" it based on its own flawed reasoning. IDAV proposes a split-brain approach:
- Role: Generates the logic, the orchestration, and the core implementation.
- Context: Deeply embedded in the project requirements.
- Role: A separate agent — a different provider or a fresh thread — with zero knowledge of the Architect's reasoning.
- Context: Receives only the output and the specification.
- Task: To break, critique, and find edge cases in the Architect's code.
The methodology is implemented through a meta-prompt that turns a high-reasoning LLM into an Orchestrator which directs a terminal-based Executor. The full prompt lives in orchestration/system_prompt.md.
Its rules of orchestration:
- Planning first — the Executor may not modify files until a blueprint is approved.
- The "GO" protocol — implementation happens in atomic steps; each step requires an explicit "GO".
- Verification-first — every change must pass unit tests, linters, and type-checkers before it counts as done.
- Git discipline — commit after every successful logical unit to keep a clean, reversible history.
- No hardcoding — demand generic, scalable solutions over case-specific shortcuts.
- Open
orchestration/system_prompt.md. - Load its contents as the system prompt for a high-reasoning LLM (your Orchestrator).
- Describe the feature or bug you want to work on.
- The Orchestrator produces a precise, staged prompt for your coding agent (the Executor).
- Run that prompt, paste the Executor's report back, and iterate one "GO" at a time.
- For anything critical, hand the output and spec to a fresh Adversary agent for independent review (IDAV).
Brutal Programming grew out of hands-on AI-native development work in legal-tech: building retrieval-augmented (RAG) pipelines over large, inconsistent document sets and managing schema migrations across isolated multi-tenant databases. Those projects motivated the emphasis on independent validation, atomic steps, and strict Git discipline captured here.
.
├── README.md
└── orchestration/
└── system_prompt.md # The "Brutal Orchestrator" system prompt
Early-stage and evolving. This repository currently documents the methodology and provides the core orchestrator system prompt. It is a living manifesto — expect the wording and structure to change as the approach is refined in practice. Feedback and critique are welcome.
No license file is currently included, so default copyright applies. If you would like to reuse this material, please open an issue or contact the author.
Cornelii Sandberg
- Email: corresandberg@gmail.com
- LinkedIn: https://www.linkedin.com/in/cornelii