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:
| Step | In Coroid |
|---|---|
| Branch | Coroid 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/… |
| Commit | Coroid 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> |
| Push | Coroid pushes the branch. The sandbox refuses git push, git pull, git fetch and git clone, and holds no credentials for your provider |
| Pull request | Coroid 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.mdline, 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.