Skip to main content
AGENTS.md is the simplest way to teach Indent how your repository works. Drop it at the root of the repo and Indent reads it at the start of every session that touches that codebase.

What belongs here

Use AGENTS.md for guidance that applies across most tasks in the repo — the kind of things you’d tell a new teammate on their first day:
  • Setup and key commands — how to install dependencies, run the dev server, run tests.
  • Architecture — how the codebase is organized, what the major modules are, where to find things.
  • Conventions — naming patterns, file structure rules, import ordering, error handling style.
  • Testing expectations — what kinds of tests are expected for different types of changes.
  • Deployment and rollout — how releases work, what environments exist, any gates or constraints.

Example

# AGENTS.md

## Setup
- `pnpm install` to install dependencies
- `pnpm dev` to start the dev server on port 3000
- `pnpm test` to run the test suite (Jest)

## Architecture
- `src/api/` — Express route handlers, one file per resource
- `src/services/` — business logic, no direct database access
- `src/db/` — Prisma schema and migrations
- `src/workers/` — background job processors (BullMQ)

## Conventions
- Use named exports, not default exports
- Error responses use `src/lib/errors.ts` helpers, never raw status codes
- All new API endpoints need an integration test in `tests/api/`

## Testing
- Unit tests live next to the file they test (`foo.test.ts`)
- Integration tests go in `tests/api/` and run against a real Postgres instance
- Run `pnpm test:integration` separately — these require Docker

## Deployment
- Main branch auto-deploys to staging
- Production deploys go through the `release` branch and require a passing CI check
- Database migrations run automatically on deploy — never run them manually

Keep it durable

AGENTS.md should contain guidance that stays true across many tasks. If something is specific to a particular workflow — like how to deploy a specific service, or how to triage a certain class of incident — put it in a Skill instead.