
AGENTS.md: что это за файл и как его читают Codex, Claude Code и OpenCode
AGENTS.md — Markdown-файл в корне репозитория с командами сборки и тестов, стилем кода и правилами PR; его читают Codex, Cursor, OpenCode, Copilot и Claude Code. Генератор соберёт такой файл под ваш проект.
рядом с README, коммитится в Git
сборка, тесты, стиль кода, pull request
свой AGENTS.md в каждом пакете
Codex, Cursor, OpenCode, Copilot, Claude Code
агент запускает тесты из файла и чинит ошибки
Что такое AGENTS.md и зачем он нужен
AGENTS.md — простой открытый формат инструкций для ИИ-агентов, которые пишут код. Его называют README для агентов: в README.md остаются быстрый старт, описание проекта и правила для людей, в AGENTS.md — шаги сборки, тесты и соглашения, которые нужны агенту и только загромождали бы README.
Обязательных полей нет. Это обычный Markdown с любыми заголовками, агент просто читает текст. Если в файле перечислены команды проверок, агент попробует их запустить и исправить ошибки до конца задачи. Файл можно править в любой момент, как живую документацию.
Формат появился из совместной работы OpenAI Codex, Amp, Jules от Google, Cursor и Factory. OpenAI выпустила AGENTS.md в августе 2025 года. 9 декабря 2025 года Linux Foundation объявила о создании Agentic AI Foundation (AAIF), и AGENTS.md стал одним из трёх стартовых проектов фонда вместе с MCP от Anthropic и goose от Block. С тех пор форматом управляет AAIF.
AGENTS.md лежит больше чем в 60 тысячах открытых проектов. Файл подхватывают Codex, Cursor, OpenCode, Gemini CLI, GitHub Copilot, VS Code, Devin, Jules, Zed, goose, Kilo Code, Warp, Windsurf, Junie и другие агенты.
Какой агент читает какой файл
Название файла общее, но ищет его каждый агент по-своему: одни склеивают все AGENTS.md от корня до текущей папки, другие берут первый найденный, третьи подгружают файлы подпапок по ходу работы. Настройки MCP для этих агентов собраны в разделе /mcp/klienty/.
AGENTS.override.md, затем AGENTS.md, затем имена из project_doc_fallback_filenames
~/.codex (или CODEX_HOME), потом каждая папка от корня Git до текущей
Склеивает от корня вниз; ближний к текущей папке файл идёт последним и главнее; в одной папке берёт один файл
CLAUDE.md; AGENTS.md и .claude/AGENTS.md — если CLAUDE.md нет
Текущая папка и все выше; подпапки — когда Claude открывает в них файл
Оба файла сразу — значение claude-md-and-agents-md в /config; AGENTS.override.md не читает; версия 2.1.277 и новее
AGENTS.md, без него CLAUDE.md
Вверх от текущей папки; глобально ~/.config/opencode/AGENTS.md, запасной ~/.claude/CLAUDE.md
Побеждает первый найденный файл; ещё файлы подключает ключ instructions в opencode.json
AGENTS.md
Корень проекта и любые подпапки
Вложенный файл складывается с родительским, более конкретный главнее
AGENTS.md, CLAUDE.md, GEMINI.md, .github/copilot-instructions.md
CLI: корень репозитория, текущая папка и папки между ними; в VS Code файлы вне корня рабочей области по умолчанию выключены
Ближайший AGENTS.md главнее; в CLI запись @путь подключает другой файл
GEMINI.md; AGENTS.md — через context.fileName в settings.json
~/.gemini, папки рабочей области и их родители; подпапки — когда инструмент заходит в них
Все найденные файлы склеиваются и уходят модели с каждым запросом
AGENTS.md, GEMINI.md, .agents/AGENTS.md, .agents/rules/*.md
Рабочая папка и родители до корня репозитория; глобально ~/.gemini/AGENTS.md
Все правила суммируются; файлы из подпапок ниже рабочей не грузит
Первый найденный из .rules, .cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md, AGENT.md, AGENTS.md, CLAUDE.md, GEMINI.md
Корень проекта; личный файл ~/.config/zed/AGENTS.md
Проектный файл главнее личного
AGENTS.md, затем .goosehints; список меняет CONTEXT_FILE_NAMES
~/.config/goose/ и папки от текущей до корня Git
Все файлы объединяются; файлы подпапок подхватываются по ходу сессии
AGENTS.md, запасной AGENT.md
Корень проекта; подпапки — когда агент читает оттуда файлы
Ниже по приоритету, чем промпт агента и instructions из kilo.jsonc; менять файл агент может только с вашего согласия
Первый найденный из .hermes.md, AGENTS.override.md, AGENTS.md, CLAUDE.md, .cursorrules
Цепочка от корня Git до текущей папки, подпапки по ходу работы
Склеивает от корня вниз, глубже — главнее; вне Git-репозитория смотрит только текущую папку
Пример AGENTS.md
Минимальный пример для монорепозитория на pnpm и Turborepo. В нём три блока: подсказки по окружению, как запускать и чинить тесты и правила для pull request.
Личные привычки для всех проектов Codex берёт из ~/.codex/AGENTS.md, например «запускать npm test после правки JavaScript» или «спрашивать перед добавлением новых зависимостей». Временно подменить его можно файлом ~/.codex/AGENTS.override.md, удалите его, и вернутся обычные правила.
# Sample AGENTS.md file
## Dev environment tips
- Use `pnpm dlx turbo run where <project_name>` to jump to a package instead of scanning with `ls`.
- Run `pnpm install --filter <project_name>` to add the package to your workspace so Vite, ESLint, and TypeScript can see it.
- Use `pnpm create vite@latest <project_name> -- --template react-ts` to spin up a new React + Vite package with TypeScript checks ready.
- Check the name field inside each package's package.json to confirm the right name—skip the top-level one.
## Testing instructions
- Find the CI plan in the .github/workflows folder.
- Run `pnpm turbo run test --filter <project_name>` to run every check defined for that package.
- From the package root you can just call `pnpm test`. The commit should pass all tests before you merge.
- To focus on one step, add the Vitest pattern: `pnpm vitest run -t "<test name>"`.
- Fix any test or type errors until the whole suite is green.
- After moving files or changing imports, run `pnpm lint --filter <project_name>` to be sure ESLint and TypeScript rules still pass.
- Add or update tests for the code you change, even if nobody asked.
## PR instructions
- Title format: [<project_name>] <Title>
- Always run `pnpm lint` and `pnpm test` before committing.Что писать в AGENTS.md
Пишите то, что рассказали бы новому человеку в команде. Codex по команде /init составляет файл на 200–400 слов с разделами о структуре проекта, командах, стиле кода, тестах, коммитах и pull request. OpenCode по /init собирает команды сборки, линтера и тестов, порядок проверок, архитектуру, которую не понять по именам файлов, и особенности настройки окружения.
Claude Code советует держать файл короче 200 строк: длинный тратит контекст, и агент хуже следует правилам. Из двух противоречащих правил агент может выбрать любое, поэтому их стоит вычищать. Правила пишите конкретными, с числами и примерами: «цикломатическая сложность меньше 10».
Что за проект, где лежат исходники, тесты и ресурсы, какая архитектура не видна по именам файлов.
Точные команды сборки, линтера и тестов и их порядок. Агент запустит перечисленные проверки и будет чинить ошибки, пока всё не пройдёт.
Отступы, правила языка, шаблоны имён, какие линтеры и форматтеры стоят в проекте.
Фреймворк, требования к покрытию, как назвать новый тест и как запустить один нужный.
Формат сообщения коммита, заголовок PR, что приложить к нему: описание, связанные задачи, скриншоты.
Секреты и ключи, большие наборы данных, шаги деплоя и всё, на чём новичок обычно спотыкается.
Вложенные AGENTS.md в монорепозитории
В большом монорепозитории положите отдельный AGENTS.md в каждый пакет. Агент читает ближайший к редактируемому файлу AGENTS.md, и при конфликте он главнее. Прямые указания в чате важнее любого файла. В основном репозитории OpenAI было 88 файлов AGENTS.md.
Codex собирает цепочку один раз при запуске и останавливается на текущей папке: AGENTS.md из подпапок ниже он не прочитает. Запускайте его из папки пакета, например codex --cd services/payments, а правила для отдельной команды кладите в AGENTS.override.md рядом с её кодом.
Claude Code, Cursor, goose, Kilo Code, Hermes Agent и Gemini CLI подхватывают файлы подпапок по ходу работы, когда открывают там файлы. Antigravity ниже рабочей папки правила не грузит. В OpenCode файлы пакетов подключает шаблон packages/*/AGENTS.md в ключе instructions файла opencode.json.
project/
AGENTS.md # Global instructions
frontend/
AGENTS.md # Frontend-specific instructions
components/
AGENTS.md # Component-specific instructions
backend/
AGENTS.md # Backend-specific instructionsAGENTS.md, CLAUDE.md и SKILL.md
Все три файла — Markdown для агента, разница в том, кто их читает и когда они попадают в контекст.
Общий файл для всех агентов. Без frontmatter, читается в начале сессии и действует всё время. Подходит для команд, стиля кода и правил репозитория.
Файл Claude Code. Склеивается от корня диска до текущей папки, умеет подключать другие файлы записью @путь на глубину до четырёх уровней, рядом можно положить личный CLAUDE.local.md. Если в репозитории есть CLAUDE.md, AGENTS.md по умолчанию не читается. Чтобы держать один файл на всех, поставьте в CLAUDE.md строку @AGENTS.md или сделайте симлинк ln -s AGENTS.md CLAUDE.md; на Windows надёжнее импорт.
@AGENTS.mdНавык для конкретной задачи: деплой, миграции, ревью. В frontmatter — name и description, в контексте постоянно висит только описание, тело грузится при вызове. Навыки Claude Code следуют открытому стандарту Agent Skills, свои навыки есть и у Codex, готовые навыки собраны в каталоге /mcp/skills/.
Здесь лежат описания субагентов и своих агентов: Markdown с YAML frontmatter. С инструкциями проекта в AGENTS.md их не путайте.
Родные файлы Gemini CLI и GitHub Copilot. Copilot читает AGENTS.md, CLAUDE.md и GEMINI.md как инструкции агента, Gemini CLI начинает читать AGENTS.md после настройки context.fileName.
Лимиты размера
Codex перестаёт добавлять файлы, когда их общий размер доходит до project_doc_max_bytes, по умолчанию 32 КиБ. Пустые файлы он пропускает. Лимит поднимают в ~/.codex/config.toml, там же список запасных имён файлов, или разносят правила по вложенным папкам. Цепочку Codex пересобирает при каждом запуске, кэш чистить не нужно.
Antigravity обрезает любой файл правил больше 24 000 байт, а на все постоянные правила даёт 20 000 токенов. При превышении самые большие файлы заменяются ссылками, и агент читает их по необходимости.
Hermes Agent режет длинный файл с сохранением 70% начала и 20% конца. Порог задаёт context_file_max_chars, без него он зависит от окна модели: от 20 000 до 500 000 знаков. Claude Code советует держать файл до 200 строк, импорты через @ контекст не экономят: подключённые файлы грузятся вместе с основным.
# ~/.codex/config.toml
project_doc_fallback_filenames = ["TEAM_GUIDE.md", ".agents.md"]
project_doc_max_bytes = 65536Частые вопросы
Что такое AGENTS.md?
Как OpenCode читает AGENTS.md?
Читает ли Claude Code AGENTS.md?
Где Codex ищет AGENTS.md?
Где взять пример AGENTS.md?
Источники: https://agents.md/, agentsmd/agents.md, https://learn.chatgpt.com/docs/agent-configuration/agents-md, https://code.claude.com/docs/en/memory, https://opencode.ai/docs/rules/, https://cursor.com/docs/rules, https://docs.github.com/en/copilot/how-tos/copilot-cli/custo, https://www.linuxfoundation.org/press/linux-foundation-annou