typo3cms-extension-cursorrules-prompt-file — правило для Cursor
Правило задаёт Cursor структуру и стандарты для разработки расширений TYPO3 CMS. Пригодится, когда агент создаёт PHP-код, конфигурацию и тесты.
.cursor/rules/typo3cms-extension-cursorrules-prompt-file.mdcЧто делает typo3cms-extension-cursorrules-prompt-file
Правило направляет Cursor при создании расширения для TYPO3 CMS. Оно задаёт структуру с каталогами Classes, Configuration, Resources и Tests, а также файлы ext_emconf.php и composer.json. В рекомендациях есть Extbase-контроллеры, модели, репозитории, сервисы, обработчики событий PSR-14, middleware и utility-классы.
Для кода предлагаются TYPO3 Coding Guidelines, PSR-12, строгая типизация, современные атрибуты и внедрение зависимостей. Конфигурация связывается с Services.yaml, ext_localconf.php, TypoScript и YAML. Проект на PHP ниже 8.3 потребует отдельной сверки с этими рекомендациями.
Тестирование строится на PHPUnit для unit- и functional-тестов, а TYPO3-специфичные сценарии используют typo3/testing-framework. Правило также задаёт требования к README.md, каталогу Docs и PHPDoc.
Какие задачи решает
- спроектировать структуру расширения TYPO3 CMS
- разложить классы по PSR-4 пространствам имён
- настроить сервисы и регистрацию событий
- подготовить unit- и functional-тесты
- описать установку и конфигурацию расширения
Примеры запросов агенту
- Создай расширение TYPO3 CMS по описанию функции и разложи файлы по рекомендованной структуре.
- Проверь этот PHP-код на соответствие PSR-12, TYPO3 Coding Guidelines и требованиям к внедрению зависимостей.
- Добавь PHPUnit-тесты для модели, репозитория и сервиса, используя
typo3/testing-frameworkтам, где это нужно.
Как установить typo3cms-extension-cursorrules-prompt-file
Вручную: положить файлы
.cursor/rules/typo3cms-extension-cursorrules-prompt-file.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/typo3cms-extension-cursorrules-prompt-file.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/typo3cms-extension-cursorrules-prompt-file.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/typo3cms-extension-cursorrules-prompt-file.mdВручную: положить файлы
.clinerules/typo3cms-extension-cursorrules-prompt-file.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Вопросы о typo3cms-extension-cursorrules-prompt-file
Как установить typo3cms-extension-cursorrules-prompt-file в Cursor?
Создайте файл правила по пути .cursor/rules/typo3cms-extension-cursorrules-prompt-file.mdc.
Что делает typo3cms-extension-cursorrules-prompt-file?
Правило помогает Cursor планировать и писать расширения TYPO3 CMS: задаёт структуру каталогов, соглашения PHP, конфигурацию сервисов и подход к тестированию.
Какая версия PHP нужна для рекомендаций правила?
Правило советует использовать возможности PHP 8.3+ там, где это уместно. В нём также указаны PSR-12, строгая типизация и внедрение зависимостей.
Исходный текст
typo3cms-extension-cursorrules-prompt-file.mdc · CC0-1.0
--- description: "Cursor rules for TYPO3 CMS development with extension integration." globs: **/* alwaysApply: false --- You are a highly skilled TYPO3 extension developer tasked with creating a new extension. Your goal is to provide a detailed plan and code structure for the extension based on the given project description and specific requirements. --- ### 1. Development Guidelines - **Use PHP 8.3+ features where appropriate** - Follow **TYPO3 Coding Guidelines (CGL)** and **Core Team Best Practices** - Use the **Extension Builder** as a starting point where useful, but favor manual organization for better control - Apply **PSR-12** coding standards - Utilize **strict typing**, union types, readonly properties, and modern attributes - Prefer **dependency injection** over static access or global scope - Focus on excellent **Developer Experience (DX)**: - Clear type annotations - IDE autocompletion - Precise PHPDoc blocks - Consistent naming conventions --- ### 2. Coding Standards and Conventions - **File Names**: Use `PascalCase.php` (e.g., `MyService.php`) - **Class and Enum Names**: Use `PascalCase` (e.g., `MyUtilityClass`) - **Method Names**: Use `camelCase` (e.g., `getUserData`) - **Variable and Property Names**: Use `camelCase` (e.g., `userService`) - **Constants and Enum Case Names**: Use `SCREAMING_SNAKE_CASE` (e.g., `DEFAULT_LIMIT`) - **Namespaces**: Respect PSR-4 autoloading, use `Vendor\ExtensionName\SubNamespace` --- ### 3. Extension Structure and File Organization ```plaintext my_extension/ ├── Classes/ │ ├── Controller/ # Extbase Controllers │ ├── Domain/ │ │ ├── Model/ # Domain Models │ │ └── Repository/ # Domain Repositories │ ├── Service/ # Business logic classes │ ├── EventListener/ # PSR-14 event subscribers │ ├── Middleware/ # Custom middlewares (if needed) │ └── Utility/ # Utility/helper classes ├── Configuration/ │ ├── TCA/ # Table configuration arrays │ ├── Services.yaml # Service container configuration │ └── ext_localconf.php # Extension registration ├── Resources/ │ ├── Private/ │ │ ├── Templates/ # Fluid templates │ │ ├── Partials/ │ │ └── Layouts/ │ └── Public/ # JS, CSS, Images ├── Tests/ │ ├── Unit/ # PHPUnit unit tests │ └── Functional/ # Functional tests ├── ext_emconf.php # Extension metadata └── composer.json # Composer configuration ``` #### Integration into TYPO3 CMS - The extension is installed via **Composer** or manually via the **Extension Manager** - Services are automatically injected via `Services.yaml` configuration - PSR-14 Events, SignalSlots, and TypoScript are registered via `ext_localconf.php` - Configuration is handled via TypoScript and YAML --- ### 4. Testing and Documentation #### ✅ Testing Strategy - Use **PHPUnit** for both **unit** and **functional** tests - Use `typo3/testing-framework` for TYPO3-specific test cases - Write tests for: - Domain logic (Models, Repositories) - Services (pure PHP logic) - Controllers (via functional tests) - Ensure code coverage and test edge cases #### 📚 Documentation Structure - `README.md` - Extension purpose - Installation instructions - Minimal usage example - `Docs/` - Setup and configuration guides - Full usage examples (Fluid templates, TypoScript) - API reference (linked with PHPDoc) - Code is self-documented with comprehensive **PHPDoc**
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules