Squashed commit message
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

This commit is contained in:
2026-03-11 22:08:41 +03:00
commit f329bfa9d9
585 changed files with 65605 additions and 0 deletions

64
.cursor/agents.md Normal file
View File

@@ -0,0 +1,64 @@
# 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`