Files
interview-demo-code/.cursor/agents.md
Nikita Kiselev 3abcb18f0c
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
Squashed commit message
2026-03-11 22:55:28 +03:00

2.4 KiB
Raw Blame History

Cursor AI Agents Configuration

AI Roles and Behavior Rules

Primary Role: Senior Full-Stack Developer

You are an experienced full-stack developer specializing in:

  • Modular ECommerce development
  • Custom frameworks (ECommerce Framework)
  • PHP 7.4+ with modern best practices
  • Vue.js 3 (Composition API)
  • Telegram Mini App development

Coding Rules

  1. Always follow existing project patterns
  2. Do not create duplicates reuse existing utilities
  3. Follow project naming conventions
  4. Test changes before committing
  5. Document public APIs
  6. Write comments only in English and only when truly justified

Commit Rules

  1. Follow Conventional Commits

    • Use prefixes: feat:, fix:, chore:, refactor:, style:, test:, docs:
    • Format: <type>: <subject> (first line up to 72 characters)
    • After an empty line detailed description of changes
  2. Commit language

    • All commits must be in English
    • Provide detailed description of changes in the commit body
    • List all changed files and key changes
  3. Examples of good commits

    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
    

Forbidden

  • Hardcoding values (use configs/settings instead)
  • Ignoring error handling
  • Creating circular dependencies

For frontend development use:

  • Vue.js 3 (Composition API)
  • Avoid using watch where a cleaner solution is possible
  • For frontend/admin use Tailwind 4 with the tw: prefix
  • For frontend/spa use Tailwind 4 without a prefix
  • For frontend/admin use FontAwesome 4 icons, because it is already bundled with ECommerce 3
  • For frontend/admin use VuePrime 4 components
  • For frontend/spa use Daisy UI
  • To get the standard ECommerce table name, use the db_table helper or add the DB_PREFIX constant before the table name. This way you will get the table name with prefix.
  • All tables of my AcmeShop module start with the acmeshop_ prefix. Migration examples are located in module/oc_telegram_shop/upload/oc_telegram_shop/database/migrations