
Мы не делаем вид, что пишем всё вручную — в работе активно используем ИИ-инструменты вроде Cursor. Это удобный способ автоматизировать рутину, ускорить типовые задачи и держать код в рамках заданных стандартов. Главное — задать эти стандарты правильно.
Параллельно мы развиваем свой open source фреймворк Admiral для сборки административных панелей. Там уже есть готовые компоненты, структура, документация — можно быстро собрать админку без лишней возни с базовыми вещами.
В какой-то момент мы решили объединить Cursor и Admiral. Добавили в проект директорию .cursor/rules
, где описали правила для генерации CRUD-страниц, использования компонентов и хуков. Теперь не нужно каждый раз проверять структуру, валидность пропсов или соответствие внутренним стандартам — всё уже описано, и Cursor сам подсказывает, если что-то не так.
По сути, мы сформировали набор инструкций для ИИ, который помогает генерировать и поддерживать код в нужном состоянии. Это упростило процесс, уменьшило количество ошибок и позволило разработчикам сфокусироваться на нетривиальных задачах.
В этой статье покажем, как устроена интеграция, что именно автоматизируется и чем это может быть полезно в ваших проектах.
Что такое .cursor/rules?
.cursor/rules – это специальная директория, которая содержит правила для разработки в формате Markdown. Они интегрируются с IDE Cursor и помогают разработчикам следовать установленным стандартам при написании кода. Более подробную информацию можно найти в официальной документации.
Основные правила
В текущей реализации Admiral включает три основных правила:
crud-page.mdc – правила создания CRUD-страниц со всей сопутствующей логикой.
admiral-components.mdc – документация по компонентам.
admiral-hooks.mdc – документация по хукам.
Правила admiral-components.mdc и admiral-hooks.mdc: документация по компонентам и хукам.
Данные правила автоматически включаются в контекст каждого запроса, чтобы AI-агенту было понятно как правильно использовать компоненты и хуки библиотеки, тем самым помогаем ему избежать ошибок, к примеру использования несуществующих пропсов или использования компонента не по назначению.
Правило crud-page.mdc: стандартизация CRUD-разработки
Создание CRUD-страниц – основной функционал административной панели. Здесь правило crud-page.mdc отвечает за:
Единообразие структуры всех CRUD-страниц;
Стандартизацию именования переменных и функций;
Четкую организацию файлов и папок;
Использование только разрешенных компонентов из библиотеки @devfamily/admiral.
Здесь от разработчика требуется только одно – продумать именование полей для форм, таблиц, фильтров и некоторых других базовых элементов.
Всё остальное за вас сгенерирует Cursor. Таким образом, это правило позволяет сэкономить львиную долю времени и сосредоточиться на действительно важных деталях проекта.
Как работает правило crud-page.mdc глазами AI-агента
Правило crud-page.mdc
предоставляет AI-агенту Cursor полный набор инструкций для создания CRUD-страниц и всей сопутствующей логики. Рассмотрим, как устроен процесс и какие требования должны быть выполнены для использовании AI в разработку с Admiral.
1. Основные принципы:
AI получает четкие указания о том, что все CRUD-страницы должны следовать единой структуре
Определены правила именования файлов, переменных и функций
Указано, что страница должна находиться в папке, названной согласно первому пункту из списка, предоставленного пользователем
Определен список разрешенных компонентов для форм из библиотеки @devfamily/admiral
2. Структура CRUD-страницы
AI получает пошаговые инструкции по созданию файла:
Как организовать импорты (React, хуки, компоненты);
Как структурировать основную конфигурацию через
createCRUD
;Какие секции являются обязательными (path, resource, index, filter, form);
Какие секции опциональны (actions, create, update, filter, topContent, bottomContent).
3. Структура файлов:
AI получает четкое представление о том, как должны быть организованы файлы:
admin/
├── src/
│ └── crud/
│ └─── [resource]/
│ ├──── index.tsx # файл с конфигурацией CRUD-страницы
│ ├──── types.ts # Типизация
│ └────components/ # На случай необходимости использования кастомных компонентов
└── config/
└─── menu.tsx # Файл, описывающий как должно выглядеть меню навигации
└── pages/ Роутинг
└─── [resource]/
├──── index.tsx # Страница с таблицей
├──── create.tsx # Страница с формой создания
└──── [id].tsx # Страница с формой редактирования
4. Процесс создания:
AI знает, что для создания CRUD-страницы нужно:
Создать соответствующие файлы в правильных директориях;
Настроить маршрутизацию в pages;
Добавить пункт меню, если это необходимо;
Следовать типизации из библиотеки @devfamily/admiral;
Проверить новосозданный код на наличие ошибок Typescript и линтеров, а затем исправить их.
5. Рекомендации по разработке:
AI получает конкретные указания по:
Настройке таблиц (указание ширины колонок, рендеринг сложных типов данных);
Организации фильтров (группировка, использование allowClear в селектах);
Структуре форм (обязательные поля, использование columnSpan и декомпозиция компонентов полей форм);
Действия таблицы (использование TopToolbar для кастомизации действий, добавление иконок).
6. Типизация:
AI имеет доступ к информации о том, где найти полную типизацию:
Путь к типизации: node_modules/@devfamily/admiral/lib/admiral/crud
Для доступа к типизации из node_modules, должна быть установлена зависимость @devfamily/admiral.
7. Процесс взаимодействия с пользователем:
AI знает, что должен:
Запросить у пользователя список из 7 пунктов, если он не предоставлен изначально;
Создать все необходимые файлы и структуру на основе этого списка.
8. Примеры кода:
AI имеет доступ к реальному примеру CRUD-страницы, который включает:
Импорты компонентов;
Настройку форм;
Настройку фильтров;
Конфигурацию таблицы;
Настройку действий;
Примеры использования различных компонентов.
Как AI использует правило crud-page.mdc в Admiral
Когда пользователь запрашивает создание новой CRUD-страницы, AI:
1. Проверяет наличие всех необходимых данных от пользователя.
2. Создает правильную структуру файлов и папок.
3. Генерирует код, следуя всем указанным правилам и стандартам.
4. Использует только разрешенные компоненты из @devfamily/admiral.
5. Создает все необходимые связи между файлами.
6. Добавляет необходимые пункты меню.
7. Находит и исправляет ошибки типизации и линтеров, в случае их наличия.
Это позволяет AI создавать качественные, стандартизированные CRUD-страницы, которые легко поддерживать и расширять в будущем. А вы, как разработчики, получаете следующие преимущества:
Быстрое создание новых страниц через структурированный процесс;
Единый стиль кодирования;
Автоматическая проверка типов, linter-ошибок и их исправление;
Частичная документация по проекту встроена прямо в IDE.
Как использовать правило
Если вам нужно создать CRUD-страницы, упомяните @crud-page правило в чате, и он самостоятельно запросит список от пользователя. Затем AI-агент задаст вам необходимые вопросы по списку. Вы также можете сразу предоставить на них ответы в следующем формате:
Базовое наименование. Это имя будет использовано в PascalCase для названия компонента, в kebab-case – для пути и папок в каталоге pages.
Ресурс. Используется для отправки запросов на сервер.
Список необходимых столбцов для таблицы. Необходимо передать список наименований «name», «age», «address», «phone».
Список обязательных полей для формы создания.
Список обязательных полей для формы редактирования. Если они совпадают с пунктом 4, оставьте поле пустым или укажите это.
Список названий полей, для которых необходимы фильтры.
Список названий полей, для которых необходимы быстрые фильтры (если они идентичны пункту 6, оставьте пустым или укажите так).
AI-agent будет запрашивать у вас разрешение на создание новых файлов и директорий, если такое разрешение не предоставлено заранее.
Правила admiral-components.mdc и admiral-hooks.mdc являются контекстом для любых AI-запросов в директории проекта. То есть они будут автоматически добавляться перед каждым запросом, чтобы AI-агент подробнее понимал, как правильно использовать компоненты и хуки пакета @devfamily/admiral.
Реальный пример создания CRUD-страницы с помощью rules.
Сначала вызываем правило в чате.

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

Далее AI-агент создает все необходимые файлы и проверяет заново созданный код на наличие ошибок типизации и линтеров, находит их и исправляет.

На выходе мы получаем все необходимые файлы без единой ошибки и можем дальше описывать инструкции для агента, чтобы и дальше редактировать новые файлы – с помощью Cursor либо вручную.
Заключение
Сейчас мы тестируем .cursor/rules на реальных проектах и по необходимости будем улучшать их. Команда Admiral планирует также добавлять новые инструкции, чтобы покрыть как можно больше других аспектов разработки админ-панелей. Верим, что скоро процесс станет еще более эффективным и стандартизированным.
Комментарии (3)
zizop
11.07.2025 13:58Ребят, это круто! AI-шка очень любит "чистые" данные на входе. Когда у вас хорошо структурированный проект, написанный по стандартам + указано в правилах что и как делать, то AI-агент может стать тем бустом, который действительно возьмёт на себя рутину.
На каком-то то-ли подкасте, то-ли интервью, человек занимающемуся AI задали вопрос - "А человек (работник) в будущем выиграет или проиграет от внедрения AI". И собеседник ответил - "выиграет тот, кто успешно вплетет его в свой мозговой контур". В этой статье вы показали отличный способ такой интеграции на практическом примере.
Kahelman
„и чё?» где правила-то?
Много текста и ноль полезного контента …
yavoloh
Вот https://github.com/dev-family/admiral/tree/master/.cursor/rules