К основному содержанию
правило

typo3cms-extension-cursorrules-prompt-file — правило для Cursor

Правило задаёт Cursor структуру и стандарты для разработки расширений TYPO3 CMS. Пригодится, когда агент создаёт PHP-код, конфигурацию и тесты.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/typo3cms-extension-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает 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

По шагам, с командами для каждой платформы: 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

Похожие правила IDE

Все правила IDE по теме «Бэкенд и API» →
typespec-m365-copilot официальный github Правило подсказывает, как описывать агентов и API-плагины Microsoft 365 Copilot на TypeSpec. Срабатывает при работе с файлами .tsp. ★ 40 451звёзд репо typescript-mcp-server официальный github Правило подсказывает Copilot, как писать MCP-серверы на TypeScript SDK: классы, схемы на zod, транспорты и типовые ошибки. ★ 40 451звёзд репо springboot официальный github Правило задаёт Copilot стиль кода для Spring Boot: внедрение зависимостей, конфигурация, логирование и проверка сборки. ★ 40 451звёзд репо springboot-4-migration официальный github Инструкция для GitHub Copilot по переводу проектов со Spring Boot 3.x на 4.0. Помогает обновить зависимости в Gradle Kotlin DSL, каталоги версий и имена стартеров. ★ 40 451звёзд репо ruby-on-rails официальный github Задаёт для GitHub Copilot стандарты архитектуры Rails: тонкие контроллеры, сервисные объекты и строгие миграции. Помогает писать предсказуемый бэкенд на Ruby. ★ 40 451звёзд репо quarkus официальный github Задаёт стандарты разработки на Quarkus для GitHub Copilot при работе с Java и сборщиками. Направляет генерацию сервисов, конфигураций и тестов. ★ 40 451звёзд репо

Из того же набора234

Весь набор →
vercel-deployment Задаёт стандарты Vercel для Edge Runtime, бессерверных функций и vercel.json. Пригодится при настройке маршрутизации и деплоя. ★ 41 024звёзд репо vercel-deployment-cursorrules-prompt-file Правило задаёт рекомендации для деплоя приложений на Vercel: от переменных окружения и serverless-функций до кэширования и CI/CD. Пригодится, когда агент помогает готовить проект к публикации. ★ 41 024звёзд репо unity-cursor-ai-c-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на разработку игры на Unity с C#: модульный код, отзывчивые механики, производительность в реальном времени. ★ 41 024звёзд репо uikit-guidelines-cursorrules-prompt-file Набор инструкций по вёрстке интерфейсов UIKit на Swift без Storyboard. Задаёт вёрстку через SnapKit, разделение UI и моделей, а также передачу событий замыканиями. ★ 41 024звёзд репо typescript Правило задаёт агенту Cursor единый стиль TypeScript: типы, имена, обработку ошибок. Пригодится, когда в проекте несколько разработчиков и код пишется вперемешку. ★ 41 024звёзд репо typescript-zod-tailwind-nextjs-cursorrules-prompt- Задаёт стандарты TypeScript, Next.js и Zod в Cursor: требует функциональный стиль, десктопный Tailwind CSS, Shadcn UI и серверные компоненты. ★ 41 024звёзд репо typescript-vuejs-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль кода на TypeScript в проектах с Vue.js. Пригодится, когда нужно, чтобы правки в компонентах выглядели единообразно. ★ 41 024звёзд репо typescript-vite-tailwind-cursorrules-prompt-file Правило для Cursor задаёт стиль кода на TypeScript во Vue-проектах со сборкой Vite и стилями Tailwind. Пригодится, когда агент пишет компоненты и вам нужен предсказуемый результат. ★ 41 024звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой