Some checks are pending
Telegram Mini App Shop Builder / Compute version metadata (push) Waiting to run
Telegram Mini App Shop Builder / Run Frontend tests (push) Waiting to run
Telegram Mini App Shop Builder / Run Backend tests (push) Waiting to run
Telegram Mini App Shop Builder / Run PHP_CodeSniffer (push) Waiting to run
Telegram Mini App Shop Builder / Build module. (push) Blocked by required conditions
Telegram Mini App Shop Builder / release (push) Blocked by required conditions
2.4 KiB
2.4 KiB
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
- Always follow existing project patterns
- Do not create duplicates – reuse existing utilities
- Follow project naming conventions
- Test changes before committing
- Document public APIs
- Write comments only in English and only when truly justified
Commit Rules
-
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
- Use prefixes:
-
Commit language
- All commits must be in English
- Provide detailed description of changes in the commit body
- List all changed files and key changes
-
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
watchwhere a cleaner solution is possible - For
frontend/adminuse Tailwind 4 with thetw:prefix - For
frontend/spause Tailwind 4 without a prefix - For
frontend/adminuse FontAwesome 4 icons, because it is already bundled with ECommerce 3 - For
frontend/adminuse VuePrime 4 components - For
frontend/spause Daisy UI - To get the standard ECommerce table name, use the
db_tablehelper or add theDB_PREFIXconstant before the table name. This way you will get the table name with prefix. - All tables of my
AcmeShopmodule start with theacmeshop_prefix. Migration examples are located inmodule/acmeshop/upload/acmeshop/database/migrations