Перейти к содержимому
TOOL · Шаблоны промптов и файлов-инструкций

Claude Code / Codex
Промпты-инструкции и сборник шаблонов

30 шаблонов CLAUDE.md / AGENTS.md / Cursor Rules. Вставьте промпт в чат, чтобы их сгенерировать, или вставьте готовый файл напрямую. Оба способа работают.

ИИ-агенты для кодинга (Claude Code, OpenAI Codex, Cursor и другие) читают файл-инструкцию в корне вашего репозитория (CLAUDE.md / AGENTS.md), чтобы узнать правила этого проекта. Но когда эти инструкции расплывчаты, ИИ с радостью их игнорирует. Эффективный файл-инструкция выглядит так: короткие повелительные предложения, явные запреты и чёткое определение готовности с шагами проверки.

О том, почему их игнорируют и как это исправить, читайте Почему ИИ игнорирует ваши правила .md и как это исправить .

Способ A · Рекомендуется Вставьте в чат и дайте сгенерировать (8)

Просто вставьте промпт прямо в поле чата Claude Code / Codex / Cursor. ИИ изучит ваш репозиторий и запишет файл-инструкцию с вашими реальными командами.

Почти не требует ручного редактирования. Используйте это также для проверки и улучшения существующих файлов-инструкций или для их преобразования в формат AGENTS.md / Cursor.

Способ B Вставьте готовый файл напрямую (22)

Скопируйте готовый файл-инструкцию и сохраните его как CLAUDE.md в корне вашего репозитория. Замените лишь несколько подстановок вроде <name> на данные вашего окружения.

Для тех, кто хочет сам разбираться в содержимом и управлять им, или кому нужен стартовый шаблон под конкретный язык/фреймворк.

Фильтр:

Просто вставьте в чат (промпты для генерации и улучшения)

Сгенерировать файл-инструкцию с нуля (CLAUDE.md / AGENTS.md, автоисследование репозитория)

Самый простой вариант. Вставьте его в чат, и ИИ изучит ваш репозиторий и запишет файл-инструкцию с вашими реальными командами. Почти не требует ручного редактирования.

Вставить в чат Claude Code Codex Cursor
Изучи весь этот репозиторий и создай в корне файл-инструкцию,
который ты (этот агент) загружаешь автоматически
(Claude Code использует `CLAUDE.md`, Codex использует `AGENTS.md`, Cursor использует `.cursor/rules/`).

Включи:
- Обзор проекта (что делает приложение, технологический стек)
- Команды (dev-сервер / build / test / lint). Определи реальные команды
  из настоящих файлов, таких как package.json или Makefile (не угадывай)
- Соглашения по коду (соответствуй фактическому стилю, который ты прочитал в существующем коде)
- Абсолютные правила: никогда не коммить секреты или .env / никогда не переформатируй несвязанные строки /
  никогда не делай push, если не сказано
- Определение готовности: не сообщай «готово», пока не проходят lint и test
  (укажи реальные имена команд)

Не заполняй пробелы догадками; спрашивай меня, когда что-то неясно.
В конце запиши всё это как описанный выше файл-инструкцию.

Почему это работает:Дать ИИ прочитать и записать ваш собственный репозиторий - самый быстрый путь. Если оставить имя файла на усмотрение инструмента (CLAUDE.md / AGENTS.md и т. д.), это работает как есть и в Claude, и в Codex. А поскольку команды и пути закрепляются из ваших реальных файлов, ручное редактирование не нужно.

Проверить существующий файл-инструкцию и переписать его в эффективную форму

На случай, когда у вас уже есть файл-инструкция (CLAUDE.md / AGENTS.md), но ИИ его не соблюдает. Пусть он укажет слабые места, а затем перепишет его с повелительными формулировками и шагами проверки.

Вставить в чат Claude Code Codex Cursor
Прочитай файл-инструкцию, который ты (этот агент) загружаешь (CLAUDE.md / AGENTS.md и т. д.),
укажи слабые места, которые ИИ-агенты склонны игнорировать, а затем перепиши его
в эффективную форму.

На что обратить внимание:
- Преврати расплывчатые формулировки в повелительные (всегда делай X / никогда не делай Y)
- Добавь определение готовности и шаги проверки (запуск lint / test)
- Сделай запреты конкретными вплоть до цели (имена директорий, имена команд)
- Если он слишком длинный, сократи его до сути, которую ты хочешь обеспечить

Сначала перечисли слабые места списком, затем выведи полную переписанную
версию и примени её к этому файлу-инструкции.

Почему это работает:Неэффективный файл-инструкция обычно расплывчат, не имеет шагов проверки и называет запреты лишь абстрактно. Если заставить ИИ самому сформулировать слабые места перед их исправлением, улучшения становятся конкретными.

Добавить определение готовности под ваш текущий репозиторий

Добавьте единственный самый важный блок с вашими реальными командами, чтобы ИИ не останавливался, когда ему лишь кажется, что он закончил.

Вставить в чат Claude Code Codex Cursor
Определив фактические команды build / test / lint этого репозитория,
добавь раздел «Определение готовности» в файл-инструкцию, который ты загружаешь
(CLAUDE.md / AGENTS.md и т. д.).

Требования:
- Сделай его контрольным списком в форме «не сообщай «готово», пока не выполнено всё перечисленное»
- Явно укажи реальные команды lint и test
- Включи: не оставляй TODO или отладочные логи в изменённых файлах и перечитывай собственный diff

Не нарушай существующее содержимое; только добавь раздел.

Почему это работает:Когда критерии завершения расплывчаты, ИИ останавливается из самодовольства. Простое добавление контрольного списка с реальными командами запускает цикл самопроверки. Указание «добавь, не нарушай существующее содержимое» - безопасный подход.

Автоматически определить язык/фреймворк и добавить правила

Пусть определит стек и добавит подходящие правила, например границы Server/Client для Next.js.

Вставить в чат Claude Code Codex Cursor
Автоматически определи язык и фреймворк этого репозитория и добавь
соответствующие правила лучших практик в файл-инструкцию, который ты загружаешь
(CLAUDE.md / AGENTS.md и т. д.).

Примеры:
- Next.js: граница Server/Client (по умолчанию Server, держи use client минимальным)
- Laravel: валидация через Form Requests, соглашения по миграциям
- Python: аннотации типов, никогда не перезаписывай и не фабрикуй сырые данные

Добавь однострочную заметку об основании для определения (по каким файлам ты судил)
перед дополнением. Не дублируй то, что уже записано.

Почему это работает:Точки сбоя различаются в зависимости от языка. Если заставить ИИ автоматически определять и добавлять только релевантные правила, это точнее универсального шаблона и проще в сопровождении.

Добавить абсолютные правила для безопасности / Git / тестирования

Добавьте набор абсолютных правил, предотвращающих необратимые аварии.

Вставить в чат Claude Code Codex Cursor
Добавь следующие «абсолютные правила» в файл-инструкцию, который ты загружаешь
(CLAUDE.md / AGENTS.md и т. д.), адаптировав их под устройство этого репозитория.

- Никогда не коммить секреты, .env или учётные данные
- Никогда не делай push / force-push, если не сказано
- Проверяй ввод на границе / никогда не ослабляй аутентификацию или авторизацию по своей инициативе
- Никогда не запускай разрушительные команды (DROP / TRUNCATE / migrate:fresh и т. д.) на продакшен-БД
- Каждый раз, меняя поведение, всегда добавляй или обновляй тесты

Если похожие правила уже существуют, не дублируй их; добавь только то, чего не хватает.

Почему это работает:Аварии концентрируются вокруг «утечки секретов, незапрошенных push, разрушительных операций с БД». Добавление их как поимённых абсолютных правил останавливает ИИ от выхода из-под контроля прямо на входе.

Преобразовать CLAUDE.md в формат AGENTS.md (Codex)

Воссоздайте то же содержимое для Codex. Для тех, кто использует несколько ИИ-инструментов вместе.

Вставить в чат Codex Claude Code
Преобразуй содержимое этого `CLAUDE.md` в формат `AGENTS.md` для
OpenAI Codex и запиши его.

- Сохрани смысл, но придай ему структуру, удобную для чтения Codex
  (заголовки, маркированные списки)
- Сохрани команды, абсолютные правила и определение готовности как есть
- Выведи это как `AGENTS.md` в корне

Почему это работает:CLAUDE.md и AGENTS.md делят почти всё своё содержимое. Если считать один источником истины и преобразовывать из него, это сокращает усилия по сопровождению двух файлов.

Преобразовать в формат Cursor Rules (.mdc)

В формат Project Rules от Cursor. Выводит всегда применяемые правила и правила для конкретных типов файлов раздельно.

Вставить в чат Cursor
Преобразуй содержимое этого `CLAUDE.md` в формат Project Rules от Cursor
(файлы `.mdc` в каталоге `.cursor/rules/`).

- Раздели правила на осмысленные единицы
- Отдели правила, которые должны применяться всегда, от правил, которые применяются
  только к определённым типам файлов
- Задай подходящие условия применения (globs и т. д.) в начале каждого файла

Почему это работает:Cursor работает лучше с файлами .mdc, разделёнными по назначению, чем с одним большим листом правил. Оставить решения о разделении ИИ к тому же быстрее.

Сгенерировать раздельные файлы-инструкции для монорепо

Автоматически распределяет общие правила в корень, а правила под конкретный стек - в каждый пакет.

Вставить в чат Claude Code Codex
Изучи структуру этого монорепо и создай файлы-инструкции, которые ты
(этот агент) загружаешь (Claude Code использует CLAUDE.md, Codex использует AGENTS.md и т. д.),
разделив их следующим образом.

- В корне: правила, общие для всего репозитория
  (соглашения по коммитам, защита секретов, общее определение готовности)
- В каталоге каждого пакета/приложения: только правила и команды, специфичные для этого стека

Избегай дублирования и добавь однострочную заметку в каждый пакет: «следуй
общим правилам в корне». В конце сообщи списком, что ты разместил в какой директории.

Почему это работает:Монорепо ломается под одним гигантским файлом-инструкцией. Разделение общих правил в корень, а специфичных - по каждому пакету, позволяет ИИ читать правильные правила для контекста, в котором он находится.

Готовые к вставке файлы - основы и правила

Универсальная основа (для любого проекта)

Ваш первый файл. Минимальная настройка с обзором проекта, командами, соглашениями и абсолютными правилами. Если сомневаетесь, начните отсюда и добавляйте или убирайте.

Сохранить как файл Claude Code Codex Cursor
# Проект: <name>

## Что это
Однопараграфный обзор приложения. Что оно делает, кто им пользуется, и технологический
стек (язык, фреймворк, БД, среда выполнения).

## Команды
- Dev-сервер: `npm run dev`
- Сборка:     `npm run build`
- Тесты:      `npm test`
- Lint:       `npm run lint`

## Соглашения
- Язык - TypeScript (strict). Не используй `any`.
- Соответствуй стилю файла, который ты сейчас редактируешь. Перед завершением всегда проходи Lint.
- Держи изменения минимальными; не трогай несвязанные строки (никакого несвязанного переформатирования).

## Абсолютные правила (строго обязательно)
- Прежде чем сообщить «готово», всегда запускай тесты и Lint выше и добивайся их прохождения.
- Никогда, ни в коем случае не коммить секреты, .env или артефакты сборки.
- Предпочитай редактирование существующих файлов созданию новых.
- Когда требования расплывчаты, задай ровно один уточняющий вопрос перед большим изменением.

## Запретная зона (если не сказано иное)
- Конфигурация CI, версии зависимостей, настройка инфраструктуры.

Почему это работает:Размещение «Команд» первыми даёт ИИ способ проверять свою работу. Запись абсолютных правил короткими повелениями (всегда / никогда) затрудняет их игнорирование. Раздел «запретная зона» заранее блокирует неконтролируемые изменения.

Блок «определение готовности», который заставляет соблюдать правила

Самый важный. Не даёт ИИ останавливаться, когда ему лишь кажется, что он закончил. Универсальный блок, который можно вставить в любой файл-инструкцию.

Сохранить как файл Claude Code Codex Cursor
## Определение готовности (всегда читай перед отчётом)
Считай работу «готовой» только когда выполнено всё перечисленное:
1. `npm run lint` проходит с кодом выхода 0
2. `npm test` проходит с кодом выхода 0
3. В изменённых файлах не осталось TODO / FIXME / отладочных логов
4. Ты перечитал собственный diff и подтвердил, что он соответствует запросу

Если не выполнен хотя бы один пункт, продолжай работу. Не сообщай «готово».

## Абсолютные правила (строго обязательно)
- Не редактируй файлы в `legacy/` или `vendor/`.
- Не добавляй, не удаляй и не обновляй зависимости.
- Не переформатируй строки, которые ты не менял.
- Не удаляй и не отключай тесты лишь для того, чтобы сборка прошла.

## Если сомневаешься
Не действуй на догадках; задай ровно один краткий вопрос.
Неверное, большое изменение намного хуже уточняющего вопроса.

Почему это работает:Когда критерии завершения расплывчаты, ИИ останавливается из самодовольства. Превращение этого в контрольный список плюс формулировка «если не выполнено, продолжай; не говори готово» запускает цикл самопроверки. Называние запретов вплоть до пути работает.

Минимальная версия (всего несколько строк)

Для проектов, которые не любят длинные файлы-инструкции. Голый минимум сути, который всё равно существенно снижает частоту аварий.

Сохранить как файл Claude Code Codex Cursor
# <name>

- Стек: <напр. Next.js + TypeScript + PostgreSQL>
- Всегда запускай перед завершением: `npm run lint` и `npm test` (оба должны пройти)
- Соответствуй существующему стилю. Не переформатируй несвязанные строки.
- Не коммить секреты или .env. Не делай push, пока не сказано.
- Когда расплывчато, не угадывай; задай ровно один вопрос.

Почему это работает:Длиннее не значит лучше для файлов-инструкций. Сужение до сути, которую вы хотите обеспечить (проверка, сдержанность в переформатировании, защита секретов, отсутствие push, вопросы), позволяет ИИ помнить её до самого конца.

Готовые к вставке файлы - по языку и фреймворку

Next.js / TypeScript

Предполагает App Router. Закрепляет для ИИ границу Server/Client и стиль получения данных.

Сохранить как файл Claude Code Cursor
# Next.js (App Router) + TypeScript

## Стек
Next.js (App Router), TypeScript strict, Tailwind CSS, <your-ORM>

## Команды
- Dev:    `npm run dev`
- Сборка: `npm run build`   # должна проходить без ошибок типов
- Lint:   `npm run lint`
- Тесты:  `npm test`

## Правила архитектуры
- По умолчанию Server Components. Добавляй "use client" только когда нужны
  состояние, эффекты или браузерные API. Держи Client Components маленькими и на листьях.
- Получай данные в Server Components или Route Handlers.
  Не получай начальные данные в useEffect.
- Размещай компоненты рядом с их сегментом маршрута. Общий UI идёт в `components/`.
- Всегда проверяй внешний ввод по схеме на границе (напр. Zod).

## Соглашения
- Никакого `any`. Давай публичным функциям явные типы возвращаемого значения.
- Используй существующие дизайн-токены / классы Tailwind. Не добавляй цвета по своей инициативе.
- Держи `page.tsx` тонким; выноси логику в функции и компоненты.

## Определение готовности
`npm run build`, `npm run lint` и `npm test` проходят с кодом выхода 0.
Никакого `any`, никаких неиспользуемых экспортов, никаких забытых console.log.

Почему это работает:Next.js - главный пример того, как ИИ ошибается в «решении Server против Client». Чёткая формулировка «по умолчанию Server, держи use client минимальным» резко сокращает аварии.

React (Vite) SPA

Для SPA на основе Vite. Закрепляет подход к управлению состоянием и проектированию компонентов.

Сохранить как файл Claude Code Cursor
# React (Vite) + TypeScript

## Команды
- Dev:    `npm run dev`
- Сборка: `npm run build`
- Lint:   `npm run lint`
- Тесты:  `npm test` (Vitest + Testing Library)

## Правила
- Только функциональные компоненты и Hooks. Не используй классовые компоненты.
- Держи состояние минимальным, в порядке «локальное -> Context -> библиотека состояния».
  Не поднимай состояние в глобальное без необходимости.
- Заключай побочные эффекты в useEffect и правильно записывай массив зависимостей.
- Отделяй UI от логики. Группируй получение данных в выделенные хуки (useXxx).
- Доступность: давай интерактивным элементам подходящие роли и управление с клавиатуры.

## Соглашения
- Никакого `any`. Определяй props через типы.
- Соответствуй стилю существующих компонентов и стилей.

## Определение готовности
`npm run build`, `npm run lint` и `npm test` проходят с кодом выхода 0.

Почему это работает:В React классические аварии - «слишком раннее поднятие состояния в глобальное» и «неверные зависимости useEffect». Чёткая формулировка порядка повышения и правила массива зависимостей сохраняет стабильность.

Node.js API (Express / Hono)

Для бэкенд-API. Ставит ограждения для валидации, обработки ошибок и управления секретами.

Сохранить как файл Claude Code Codex
# Node.js API (Express / Hono) + TypeScript

## Команды
- Dev:    `npm run dev`
- Сборка: `npm run build`
- Тесты:  `npm test`
- Lint:   `npm run lint`

## Правила
- Проверяй по схеме весь ввод (body, query, params, headers) на границе.
- Не проглатывай ошибки. Возвращай их типизированными через центральный обработчик ошибок.
- Читай секреты из переменных окружения. Не хардкодь их в коде.
- Разделяй доступ к БД на слои (route -> service -> repository).
- Возвращай единообразную форму JSON (унифицируй формы успеха и неудачи).

## Абсолютные правила
- Не пропускай и не ослабляй логику аутентификации / авторизации по своей инициативе.
- Всегда проверяй авторизацию при добавлении публично доступного эндпоинта.
- Не логируй персональные данные, токены или пароли.

## Определение готовности
`npm test` (успешный путь + случаи ошибок) и `npm run lint` проходят.

Почему это работает:Для API три главные причины аварий - «непроверенный ввод», «проглоченные ошибки» и «секреты в логах». Превращение валидации на границе и проверки авторизации в абсолютные правила повышает шанс их соблюдения.

Laravel / PHP

Приучает ИИ к фреймворку с приоритетом соглашений: Eloquent, миграции и соглашения.

Сохранить как файл Claude Code Codex
# Laravel + PHP

## Команды
- Запуск:    `php artisan serve`
- Миграция:  `php artisan migrate`
- Тесты:     `php artisan test`
- Форматирование: `./vendor/bin/pint`   # запускать перед завершением

## Соглашения (следуй стилю Laravel)
- Используй связи Eloquent. Избегай сырого SQL без чёткой причины.
- Проверяй ввод в классах Form Request. Не делай это внутри контроллеров.
- Держи контроллеры тонкими. Выноси бизнес-логику в Services / Actions.
- Каждое изменение схемы получает новую миграцию. Не редактируй уже выполненные.
- Используй именованные маршруты и привязку моделей к маршрутам.

## Абсолютные правила
- Никогда, ни в коем случае не коммить `.env` или настоящие учётные данные.
- Не запускай разрушительные команды вроде `migrate:fresh` на продакшен-БД.
- Каждый раз, меняя поведение, всегда добавляй или обновляй тесты (`php artisan test`).

## Определение готовности
И `php artisan test`, и `./vendor/bin/pint --test` проходят.

Почему это работает:Для фреймворка с приоритетом соглашений безопасный ход - чёткая формулировка «следуй соглашениям фреймворка» плюс запрет разрушительных команд. Запрет правок уже выполненных миграций тоже важен.

Python / анализ данных

Делает упор на типы, виртуальные окружения и воспроизводимость. Ставит правила «не ломай и не фабрикуй данные» на первое место.

Сохранить как файл Claude Code Codex
# Python / анализ данных

## Окружение
- Используй venv проекта `.venv`. Не устанавливай глобально.
- Установка: `pip install -r requirements.txt`
- Запуск: `python -m src.main`
- Тесты: `pytest`
- Форматирование: `ruff check .` и `ruff format .`

## Соглашения
- Добавляй аннотации типов к каждой сигнатуре функции. Запускай `mypy src`, если настроено.
- Не размещай логику в ноутбуках. Переиспользуемый код идёт в `src/`.
- Фиксируй seed для всего, что использует случайность, чтобы результаты были воспроизводимы.

## Абсолютные правила для данных (самое важное)
- Не заполняй молча и не фабрикуй пропущенные значения. Если есть пропущенные
  значения, сообщи о них и уточни, как их обрабатывать.
- Не перезаписывай файлы сырых данных. Записывай вывод в `data/processed/`.
- Документируй все допущения (фильтры, исключённые строки, единицы) в комментариях к коду.

## Определение готовности
`pytest` проходит, `ruff check .` чист, и результаты воспроизводятся из чистого состояния.

Почему это работает:В анализе крупнейшие ошибки ИИ - «молчаливое заполнение пропущенных значений» и «перезапись сырых данных». Простой явный запрет этого делает результаты намного надёжнее.

Go

Заставляет ИИ следовать стилю Go, который ценит простоту и явную обработку ошибок.

Сохранить как файл Claude Code Codex
# Go

## Команды
- Сборка: `go build ./...`
- Тесты:  `go test ./...`
- Форматирование: `gofmt -w .` и `go vet ./...`

## Соглашения
- Не проглатывай ошибки. Всегда обрабатывай их через `if err != nil` и возвращай
  с контекстом (`fmt.Errorf("...: %w", err)`).
- Держи вложенность мелкой с помощью ранних return.
- Используй конкурентность только когда нужно. Следи за утечками goroutine и гонками
  (добивайся прохождения `go test -race`).
- Комментируй экспортированные символы. Предпочитай стандартную библиотеку.

## Абсолютные правила
- Не добавляй ненужные абстракции или интерфейсы (создавай их при необходимости).
- Перед добавлением зависимости сначала проверь, достаточно ли стандартной библиотеки.

## Определение готовности
`go build ./...`, `go vet ./...` и `go test -race ./...` все проходят.

Почему это работает:В Go источники аварий - «избыточная абстракция» и «проглоченные ошибки». Чёткая формулировка ранних return, обёртки %w и -race даёт безопасный, идиоматичный код Go.

Rust

Предотвращает злоупотребление unwrap и unsafe и заставляет правильно обрабатывать Result/Option.

Сохранить как файл Claude Code Codex
# Rust

## Команды
- Сборка: `cargo build`
- Тесты:  `cargo test`
- Lint:   `cargo clippy -- -D warnings`
- Форматирование: `cargo fmt`

## Соглашения
- Не используй небрежно `unwrap()` / `expect()` в продакшен-коде.
  Правильно обрабатывай `Result` / `Option` через `?` или match.
- `unsafe` в принципе запрещён. Если действительно необходим, укажи причину в комментарии.
- Следуй компилятору по заимствованиям и временам жизни. Переосмысли дизайн, прежде чем
  спасаться через `clone()`.
- Делай типы ошибок осмысленными с помощью `thiserror` / `anyhow` и т. д.

## Определение готовности
`cargo build` и `cargo test` проходят, и
`cargo clippy -- -D warnings` сообщает ноль предупреждений.

Почему это работает:В Rust, когда ИИ застревает, он склонен спасаться через `unwrap()` и `clone()`. Сдерживание этого и прохождение clippy с -D warnings сохраняет качество.

Ruby on Rails

Держите всё «на рельсах». Избегайте толстых моделей/контроллеров и следуйте соглашениям.

Сохранить как файл Claude Code Codex
# Ruby on Rails

## Команды
- Запуск:    `bin/rails server`
- Миграция:  `bin/rails db:migrate`
- Тесты:     `bin/rails test` (или `bundle exec rspec`)
- Форматирование: `bundle exec rubocop -A`

## Соглашения (следуй стилю Rails)
- Уважай «соглашение важнее конфигурации»; не изобретай собственную структуру.
- Избегай толстых контроллеров / моделей. Выноси логику в Services / Concerns.
- Ограничивай ввод с помощью strong parameters.
- Избегай N+1 (используй `includes`).
- Изменения схемы получают новую миграцию. Не редактируй уже выполненные.

## Абсолютные правила
- Никогда, ни в коем случае не коммить `.env` или учётные данные.
- Не запускай разрушительные команды на продакшен-БД.
- Когда меняешь поведение, добавляй или обновляй тесты.

## Определение готовности
Тесты и `bundle exec rubocop` проходят.

Почему это работает:Rails быстро становится несопровождаемым, как только отходишь от соглашений. Чёткая формулировка «оставайся на рельсах», «избегай толстого» и «избегай N+1» сохраняет идиомы Rails.

SQL / миграции БД

Не ломайте данные; только обратимые изменения. Защитные ограждения для миграций.

Сохранить как файл Claude Code Codex
# SQL / миграции базы данных

## Абсолютные правила (защита данных прежде всего)
- Не запускай разрушительные операции над продакшен-данными по своей инициативе
  (DROP / TRUNCATE / безусловный DELETE или UPDATE).
- Миграции должны предоставлять процедуру отката, а не только прямое направление.
- Не редактируй уже выполненные миграции. Всегда добавляй новые.
- Удаляй или переименовывай столбцы поэтапно («добавить -> мигрировать -> вывести из обращения»); не делай это одним махом.

## Соглашения по запросам
- Избегай `SELECT *`; указывай нужные столбцы.
- Убедись, что условия WHERE / JOIN могут использовать индекс.
- Разбивай крупные обновления на пакеты, чтобы держать время блокировки коротким.
- Для разрушительных проверочных запросов сначала подтверди число затронутых строк через `SELECT` перед запуском.

## Определение готовности
И применение, и откат успешны в окружении, эквивалентном staging, и ты
подтвердил отсутствие непреднамеренных изменений существующих данных.

Почему это работает:БД - самая «необратимая» область из всех. Чёткая формулировка запрета разрушительных операций, поэтапных изменений схемы и обязательных откатов - это спасательный круг.

Готовые к вставке файлы - по рабочему процессу

Разработка через тестирование (TDD)

Обеспечивает «не откладывай тесты» и «не добивайся прохождения удалением тестов».

Сохранить как файл Claude Code Codex
# Подход разработки через тестирование

Меняя поведение, каждый раз следуй этому циклу:
1. Сначала напиши «падающий тест», выражающий желаемое поведение.
2. Запусти тест и подтверди, что он падает по правильной причине.
3. Напиши минимум кода, нужный, чтобы тест прошёл.
4. Запусти весь набор тестов и подтверди, что всё зелёное.
5. Рефактори, сохраняя зелёное.

## Абсолютные правила
- Не удаляй и не пропускай тесты, чтобы набор прошёл.
- Не ослабляй проверки, чтобы добиться зелёного.
- Если тест действительно неверен, объясни почему, прежде чем менять его.
- Новый код без тестов не «готов».

## Определение готовности
Весь набор проходит, покрытие не упало, и откат
реализации заставляет новый тест падать (т. е. это осмысленный тест).

Почему это работает:Застряв, ИИ иногда удаляет тесты и говорит «прошло». Запись «не удаляй, не ослабляй, подтверди падение при откате» закрывает лазейки.

Ориентированный на отладку

Предотвращает исправления методом тыка. Обеспечивает дисциплину определения первопричины с последующим минимальным исправлением.

Сохранить как файл Claude Code Codex Cursor
# Подход к отладке

Действуй в этом порядке. Не исправляй угадыванием:
1. Установи шаги воспроизведения (как вызвать баг).
2. Запиши ожидаемое поведение и фактическое поведение, по одному предложению каждое.
3. Сформулируй гипотезу. Проверь её логами или минимальным воспроизведением перед исправлением.
4. Как только определил причину, примени минимальное исправление.
5. После исправления подтверди, что баг исчез по шагам воспроизведения, и что существующие тесты проходят.
6. Если возможно, добавь регрессионный тест, который ловит этот баг.

## Абсолютные правила
- Не меняй несколько мест сразу, пока причина неизвестна.
- Не останавливайся на «пока работает». Объясни, почему это исправлено.
- Не смешивай несвязанный рефакторинг с отладкой.

Почему это работает:Застряв на баге, ИИ склонен переписывать несколько мест сразу и ухудшать ситуацию. Принуждение порядка «воспроизведи -> сформулируй гипотезу -> проверь -> минимальное исправление -> регрессионный тест» надёжно его исправляет.

Ориентированный на рефакторинг

Делает «не меняй поведение» абсолютным условием. Безопасное улучшение, подкреплённое зелёными тестами.

Сохранить как файл Claude Code Codex
# Подход к рефакторингу

## Основной принцип
Не меняй внешне наблюдаемое поведение. Не меняй вывод или побочные
эффекты для любого ввода вообще.

## Шаги
1. Сначала подтверди, что для целевой области есть тесты и они зелёные.
   Если нет, сначала напиши характеризационные тесты, фиксирующие текущее поведение.
2. Меняй маленькими, единичными шагами, запуская тесты после каждого шага.
3. Держи один коммит = один вид улучшения.

## Абсолютные правила
- Не смешивай добавление функций или исправление багов с рефакторингом (делай их отдельной работой).
- Если тест стал красным, остановись прямо там. Не продолжай.
- Не меняй сигнатуры публичного API по своей инициативе (при необходимости сначала уточни).

## Определение готовности
Все тесты остаются зелёными, и код стал читабельнее с меньшим дублированием.

Почему это работает:Для рефакторинга «не меняй поведение» - это всё. Без превращения этого в основной принцип, подкреплённый зелёными тестами, ИИ с радостью сломает функции. Запрет на подмешивание добавления функций тоже важен.

Написание спецификаций / проектных документов

Не давайте ему реализовывать сразу; пусть сначала изложит дизайн прозой. Резко сокращает переделки.

Сохранить как файл Claude Code Codex Cursor
# Как написать проектный документ

Перед реализацией сначала изложи прозой следующее (не пиши код):

## 1. Цель
Задача, которую нужно решить, и условия, при которых её можно считать достигнутой (критерии успеха).

## 2. Текущее состояние и ограничения
Существующее устройство, зависимости и ограничения, которые надо соблюсти (производительность, совместимость, срок).

## 3. Предложение по дизайну
- Выбранный подход и подходы, которые ты рассмотрел и отверг (и почему).
- Поток данных, ключевые интерфейсы и файлы, которые нужно изменить.

## 4. Риски и открытые вопросы
Что может сломаться, допущения, которые надо подтвердить, и пункты, требующие решения.

## 5. План
Разбей реализацию на маленькие шаги, упорядоченные в проверяемые единицы.

## Правила
- Не начинай реализацию, пока этот дизайн не одобрен.
- Перечисляй неизвестное в «открытых вопросах»; не заполняй их собственными допущениями.

Почему это работает:ИИ сразу прыгает к реализации и массово выдаёт неверные направления. Простая вставка «сначала напиши дизайн, не реализуй до одобрения» резко сокращает переделки.

Поэтапное разбиение больших изменений

Предотвращает гигантское изменение одним махом. Заставляет разбить на маленькие, проверяемые единицы.

Сохранить как файл Claude Code Codex
# Как делать большие изменения

## Основной принцип
Избегай одного гигантского изменения. Разбей его так, чтобы каждый шаг был независимо
проверяемым, тестируемым и (в идеале) развёртываемым.

## Шаги
1. Разложи изменения, ведущие к финальной форме, на последовательность маленьких,
   независимых шагов и представь её.
2. Для каждого шага запиши «что / почему / область влияния» в 1-2 строках.
3. После каждого шага запусти весь набор тестов и подтверди зелёное перед переходом дальше.
4. Продвигайся, сохраняя обратную совместимость (добавить -> мигрировать -> вывести старый путь из обращения).

## Абсолютные правила
- Не переписывай широкую область сразу и не «протестируй всё вместе потом».
- Если шаг становится слишком большим, разбей его дальше.
- Держи каждый шаг на детализации, которую можно откатить.

## Определение готовности
Тесты зелёные после завершения всех шагов, и каждый промежуточный коммит тоже не сломан.

Почему это работает:ИИ склонен делать большие переделки как «переписать всё сразу», и когда это ломается, изоляция причины становится невозможной. Разбиение на этапы и принуждение зелёного на каждом позволяют делать большие переделки безопасно.

Готовые к вставке файлы - эксплуатация и управление

Специализированный на код-ревью

Предотвращает поток тривиальных придирок; заставляет докладывать в порядке серьёзности. Закрепляет критерии ревью.

Сохранить как файл Claude Code Codex Cursor
# Инструкции по код-ревью

Проверь изменения, сгруппируй их по серьёзности и докладывай в этом порядке:
1. CRITICAL - дыры в безопасности, потеря данных, сбои, сломанная аутентификация
2. HIGH     - логические баги, состояния гонки, отсутствующая обработка ошибок
3. MEDIUM   - проблемы производительности, отсутствующие тесты, запутанные имена
4. LOW      - мелкие стилевые придирки (только если нет более высоких проблем)

## Как докладывать
- Для каждой находки: файл:строка / что не так / почему это важно / конкретное исправление.
- Цитируй только наименьший релевантный фрагмент. Не вставляй файл целиком.
- Если изменение верно, скажи это явно. Не фабрикуй проблемы.

## Чего не делать
- Не закапывай настоящие баги под кучей придирок LOW.
- Не переписывай файлы целиком. Предлагай наименьший diff.
- Если нет реального вреда, не отмечай строки за пределами области diff.

## Вывод
Заверши однострочным вердиктом: APPROVE / REQUEST CHANGES / BLOCK, с причиной.

Почему это работает:Предоставленный сам себе, ИИ для ревью массово выдаёт тривиальные придирки. Указание порядка серьёзности плюс «скажи, если проблемы нет» и «не фабрикуй» убирает шум и делает его полезным.

Правила работы с коммитами / PR

Предотвращает незапрошенные push, гигантские коммиты и утечку секретов. Защитные ограждения для операций Git.

Сохранить как файл Claude Code Codex Cursor
# Правила Git / PR

## Коммиты
- Используй Conventional Commits: `type(scope): summary`
  type: feat, fix, refactor, test, docs, chore.
- Один коммит = одно логическое изменение. Держи его маленьким и проверяемым.
- В теле пиши «почему», а не «что».

## Абсолютные правила
- Не делай `git push`, если не сказано.
- Не делай force-push, rebase или amend на общих ветках / main.
- Не коммить секреты, .env, учётные данные или большие бинарники.
- Добавляй файлы по имени. Не загребай всё подряд через `git add -A`.

## Pull requests
- Заголовок в пределах 70 символов. Тело - это «Сводка» + «План тестирования (контрольный список)».
- Отмечай любые ломающие изменения.
- Не делай merge. Создай PR и сообщи URL.

Почему это работает:Операции Git подвержены «необратимым авариям». Поимённое называние и запрет push, force-push и утечек секретов через «никогда не делай X» - вот что работает.

Специализированный на ревью безопасности

Заставляет выискивать уязвимости по категориям. Приоритезирует избегание пропусков над ложными срабатываниями.

Сохранить как файл Claude Code Codex
# Инструкции по ревью безопасности

Проверь изменения по порядку по следующим аспектам и доложи о любых
найденных проблемах с оценкой серьёзности:
- Отсутствующая валидация ввода (инъекции: SQL / команды / XSS / SSRF)
- Пробелы в аутентификации/авторизации (отсутствующие проверки прав, повышение привилегий)
- Раскрытие секретов (захардкоженные ключи/токены, вывод в логи)
- Небезопасные значения по умолчанию (избыточная открытость, слабый CORS, непроверенные редиректы)
- Известные уязвимости в зависимостях, небезопасное использование криптографии / ГСЧ

## Как докладывать
- Для каждой находки: место / сценарий атаки (как это можно эксплуатировать) / конкретное исправление.
- Отмечай подозрения, в которых не уверен, как «требует подтверждения» (не пропускай их молча).
- Если проблемы нет, заяви «проблем нет» вместе с проверенными аспектами.

## Чего не делать
- Не генерируй настоящий код атаки или шаги эксплуатации (показывай только исправления).

Почему это работает:В безопасности «пропуск» обходится дороже всего. Перечисление аспектов и формулировка «отмечай подозрения как требующие подтверждения» предотвращает поведение молчания из страха ложных срабатываний.

Docker / защитные ограждения инфраструктуры

Предотвращает необратимые аварии при операциях с контейнерами и инфраструктурой.

Сохранить как файл Claude Code Codex
# Правила работы с Docker / инфраструктурой

## Абсолютные правила (предотвращение разрушения прежде всего)
- Не запускай разрушительные команды против продакшен- или общих окружений по своей инициативе
  (`docker system prune`, удаление томов, `down -v` и т. д.).
- Привязывай образы к фиксированным тегам. Не полагайся на `latest`.
- Передавай секреты через переменные окружения / управление секретами.
  Не запекай их в Dockerfile или образ.
- Держи открытые порты и привилегии (privileged и т. д.) на необходимом минимуме.

## Соглашения
- Держи Dockerfile маленькими с многоэтапными сборками, помня о кэшировании слоёв.
- Запускай от непривилегированного пользователя.
- После изменений собери и запусти локально, чтобы проверить, перед отчётом.

## Определение готовности
`docker build` проходит, контейнер запускается, и health check / базовую
работу можно подтвердить.

Почему это работает:Инфраструктура - область, где можно разрушить окружение одним махом. Чёткая формулировка запрета разрушительных команд, избегания зависимости от latest и отказа от запекания секретов формирует защитные ограждения.

Правила обновления зависимостей

Предотвращает несанкционированное добавление зависимостей и мажорные обновления. Затягивает точку входа цепочки поставок.

Сохранить как файл Claude Code Codex
# Правила для зависимостей

## Абсолютные правила
- Перед добавлением зависимости проверь, достаточно ли стандартной библиотеки или существующей
  зависимости.
- При добавлении новой зависимости добавь однострочную заметку о её назначении, альтернативах
  и статусе сопровождения.
- Не повышай мажорные версии по своей инициативе (только когда сказано).
- Не пересоздавай lock-файлы (package-lock.json и т. д.) по своей инициативе.
- Избегай пакетов сомнительного происхождения или с крайне малым числом звёзд либо плохим сопровождением.

## Шаги
1. Укажи причину добавления или обновления.
2. После добавления подтверди, что сборка и тесты проходят.
3. Подтверди, что лицензия не конфликтует с твоим вариантом использования.

## Определение готовности
Сборка и тесты проходят после изменения зависимостей, и ты можешь объяснить diff в lock-файле.

Почему это работает:Небрежное добавление зависимостей и мажорные обновления - точка входа к поломке сборки и авариям цепочки поставок. «Сначала проверь, достаточно ли существующих» и «никаких незапрошенных мажорных обновлений» работают.

Если кажется, что ваш файл-инструкция не работает

Когда ИИ всё равно не соблюдает правила даже после добавления шаблона, причина часто в расположении, детализации или приоритете. Мы объясняем решения по причинам.

Читать: почему ИИ игнорирует ваши правила .md и как это исправить

* Промпты на русском; команды и пути внутри шаблонов файлов оставлены на английском (они зависят от окружения). Последнее обновление: 2026-05