Стандарты
AI-разработки

Понятные правила для людей и AI-агентов. С примерами, причинами и условиями применения.

Найти правилоСкачать всё .md111 правил · 15 разделов

Разница видна сразу

Одна ситуация. Два подхода. Понятная причина.

HTTP-статусы

Плохо

HTTP/1.1 200 OK
Content-Type: application/json
 
{"status": 404, "message": "Не найдено"}

Хорошо

HTTP/1.1 404 Not Found
Content-Type: application/problem+json
 
{"type":"about:blank","title":"Не найдено","status":404}

Поле status в JSON допустимо. Оно дополняет HTTP-статус и совпадает с ним.

Выберите раздел

15

Основы и архитектура

Как договориться о результате и устройстве проекта.

Работа с AI-агентами

Контекст, полномочия и проверка результата ИИ.

Совместная разработка

Как людям и агентам менять проект вместе.

Базы данных

Идентификаторы, связи, данные и безопасные изменения.

API

Понятные запросы, честные статусы и совместимость.

Backend

Бизнес-правила, ошибки и работа сервера.

Frontend

Компоненты, серверные данные и границы выполнения.

Фреймворки и CMS

Laravel, 1С-Битрикс, Bitrix24 и другие платформы: правила и примеры применения.

Интеграции

Внешние сервисы, OAuth, MCP и файлы.

Кеш и фоновые задачи

Свежесть данных, очереди и безопасные повторы.

Безопасность

Права, секреты и защита данных.

Тестирование

Проверки, которым можно доверять.

Выпуск и эксплуатация

Релизы, наблюдение и восстановление.

Мобильные приложения

Хранение, офлайн-работа и обновления.

Платежи

Подтверждение оплаты и точность состояния денег.

С чего начать

Технологии и платформы

Правила для вашего стека

Человек и AI-агент

Человек

Цель, бизнес-ограничения, полномочия и приёмка результата.

AI-агент

Исследование, реализация, проверки и отчёт с доказательствами.

В каждом правиле — отдельные действия для обеих ролей.

Правила 111

Основы и архитектураРекомендуется

Границы задачи

Опишите поведение, которое должен получить пользователь, и способ его проверить.

Проверено 9 ноября 2026 г.
Основы и архитектураРекомендуется

Единый источник истины

Сайт, документация и инструкции агента должны собираться из одного оригинала.

Проверено 9 ноября 2026 г.
Основы и архитектураРекомендуется

Контракты компонентов

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

Проверено 9 ноября 2026 г.
Основы и архитектураРекомендуется

Вертикальный сценарий

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

Проверено 9 ноября 2026 г.
Основы и архитектураЗависит от задачи

Зависимости проекта

Новый сервис или пакет должен решать измеримую задачу и иметь понятную поддержку.

Проверено 9 ноября 2026 г.
Основы и архитектураОбязательно

Критерии готовности

Разделяйте готовый шаблон, работающий сервис и реально выполненные проверки.

Проверено 9 ноября 2026 г.
Работа с AI-агентамиРекомендуется

Контекст проекта

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

Проверено 9 ноября 2026 г.
Работа с AI-агентамиОбязательно

Prompt injection

Страница, письмо или комментарий могут содержать команды злоумышленника.

Проверено 9 ноября 2026 г.
Работа с AI-агентамиОбязательно

Минимальные привилегии

Разрешения инструмента должны соответствовать действию, которое поручил пользователь.

Проверено 9 ноября 2026 г.
Работа с AI-агентамиОбязательно

Полномочия агента

Перед оплатой, удалением или публикацией должны быть понятны точные данные и полномочия.

Проверено 9 ноября 2026 г.
Работа с AI-агентамиОбязательно

Доказательства выполнения

Отчёт агента должен отражать фактический ответ системы и выполненные проверки.

Проверено 9 ноября 2026 г.
Работа с AI-агентамиРекомендуется

AI evals

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

Проверено 9 ноября 2026 г.
Совместная разработкаРекомендуется

Pull request

Ревьюеру проще проверить изменение с одной целью и воспроизводимой проверкой.

Проверено 9 ноября 2026 г.
Совместная разработкаРекомендуется

Распределение изменений

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

Проверено 9 ноября 2026 г.
Совместная разработкаОбязательно

Рабочее дерево Git

Перед началом проверьте рабочее дерево и отделите собственные изменения.

Проверено 9 ноября 2026 г.
Совместная разработкаРекомендуется

Code review

Ревью должно находить нарушения требований, а не только обсуждать стиль.

Проверено 9 ноября 2026 г.
Совместная разработкаРекомендуется

Передача результата

В конце задачи укажите, что изменилось, как проверено и что осталось неизвестным.

Проверено 9 ноября 2026 г.
Совместная разработкаЗависит от задачи

Architecture Decision Record

Сохраните причину выбора, альтернативы и последствия там, где их найдёт команда.

Проверено 9 ноября 2026 г.
Базы данныхЗависит от задачи

Идентификаторы: UUID и bigint

UUID удобен для независимого создания записей и публичных идентификаторов. Имя поля и его тип — разные решения.

Проверено 9 ноября 2026 г.
Базы данныхРекомендуется

Имена таблиц и полей

Из имени поля должно быть понятно, какую связь оно хранит.

Проверено 9 ноября 2026 г.
Базы данныхОбязательно

Ограничения целостности

Проверка в приложении не защищает от конкурирующих запросов и другого клиента БД.

Проверено 9 ноября 2026 г.
Базы данныхРекомендуется

Внешние ключи

Внешний ключ не позволяет хранить ссылку на несуществующую запись.

Проверено 9 ноября 2026 г.
Базы данныхОбязательно

Транзакции

Связанные операции должны завершиться вместе или вместе отмениться.

Проверено 9 ноября 2026 г.
Базы данныхОбязательно

Миграции схемы

Выпускайте несовместимые изменения в несколько совместимых этапов.

Проверено 9 ноября 2026 г.
Базы данныхРекомендуется

Индексы PostgreSQL

Индекс ускоряет выбранное чтение и увеличивает стоимость записи.

Проверено 9 ноября 2026 г.
Базы данныхРекомендуется

Дата и время: timestamptz

Момент времени и местное расписание — разные данные. PostgreSQL `timestamptz` хранит момент, но не исходное название часового пояса.

Проверено 9 ноября 2026 г.
Базы данныхЗависит от задачи

JSONB и реляционные поля

Поля, участвующие в доступе, связях и частом поиске, нуждаются в явной модели.

Проверено 9 ноября 2026 г.
Базы данныхЗависит от задачи

История и удаление данных

Мягкое удаление, история версий и аудит решают разные задачи.

Проверено 9 ноября 2026 г.
APIОбязательно

HTTP-статусы

Клиент, прокси и мониторинг должны видеть результат запроса без разбора произвольного JSON.

Проверено 9 ноября 2026 г.
APIОбязательно

HTTP-методы

GET и HEAD читают; изменение бизнес-состояния должно иметь соответствующий метод.

Проверено 9 ноября 2026 г.
APIРекомендуется

Problem Details

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

Проверено 9 ноября 2026 г.
APIРекомендуется

OpenAPI-контракт

В контракте должны быть реальные методы, схемы, ошибки, доступ и примеры.

Проверено 9 ноября 2026 г.
APIОбязательно

Идемпотентность API

После потери ответа повторный запрос не должен создавать вторую оплату или заказ.

Проверено 9 ноября 2026 г.
APIРекомендуется

Оптимистическая блокировка

Проверяйте версию записи перед сохранением, если пользователь может перезаписать чужую работу.

Проверено 9 ноября 2026 г.
APIРекомендуется

Пагинация

Договоритесь о размере страницы, сортировке, фильтрах и продолжении списка.

Проверено 9 ноября 2026 г.
APIОбязательно

Совместимость API

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

Проверено 9 ноября 2026 г.
APIРекомендуется

HTTP-заголовки

Статус, формат содержимого и кеширование описываются стандартными средствами HTTP.

Проверено 9 ноября 2026 г.
BackendРекомендуется

Границы backend

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

Проверено 9 ноября 2026 г.
BackendРекомендуется

Go context

Запрос к БД или внешнему сервису должен завершаться при отмене родительской работы.

Проверено 9 ноября 2026 г.
BackendОбязательно

Обработка ошибок

Сохраняйте причину ошибки внутри системы и возвращайте безопасное объяснение наружу.

Проверено 9 ноября 2026 г.
BackendРекомендуется

Ограничение параллелизма

Каждая запущенная задача должна иметь предел, отмену и понятное завершение.

Проверено 9 ноября 2026 г.
BackendОбязательно

Async I/O

В async-коде используйте асинхронный ввод-вывод или выносите блокирующую работу.

Проверено 9 ноября 2026 г.
BackendОбязательно

Валидация типов

Типы помогают разработчику, а проверка входа защищает работающую систему.

Проверено 9 ноября 2026 г.
BackendРекомендуется

Читаемость кода

Разделяйте независимые обязанности и сохраняйте объяснения неочевидных решений.

Проверено 9 ноября 2026 г.
FrontendРекомендуется

Server и Client Components

В Next.js загружайте серверные данные на сервере, а интерактивные части выделяйте отдельно.

Проверено 9 ноября 2026 г.
FrontendРекомендуется

Серверные данные

Общий клиент или серверный модуль должен задавать типы, ошибки и политику кеша.

Проверено 9 ноября 2026 г.
FrontendРекомендуется

Производное состояние

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

Проверено 9 ноября 2026 г.
FrontendРекомендуется

Состояние в URL

Поиск и фильтры, которыми делятся, должны восстанавливаться по ссылке.

Проверено 9 ноября 2026 г.
FrontendОбязательно

Состояния интерфейса

Пользователь должен понимать, идёт ли работа и как продолжить после сбоя.

Проверено 9 ноября 2026 г.
FrontendРекомендуется

Web performance

Оптимизируйте задержку, скачки макета и объём загрузки на целевых устройствах.

Проверено 9 ноября 2026 г.
ИнтеграцииОбязательно

Тайм-ауты интеграций

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

Проверено 9 ноября 2026 г.
ИнтеграцииРекомендуется

Retry и backoff

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

Проверено 9 ноября 2026 г.
ИнтеграцииОбязательно

OAuth и PKCE

Для делегированного доступа проверяйте получателя токена и связывайте ответ с начатой авторизацией.

Проверено 9 ноября 2026 г.
ИнтеграцииОбязательно

Подпись вебхуков

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

Проверено 9 ноября 2026 г.
ИнтеграцииОбязательно

Авторизация MCP

Описание инструмента помогает модели, но разрешение операции проверяет сервер.

Проверено 9 ноября 2026 г.
ИнтеграцииОбязательно

Загрузка файлов

Имя и Content-Type от клиента не доказывают безопасность содержимого.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиРекомендуется

Источник истины кеша

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

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиРекомендуется

TTL и инвалидация

Укажите допустимую задержку, ключ версии и поведение при недоступном источнике.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиОбязательно

Изоляция кеша

Ключ кеша и HTTP-политика должны учитывать пользователя, организацию и права.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиОбязательно

Идемпотентность worker

Повтор сообщения не должен повторять необратимый эффект.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиЗависит от задачи

Transactional outbox

Свяжите запись бизнеса и событие, чтобы сбой не потерял отправку.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиРекомендуется

Dead-letter queue

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

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

Object-level authorization

Вход в систему не даёт доступа ко всем записям.

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

Управление секретами

Используйте управляемую конфигурацию и ограниченный доступ вместо ключей в репозитории.

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

SQL-параметры

Не вставляйте пользовательскую строку непосредственно в SQL.

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

SSRF-защита

Проверяйте адрес назначения, перенаправления, DNS и объём ответа.

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

Маскирование секретов в логах

Записывайте идентификаторы операций и безопасные признаки вместо полного содержимого.

Проверено 9 ноября 2026 г.
БезопасностьРекомендуется

Software supply chain

Фиксируйте воспроизводимый набор зависимостей и обновляйте его с проверками.

Проверено 9 ноября 2026 г.
БезопасностьОбязательно

Лимиты ресурсов

У запросов должны быть пределы размера, частоты и сложности.

Проверено 9 ноября 2026 г.
ТестированиеРекомендуется

Тестирование по риску

Проверяйте наблюдаемое поведение, которое действительно может сломаться.

Проверено 9 ноября 2026 г.
ТестированиеРекомендуется

Регрессионные тесты

Для исправления бага полезно сначала воспроизвести неправильное поведение.

Проверено 9 ноября 2026 г.
ТестированиеРекомендуется

Интеграционные тесты

Изолированные тесты не заменяют проверки SQL, миграций и форматов взаимодействия.

Проверено 9 ноября 2026 г.
ТестированиеРекомендуется

End-to-end тесты

Небольшой набор сквозных тестов должен покрывать основные пользовательские действия.

Проверено 9 ноября 2026 г.
ТестированиеОбязательно

Статус проверок

Публикуйте точный объём проверки, версию и ограничения.

Проверено 9 ноября 2026 г.
ТестированиеРекомендуется

Детерминизм тестов

Управляйте временем, случайностью и внешними зависимостями в тестах.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияРекомендуется

Correlation ID

Используйте идентификатор запроса и трассы, чтобы найти связанные события.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияРекомендуется

HTTP spans

В OpenTelemetry успешный HTTP-ответ обычно оставляет статус span неустановленным.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияРекомендуется

Observability

Каждый сигнал должен помогать обнаружить или объяснить проблему.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияРекомендуется

SLO и error budget

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

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияОбязательно

Неизменяемый артефакт

Одна версия должна связывать исходники, сборку и работающий сервис.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияОбязательно

Rollback

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

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияОбязательно

Backup и restore

Резервная копия полезна, если из неё можно восстановить нужные данные за допустимое время.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияОбязательно

Конфигурация окружения

Один модуль конфигурации должен проверять обязательные значения до приёма запросов.

Проверено 9 ноября 2026 г.
Выпуск и эксплуатацияРекомендуется

Incident runbook

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

Проверено 9 ноября 2026 г.
Мобильные приложенияОбязательно

Keychain и Keystore

Обычное локальное хранилище приложения не подходит для секретов.

Проверено 9 ноября 2026 г.
Мобильные приложенияОбязательно

Deep links

Ссылка должна соответствовать разрешённому маршруту и начатой операции.

Проверено 9 ноября 2026 г.
Мобильные приложенияРекомендуется

Офлайн-синхронизация

Локальная очередь должна знать идентичность операции и версию изменяемой записи.

Проверено 9 ноября 2026 г.
Мобильные приложенияРекомендуется

Мобильный релиз

Изменение нативных возможностей требует соответствующей сборки приложения.

Проверено 9 ноября 2026 г.
ПлатежиОбязательно

Подтверждение оплаты

Возврат пользователя на страницу успеха не доказывает получение денег.

Проверено 9 ноября 2026 г.
ПлатежиОбязательно

Платёжные события

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

Проверено 9 ноября 2026 г.
ПлатежиОбязательно

Платёжные данные

Используйте платёжную форму или компоненты провайдера и храните его идентификаторы.

Проверено 9 ноября 2026 г.
ПлатежиРекомендуется

Платёжная сверка

Периодически находите несовпадения между локальной системой и провайдером.

Проверено 9 ноября 2026 г.
ПлатежиОбязательно

Платёжные окружения

Используйте разные ключи, события и явную проверку окружения.

Проверено 9 ноября 2026 г.
Базы данныхРекомендуется

Деньги: bigint, numeric и валюта

Сумма хранится вместе с валютой и единицей измерения. Для расчётов используйте целые минимальные единицы или точный десятичный тип.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

Laravel: Form Request и Policy

Валидируйте вход и отдельно проверяйте право на объект. В модель передавайте только разрешённые поля.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

Laravel: транзакция и afterCommit

Задание, которое читает новую запись, отправляйте после фиксации транзакции.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

Laravel: Eloquent и N+1

Загружайте нужные связи списком и ограничивайте размер выдачи.

Проверено 9 ноября 2026 г.
Фреймворки и CMSОбязательно

Bitrix24: серверный вебхук

URL входящего вебхука содержит секрет доступа. Вызывайте Bitrix24 со своего сервера.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

Django: atomic и on_commit

Сохранение связанных объектов выполняйте атомарно; зависимое внешнее действие запускайте после commit.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

FastAPI: async и блокирующий I/O

В async-обработчике используйте неблокирующий клиент. Обычный def-обработчик подходит для синхронной библиотеки.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

NestJS: ValidationPipe и DTO

Runtime-валидация требует классов DTO с правилами. TypeScript-интерфейс не проверяет входящий JSON.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

Nuxt: useAsyncData и SSR

Для данных страницы используйте SSR-aware composable с устойчивым ключом.

Проверено 9 ноября 2026 г.
Фреймворки и CMSРекомендуется

SvelteKit: server-only modules

Секреты и доступ к БД держите в серверных модулях; клиенту возвращайте только разрешённые поля.

Проверено 9 ноября 2026 г.
Фреймворки и CMSОбязательно

WordPress: capabilities и nonce

Проверяйте право на действие и CSRF-защиту отдельно. Nonce не заменяет авторизацию.

Проверено 9 ноября 2026 г.
Кеш и фоновые задачиРекомендуется

Redis: persistence и восстановление

Настройте восстановление Redis в соответствии с ролью данных. Кеш и единственная копия задания требуют разных гарантий.

Проверено 9 ноября 2026 г.

Недавно проверено

Границы задачиЕдиный источник истиныКонтракты компонентовВертикальный сценарий