Guide / chapter 1
Set up your tools
- Tools
- Claude Code, Codex, Cursor
- Published
- Reviewed
| Claude Code | Codex | Cursor | |
|---|---|---|---|
| Instruction file | CLAUDE.md | AGENTS.md | AGENTS.md or .cursor/rules/*.mdc |
| MCP config, project | .mcp.json | .codex/config.toml (trusted projects) | .cursor/mcp.json |
| MCP config, user | ~/.claude.json | ~/.codex/config.toml | ~/.cursor/mcp.json |
| Add an MCP server | claude mcp add --scope project <name> <url> | codex mcp add <name> -- <command> | Edit the JSON file, or use the Customize page |
| Skills, project | .claude/skills/ | .agents/skills/ | .cursor/skills/ or .agents/skills/ |
| Skills, user | ~/.claude/skills/ | ~/.agents/skills/ | ~/.cursor/skills/ or ~/.agents/skills/ |
| Editor | Terminal, VS Code and JetBrains extensions; Zed and other editors over ACP via Zed’s adapter. | Terminal, IDE extension and ChatGPT desktop share one config; Zed and others over ACP via Zed’s adapter. | Its own editor and a CLI; also listed as an agent in the ACP registry. Reads Claude and Codex skill folders too. |
Checked against each vendor's documentation. Instruction files, MCP and skills are explained in the reference.
Most of the difference between an engineer who gets a day’s work out of an agent and one who gets a demo out of it is setup. The agent that knows your build command, your conventions and your tools does not need to be told them every session. The table above is where each tool looks for that.
Pick one agent
Claude Code, Codex and Cursor all read an instruction file, all speak MCP, and all load skills in the same format. The workflow transfers. Pick the one your team already pays for, and switch only if you hit a wall.
Write the instruction file
This is the highest-value hour in this guide. The file is plain Markdown at the repo root. Put in it:
- How to build, test and lint, as exact commands. The agent will run them.
- Where things live: the two or three directories that matter and what is in them.
- Conventions the linter cannot enforce: naming, error handling, how you structure a module.
- What not to touch: generated files, vendored code, the migration folder.
- Gotchas: the flaky test, the env var that has to be set, the thing that looks dead but is not.
Keep it under a page. Long files get skimmed, by agents as much as by people. Anything task-specific belongs in a skill, not here.
Write AGENTS.md, since Codex and Cursor read it directly. For Claude Code, add a CLAUDE.md containing only:
@AGENTS.md
Claude Code does not read AGENTS.md on its own, and this import makes one file serve every tool. Cursor also accepts rules files under .cursor/rules with frontmatter, which lets you scope a rule to a file glob. Start with the plain file.
Connect the tools you already have
An MCP server gives the agent a capability it cannot get from the shell. Connect only what your stack has:
- Your source host, for issues and pull requests.
- Your database, read-only.
- Your issue tracker.
- Your docs or design system, if they live somewhere searchable.
Use the project-scoped config from the table and commit it. Everyone on the team then gets the same tools, and the file is reviewable like any other change. Keep user-scoped config for personal things.
Two cautions. Every server adds tool descriptions to the context on every turn, so ten servers make the agent slower and vaguer. And a server’s tool descriptions are input to the model, so treat a third-party server like a dependency. See prompt injection.
Put it in your editor
Cursor is an editor. Claude Code and Codex are terminal programs with VS Code and JetBrains extensions, and both run inside Zed and other editors through ACP adapters that Zed maintains. Running the agent inside the editor means it sees unsaved buffers, and its file edits show up as diffs you can accept or reject. Use that. Reviewing a diff is faster than reviewing a terminal transcript.
Do this today
- Write
AGENTS.mdwith build, test and lint commands and the three directories that matter. - Add
CLAUDE.mdwith the one-line import if anyone on the team uses Claude Code. - Connect your source host’s MCP server at project scope and commit the file.
- Open the agent in your editor and have it run the test suite. If it cannot, fix the instruction file until it can.
Read more
- AGENTS.md & CLAUDE.md Two conventions for the repo-level file coding agents read before working. AGENTS.md is cross-tool; CLAUDE.md is Claude Code's own and can import it.
- MCP The open protocol an agent uses to discover and call tools, read resources, and load prompts from servers it did not write.
- Agent Skills A folder with a SKILL.md, scripts and resources that an agent loads on demand, so a workflow can be packaged once and used by any compatible agent.
- ACP The protocol between a code editor and a coding agent, covering sessions, streamed output, file edits, permissions and terminals over JSON-RPC.