Harness

Harness turns a blank repository into a self-reviewing workspace for coding agents.

Harness is a TypeScript CLI for teams that want agents to work in a closed loop instead of improvising against an empty repo. It bootstraps the planning structure, evidence flow, and review rules first, then uses Codex to tailor the repository to the actual project.

The result is a repository where agents can plan, implement, validate, and review with much less hidden context.

Why Harness

What You Get

Harness sets up a repository to support this loop from day one:

  1. Define intent through PRODUCT_SPECS.md and repository product specs.
  2. Record architecture and tradeoffs in design docs.
  3. Execute non-trivial work through ExecPlans.
  4. Run validations and archive evidence.
  5. Run a separate validation subagent with an explicit review prompt that follows REVIEW.md before considering the task complete.
  6. Review changes against explicit expectations.

Commands

Quick Installation

Prerequisites:

Global install:

npm install -g @antubattle/harness

One-off use with npx:

npx @antubattle/harness init --project-name "My Project"

Quick Usage

Create or enter a project directory:

mkdir my-project
cd my-project

Initialize the baseline Harness scaffold:

harness init --project-name "My Project"

This creates the generic repository structure for product-spec standards, review guidance, design docs, ExecPlans, generated evidence, and agent workflow guidance.

Personalize that scaffold for the actual project:

harness configure

harness configure defaults to Codex, and --provider codex is the only supported explicit provider value right now.

Result:

The npm package name is @antubattle/harness, and the installed executable is harness.

What Makes It Different

Current State

Documentation

Repository Map

License

MIT. See LICENSE.