Getting Started

Set up a working coding agent in about ten minutes — runner, project context, and your first tools.

This guide takes you from nothing to a working agent that understands your project. Three steps: pick a runner, add project context, add capabilities.

1. Pick an agent runner

All of these run in your terminal, read your repo, edit files, and execute commands. Pick one — you can switch later, and your AGENTS.md and MCP config concepts carry over.

RunnerInstallNotes
Claude Codenpm install -g @anthropic-ai/claude-codeSkills, hooks, subagents, strong MCP support
Codex CLInpm install -g @openai/codexOpen source, sandboxed execution, reads AGENTS.md natively
Grok Buildcurl -fsSL https://x.ai/cli/install.sh | bashxAI's agent (model grok-build-0.1): Plan Mode, parallel subagents, MCP-native, reads AGENTS.md
Gemini CLInpm install -g @google/gemini-cliOpen source, generous free tier, built-in web search
Aiderpython -m pip install aider-install && aider-installGit-native pair programming, many model providers

Prefer an editor? Cursor, Cline, and Continue give you the same agentic loop inside VS Code or JetBrains. See the full Tools directory for more.

Then start it inside your project:

cd your-project
claude        # or: codex, grok, gemini, aider

The big win of the AGENTS.md convention and MCP: your project context and tools carry across all of these runners. Set them up once and switch agents freely.

2. Add project context (the highest-leverage step)

Agents are only as good as what they know about your project. Create an AGENTS.md at the repo root:

# AGENTS.md

## Project
Next.js 16 + TypeScript web app. pnpm for packages, Vitest for tests.

## Commands
- Dev server: pnpm dev
- Tests: pnpm test
- Lint + typecheck: pnpm lint && pnpm exec tsc --noEmit

## Conventions
- Small, focused components; server components by default
- Never use `any` — use `unknown` + type guards
- Every behavior change needs a test

## Workflow
1. Read the relevant code before editing
2. Write a short plan for non-trivial tasks
3. Run lint + tests before declaring done

Codex CLI, Gemini CLI, Cursor, and most other agents read AGENTS.md automatically. Claude Code uses CLAUDE.md — either run /init to generate one, or make it a one-line pointer:

@AGENTS.md

See AGENTS.md Best Practices for what makes these files actually work.

3. Add capabilities with MCP servers

MCP (Model Context Protocol) is the open standard for giving agents tools — browsers, search, databases, GitHub, and more. One server works across Claude Code, Codex, Gemini CLI, Cursor, and most other runners.

Two that pay off immediately:

# A real browser (navigate, click, screenshot) — Microsoft's official server
claude mcp add playwright -- npx -y @playwright/mcp@latest

# Current library docs injected into context — kills hallucinated APIs
claude mcp add context7 -- npx -y @upstash/context7-mcp

Browse the full MCP directory — every entry includes copy-paste setup for the major runners. New to MCP? Understanding MCP explains how it all fits together.

4. Run your first real task

Don't start with "build me an app." Start with something small and verifiable:

Read AGENTS.md, then fix the failing test in src/utils/date.test.ts.
Explain the root cause before you change anything.

Good first tasks: fix a failing test, add input validation to one endpoint, write tests for one module, update a stale README section.

5. Level up