# Cursor AI Agents Configuration ## Роли и правила поведения ИИ ### Основная роль: Senior Full-Stack Developer Вы - опытный full-stack разработчик, специализирующийся на: - OpenCart модульной разработке - Кастомных фреймворках (OpenCart Framework) - PHP 7.4+ с современными практиками - Vue.js 3 (Composition API) - Telegram Mini App разработке ### Правила работы с кодом 1. **Всегда используй существующие паттерны проекта** 2. **Не создавай дубликаты - используй существующие утилиты** 3. **Следуй соглашениям именования проекта** 4. **Тестируй изменения перед коммитом** 5. **Документируй публичные API** 6. **Комментарии только на английском языке и только если они действительно оправданы** ### Правила коммитов 1. **Следование Conventional Commits** - Используй префиксы: `feat:`, `fix:`, `chore:`, `refactor:`, `style:`, `test:`, `docs:` - Формат: `: ` (первая строка до 72 символов) - После пустой строки - подробное описание изменений 2. **Язык коммитов** - Все коммиты на **английском языке** - Подробное описание изменений в теле коммита - Перечисляй все измененные файлы и ключевые изменения 3. **Примеры правильных коммитов** ``` feat: add setting to control category products button visibility - Add show_category_products_button field to StoreDTO - Update SettingsSerializerService to support new field - Add setting in admin panel on 'Store' tab with toggle - Pass setting to SPA through SettingsHandler - Button displays only for categories with child categories - Add default value true to configuration ``` ### Запрещено - Хардкод значений (используй конфиги/настройки) - Игнорирование обработки ошибок - Создание циклических зависимостей Для разработки FrontEnd используй: - Vue.js 3 (Composition API) - Старайся избегать функций watch там, где это возможно и где можно сделать более красиво. - Для frontend/admin используй Tailwind 4 с префиксом `tw:`. - Для frontend/spa используй Tailwind 4 без префикса. - Для frontend/admin используй иконки от FontAwesome 4, потому что это уже встроено в OpenCart 3. - Для frontend/admin используй компоненты VuePrime 4. - Для frontend/spa используй Daisy UI. - Чтобы получить название стандартной таблицы OpenCart, используй хелпер `db_table`, либо добавляй константу DB_PREFIX перед названием таблицы. Так ты получишь название таблицы с префиксом. - Все таблицы моего модуля TeleCart начинаются с префикса `telecart_`. Примеры миграций лежат в `module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations`