Documentation

Write an AGENTS.md for your agents and Coroid's

One instruction file for your developers' assistants and Coroid's agents. What both use, what Coroid does itself, and how to keep one quality bar.

Your developers' assistants, such as Claude Code, Codex and Cursor, and Coroid's agents read the same AGENTS.md. Most of it serves both: the commands, the conventions and the boundaries. The part that does not is the Git workflow, because Coroid creates the branch, the commit and the pull request itself.

What Coroid's agents read

Before every task, Coroid's agents read the memory files at the root of the repository: AGENTS.md, CLAUDE.md, GEMINI.md and Cursor's rules in .cursor/rules. They follow @ imports, and identical instructions are included once. Choose which sources agents receive under Settings → Knowledge → Context. See Project context.

A task reads the files from its own checkout, so a change to AGENTS.md applies to the tasks that start after it reaches the base branch.

What serves both

Write these once, for every agent:

  • Commands: install, build, test, and the narrowest useful test, such as one package or one file. Check them from a clean clone, and name the directory to run them in and the services the tests need.
  • Conventions the code does not show: naming, error handling, how strings are translated, which patterns are banned.
  • Boundaries: frozen modules, paths a team owns, dependencies not to add, files never to edit by hand.

Keep it short. Every line is read on every task, by every agent. Link to a longer document instead of pasting it, and leave out what the code already shows.

What Coroid does itself

Coroid's agents change files in a sandbox. Coroid does the rest:

StepIn Coroid
BranchCoroid creates one per task: feature/coroid-<id>-<title>, or bugfix/, refactor/, test/ or docs/ by the kind of work. A plan's lanes use coroid/factory/…
CommitCoroid writes the commit message and adds provenance trailers such as Coroid-Task. When your connected account is the author, it adds Co-authored-by: Coroid <ai@coroid.ai>
PushCoroid pushes the branch. The sandbox refuses git push, git pull, git fetch and git clone, and holds no credentials for your provider
Pull requestCoroid opens it, titled after the task, with a description that links the task, its acceptance criteria and its QA and review results

Instructions such as "work on a ws/ branch", "open the pull request with gh pr create" or "end each commit with a co-author line" do not apply inside Coroid. Only the files an agent changes leave the sandbox, so a branch or commit it makes there is discarded. Coroid tells its agents so before your instruction files: they skip those steps and follow the rest.

Nothing is committed to your base branch: see Repository and branch settings.

Say which parts apply where

Coroid's agents already skip your Git workflow. Saying it in the file helps every reader, people included, and keeps a Coroid-only step, such as a check to run before finishing, in one place. Put a short section near the top:

## Working in Coroid

When you run inside Coroid, Coroid creates the branch, commits, pushes and
opens the pull request. Change files only, and skip "Git workflow" below.
Before you finish, run `npm run validate`.

Then mark the local workflow for what it is:

## Git workflow (local agents)

- Branch: `ws/<nn>-<name>` from `main`, in your own worktree.
- Commit messages end with your assistant's co-author line.
- Run `npm run check:local`, then open the pull request with `gh pr create`.

Your developers' assistants keep their workflow, and nobody has to guess which steps are whose.

Checks every pull request must pass

A check written only in AGENTS.md runs when an agent decides to run it. Coroid's commits also skip your repository's Git hooks, such as husky or pre-commit. A check that must hold for every change belongs in Quality Control as a Repository command check:

  • Coroid runs it on the changes its agents make.
  • With pull request checks on, it also runs on the pull requests your team opens, including those written with Claude Code, Codex or Cursor.

Both ways of working then meet the same bar. See Quality policies and gates.

For the anti-slop rules, a developer's assistant can ask Coroid for them over MCP. anti_slop_rules returns a snippet that states the project's rules for AGENTS.md: see Anti-slop rules from your editor.

CI that runs only for some branches

If your CI or branch protection only runs for some branch names, add Coroid's:

feature/coroid-*
bugfix/coroid-*
refactor/coroid-*
test/coroid-*
docs/coroid-*
coroid/factory/**

Otherwise Coroid's pull requests open without the checks your team relies on.

One file for every tool

Keep the instructions once, in AGENTS.md:

  • Codex and Cursor read AGENTS.md.
  • Claude Code reads CLAUDE.md. Make it a single @AGENTS.md line, plus anything only Claude Code needs.
  • Cursor also reads its rules in .cursor/rules. Coroid reads them as Cursor applies them: see Project context.

Coroid reads CLAUDE.md with its import and includes AGENTS.md once.

Check what Coroid reads

Under Settings → Knowledge → Context, Repository sources lists each file with an estimated token count and a switch. Edit opens a file there. Saving opens a pull request on a connected repository, so the change goes through the same review as any other.