The straight line for every AI-coded project.

Cordeau sets up a harness fitted to your project's stack. It interviews you, shows you what it will write, writes it, then proves that the checks refuse a bad commit.

> Push this to main.
git push --force origin main
Refused by Cordeau: this rewrites or deletes history on the remote. If wanted, the user runs it in their own terminal.
git commit -m "feat: add billing"
ruff checkFailed
F821 Undefined name `unknown_value`
Detect hardcoded secretsFailed
RuleID: github-pat
Written in your project
AGENTS.mdRules with their reason
RoadmapPhases, cards, where the project stands
.pre-commit-config.yamlLint, format, secrets, security rules
CI fileThe same checks, plus a dependency audit
.claude/settings.jsonWith Claude Code: sandbox, denied files, end-of-task checks
A sample session, with the messages the hook and the checks really print.

What it adds to Claude Code or Codex.

Claude Code and Codex are the agents. They work with what your project gives them. Cordeau gives them a frame, then checks that it holds.

Fitted to your stack

You don't name the tools. Cordeau reads your stack and the official docs of each tool, then picks the linter, type checker, tests, secret scan and dependency audit that fit: Ruff and pip-audit on Python, gosec and govulncheck on Go. The plan shows each one with its version, for you to approve.

Rules with their reason

Short AGENTS.md files that every session reads, written from an interview and from your code.

Checks the machine enforces

What can be checked becomes a check: at commit, in CI, in the sandbox, in the git hook. A rule the agent forgets still holds.

Proof before it hands back

It stages a throwaway file with a fake secret and a lint defect, and the commit must be refused. It tries the git hook on forbidden commands and the sandbox on a fictional secret file. A check that never runs protects nothing.

Security from the start

The interview asks whether the project is exposed and what data it handles. Then come secret detection at each commit, a dependency audit in CI, and a security pass on sensitive cards.

A roadmap every session reads

Phases and cards, with what is out of scope, so a new session knows where the project stands.

It asks. You approve. It proves.

  1. 1

    You ask

    In your project, say "set up the harness". It never starts on its own.

  2. 2

    It reads and asks

    It reads the project and the documentation of its tools, then asks about a dozen questions. Nothing is written yet.

  3. 3

    You approve the plan

    Each file, the exact content of each setting, hook and check, and what is left out, with the reason.

  4. 4

    It writes, then proves

    It tries the checks on a fake secret and a lint defect, and the sandbox on a fictional secret file.

On an existing project, it changes no existing code.

Then it keeps the line.

The checks run at each commit and in CI. At the end of a card, the passes review its uncommitted diff, with a fresh, read-only agent on Claude Code.

Git hook

Refuses force-push, reset --hard, checkout --, restore, clean -f and skipped checks when the agent tries them. On Claude Code and Grok Build through the plugin, on Codex through the copy the setup writes.

Simplification pass

Reads the diff for reuse, needless complexity, wasted work and fixes at the wrong level.

Security pass

On a card that touches authentication, permissions, data, user input or dependencies, reads the diff for access, input, secrets, dependencies, configuration and weakened guardrails.

What has been tested, and what hasn't.

Tried with Claude Code

On macOS, on fictional projects: an empty folder, an old Django application without tests, and a small Go API. The sandbox, the hook and the checks were made to refuse. The generated CI ran on GitHub for the Django and Go projects, and refused planted defects.

Also tried on macOS

Codex wrote a harness and ran both passes, and its sandbox and hook refused what they must. Grok Build loaded the plugin, its hook refused the forbidden commands, and the security pass found the planted flaws. Setting up a harness was not tried on Grok Build.

Not tried yet

Cursor, Linux and Windows, Node as the main stack.

Cordeau has no telemetry, and its scripts use the Python standard library only. npx skills is a third-party tool with its own anonymous telemetry: DISABLE_TELEMETRY=1 turns it off. The hook stops accidents, not an attacker: to really protect a branch, use the protection rules of your git host.

Stretch the line on your project.

Claude Code
claude plugin marketplace add gabigab117/cordeauclaude plugin install cordeau@gabigab117
Grok Build
grok plugin install 'gabigab117/cordeau#plugins/cordeau' --trust
Codex, Cursor and other tools
npx skills add gabigab117/cordeau

Then tell your agent, in any language: "Set up the harness for this project". On Codex, name the skill: $harness-setup. You need Python 3. The plugin needs Claude Code 2.1.277 or later, and npx skills needs Node 22.20 or later.

A cordeau is the line a mason stretches so that every row stays straight.