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
65 lines
2.4 KiB
Markdown
65 lines
2.4 KiB
Markdown
# 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`
|