Leaner
Small reads, small models.
The read gate keeps big files closed. Haiku reads, Sonnet builds, Opus reviews specs.
Agents write the code. Harness holds them to a spec, to tests and to review, and keeps them from wasting tokens on the way.
Copies both lines: marketplace, then plugin
Why a harness
Agents are fast. Without rules they skip tests, read whole repos and forget what they did yesterday.
Leaner
The read gate keeps big files closed. Haiku reads, Sonnet builds, Opus reviews specs.
Safer
No commit without a test change, on a red suite, or with --no-verify.
Better
Fresh reviewers read every spec and every commit. They never saw your chat.
Continuous
STATE.md carries each session forward. Ionian Brain syncs it.
The loop
Every feature walks the same four steps. Two gates stand in the way. The read gate watches all of them.
Nothing is built until you approve the spec.
A test changed, the suite is green, no --no-verify, no secrets staged.
Files over 350 lines stay closed. A small model answers instead.
You need bash, git and jq. gitleaks is optional. I developed and tested it on macOS.
/plugin marketplace update ionianlabs, then the install line.harness.toml with your test command in the repo root. The commit gate only acts in repos that have one.# add the marketplace and the plugin
/plugin marketplace add ionianlabs/brain
/plugin install ionian-harness@ionianlabs
# in your repo, tell the gate how to test (harness.toml)
[test]
unit = "npm test"
# then describe a feature
› Draft a spec for CSV export.
Version 0.1.0. Everything above works today. These gaps remain.
Every gate exists because something broke first, so expect more gates, not fewer. Known limits: the commit gate cannot see commands built from variables, and the read gate does not count every read form.
Yes. Harness never reads or writes a brain. With Ionian Brain, the sync skill carries STATE.md into your brain at the end of a session.
Claude Code. GitHub Copilot support is not built yet.
A little, on purpose. Your unit suite runs at every commit, and tests come first. The read gate only steps in for whole-file reads over 350 lines.
The commit gate only acts in repos with a harness.toml, so leave it out and it stays quiet. For commits that need no test, such as docs, put [no-tests] in the message. The read gate fails open.
It keeps agents from reading big files whole and sends file questions to a small model. I have not measured a number yet, so I don’t claim one.
Sonnet drafts specs, writes code and reviews commits. Three Opus reviewers read each spec. Haiku answers file questions.
Yes. It is MIT licensed, with no account.