Find a HARNESS.md for your project

Browse all 3 entries in the hub

What a HARNESS.md is

A HARNESS.md records the design of a project's agent harness: where a coding agent runs, what it reads, how it checks its own work, what stops a bad change, and what it may do without asking. The entrypoint file, the permission files, the hooks, and the CI configuration are built from it.

You can use one in two ways. As a template: save a file from the hub in your project root, tell your coding agent what the project is for, and have it check the file's Context section against your project before it builds the harness. Delete the file afterwards if you like. Or as an anchor document: keep it in the repository as the project's lasting record of the design, change it rarely, and open it only to check the harness for drift or to improve it.

The specification is there to help you write a HARNESS.md; reading one does not depend on it. An agent that has never seen the specification, with no plugin installed, can still read the file and act on it.

Where to go next

What is in the file

A short frontmatter with the file's name and description, then a title, an introduction, and prose under whatever headings suit the design. The specification recommends these thirteen headings, in this order. None is required.

  1. Contextthe facts that shape the design: cost of a mistake, team, platform
  2. Invariantsrules every task follows
  3. Stylewhat the code should look like so agents can work in it
  4. File Structurethe directories and files the design requires
  5. Environmentwhere the agent runs and what it can reach
  6. Knowledgewhat the agent reads, and when
  7. Feedbackhow the agent verifies its own work
  8. Gatesthe checks that stop defects
  9. Authoritywhat the agent may do on its own, and what needs a human
  10. Completionhow a goal is agreed, and what counts as done
  11. Entropyhow the harness stays true to the code
  12. Open Questionswhat is still undecided
  13. Referencesthe material the design drew on