Skip to content

Overview

Procoder — senior dev wisdom, automated

Make your AI coder work like a senior developer — a commit gate it cannot talk its way past, quality controllers that refuse to call unfinished work done, a self-learning loop that closes each escaped bug's whole class, and one contract that works across every AI coding agent. The agent stays in control; nothing ever touches your code behind its back.

Current version: 1.0.1

flowchart LR
    A[agent writes a file] --> H[/"write hook fires<br/>same turn, cannot be skipped"/]
    H --> B[binary computes findings]
    B -->|"findings + the fixed content"| R[agent reviews and writes]
    R --> A

This site follows the Divio documentation system: a tutorial to learn from, how-to guides to work from, reference to look things up in, and explanation to understand by. Each page says which it is.

Learn

  • Getting started — the tutorial, for Claude Code: one-step install, let it fit out your repository, then watch the gate refuse a change and accept it. Ten minutes.

Work

The reference

  • The ten domains — security, lint, maintainability and dependency freshness, performance and benchmarks, documentation and decision records, formatting, testing, CI, infra, GitOps: what each checks and what blocks.
  • Command reference — every command, from the gate to the release controller.
  • Configuration — every knob and rules file under .procoder/, and the override guarantee.
  • Every agent — Cursor, Codex, Copilot, OpenCode, Kilo Code and the rest: one AGENTS.md, thin adapters, drift-guarded.
  • Changelog — every release, in words a user can read (also in this site's nav, built from the repo's CHANGELOG at deploy time).

Understand

  • The quality chain — why "done" is a verdict a controller gives rather than a feeling the agent has, and why every link refuses instead of advising.
  • Architecture — the binary, the hooks, and the three contracts (agent in control, unchecked is never clean, the repo's files win).
  • Influences — what Procoder absorbed from superpowers, ponytail and serena, where each idea lives now, and why you no longer need to run them alongside it.

What makes it different

Refusal, not advice. todo close refuses without evidence; spec check blocks on open questions; sprint close refuses to hide an unfinished story; release lists every reason the tag is not earned yet; the gate counts a tool that could not run as failing. Verdicts mean something because they cannot be waved through.

Reports that mean what they say. NOT-checked never reads as clean, a test suite that did not run is never green, single-ecosystem checks name their ecosystem (benchmarks are Go, licenses are Go, complexity is Go and Python), claims carry their method, and the docs you are reading are held to completeness checks that block the gate (how the lessons loop enforces that).

One engine, thin everything else. A single Go binary computes every verdict; skills, hooks, and per-agent adapters are pointers to it. No runtime dependencies, no network at hook time, air-gapped installs included.