Generate AGENTS.md
Назначение
Сформировать AGENTS.md как операционный контракт для AI‑агента: как собирать проект, где тесты, какие правила код-стайла обязательны, и какие границы/безопасность нельзя нарушать.
Принципы (обязательно)
- •Плотность: без «социального шума», только инструкции.
- •Детерминизм: формулировки бинарные (делай/не делай), без «старайся/желательно».
- •Коротко: цель — примерно 150–200 строк (если проект очень большой — используй иерархию).
- •Show, don’t tell: где важно — добавляй 1–3 коротких примера «❌/✅».
- •Безопасность: явный раздел Boundaries & Security.
- •Устойчивость к ошибкам: проверки предусловий, явные исключения/ошибки, корректный rollback/cleanup.
- •SOLID: при описании правил по коду закрепляй принципы (SRP, явные зависимости, тестируемость).
Стратегия размещения (root vs nested)
- •Один корневой
AGENTS.md— по умолчанию для малого/среднего репозитория с единым стеком. - •Иерархия
AGENTS.md— если монорепо/несколько стеков/папкиapps/,services/,packages/:- •
/AGENTS.md: общие инварианты (безопасность, git, CI, базовые запреты). - •
/apps/<name>/AGENTS.mdили/services/<name>/AGENTS.md: правила и команды конкретного домена.
- •
Сбор фактов о репозитории (перед генерацией)
Собери минимально необходимую информацию, чтобы команды были точными и копируемыми:
- •Стек и менеджеры зависимостей:
- •Node:
package.json+ lock (pnpm-lock.yaml/package-lock.json/yarn.lock) - •Python:
pyproject.toml/requirements.txt - •Go:
go.mod - •Rust:
Cargo.toml - •.NET:
*.sln/*.csproj
- •Node:
- •Команды:
Makefile,justfile,scripts/,package.json scripts, CI workflow. - •Тесты/линтер/форматтер: названия команд и как запустить один тест.
- •Структура: ключевые папки и их ответственность (не перечисление ради перечисления).
Если факт неизвестен — не выдумывай. Либо найди в репозитории, либо оставь явный TODO‑placeholder.
Правила редактирования файла (безопасное поведение)
- •Если
AGENTS.mdне существует → создайAGENTS.md. - •Если
AGENTS.mdуже существует и пользователь явно не просил перезаписать → не модифицируй его.- •Вместо этого создай
AGENTS.md.draft(или выведи содержимое в чат) и попроси пользователя применить/заменить вручную.
- •Вместо этого создай
- •Никогда не добавляй в
AGENTS.mdсекреты/ключи/внутренние URL/PII.
Шаблон содержимого (структура)
Используй структуру ниже. Подставь реальные команды и реалии репозитория. Полный шаблон см. в template.md.
Обязательные разделы:
- •Persona / Context
- •Architecture / Project Map
- •Operations (install/build/test/lint/format + запуск одного теста)
- •Code Style (правила + 1–3 примера «❌/✅»)
- •Boundaries & Security
- •Change policy (как поддерживать файл в актуальном состоянии)
Чеклист качества (перед завершением)
- • Команды сборки/тестов/линта копируются и запускаются (без фантазий).
- • Указан один менеджер зависимостей (например, pnpm), чтобы не плодить lock‑файлы.
- • Есть команда запуска одного теста (unit) и, если применимо, e2e.
- • Раздел Boundaries & Security содержит запреты на:
- •эксфильтрацию данных,
- •вывод секретов,
- •деструктивные команды без явного подтверждения,
- •удаление файлов без подтверждения.
- • Файл короткий, без длинных эссе и «works cited».