Home / Packages / @patrickjs/typo3cms-extension-cursorrules-prompt-fi

@patrickjs/typo3cms-extension-cursorrules-prompt-fi

Typo3cms Extension Cursorrules Prompt File cursor rules

prpm install @patrickjs/typo3cms-extension-cursorrules-prompt-fi
0 total downloads

šŸ“„ Full Prompt Content

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**

šŸ’” Suggested Test Inputs

Loading suggested inputs...

šŸŽÆ Community Test Results

Loading results...

šŸ“¦ Package Info

Format
cursor
Type
rule
Category
general
License
CC0-1.0

šŸ·ļø Tags