Files
interview-demo-code/.cursor/agents.md
Nikita Kiselev 87eb66f06b
Some checks failed
Telegram Mini App Shop Builder / Compute version metadata (push) Has been cancelled
Telegram Mini App Shop Builder / Run Frontend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run Backend tests (push) Has been cancelled
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Has been cancelled
Telegram Mini App Shop Builder / Build module. (push) Has been cancelled
Telegram Mini App Shop Builder / release (push) Has been cancelled
WIP
2026-03-11 21:52:01 +03:00

3.7 KiB
Raw Blame History

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:
    • Формат: <type>: <subject> (первая строка до 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 перед названием таблицы. Так ты получишь название таблицы с префиксом.
  • Все таблицы моего модуля MegaPay начинаются с префикса megapay_. Примеры миграций лежат в module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations