Extension kickstarters
There is no "official" tool to create a TYPO3 extension, however, there are a number of community-managed tools that you can use.
Creating a new extension from scratch
- Create a directory with the extension name
- Create the composer.json file
- Create the ext_emconf.php file if you have a Classic mode installation or an extension that will be uploaded to TER
Kickstart a TYPO3 extension with "Make"
"Make" can be used to quickly create an extension using only a few basic commands in the console. "Make" can also be used to kickstart functionality like console commands (CLI), backend controllers and event listeners. It cannot be used to kickstart site packages or Extbase extensions.
Extension Kickstarter
The Site Package Builder makes it easy to create an extension containing a site package (theme) for a site. It can also be used to kickstart an arbitrary extension by removing unneeded files.
Extension Builder
The Extension Builder, friendsoftypo3/extension-builder helps you create a TYPO3 extension based on the domain-driven MVC framework Extbase and the templating engine Fluid.
Extension kickstarter matrix
Feature | stefanfroemken/ext-kickstarter | b13/make | friendsoftypo3/extension-builder |
---|---|---|---|
GUI available | (✅) Still experimental | ❌ | ✅ Web-based GUI (Extbase modeler in TYPO3 backend) |
Command line support | ✅ CLI commands via vendor/ | ✅ CLI commands via vendor/ | ❌ Not directly; uses GUI to generate and export code |
Creates extension | ✅ Creates new extension skeleton | ✅ Creates modern extension skeleton | ✅ Generates full Extbase+Fluid extension with GUI modeler |
Controller | ✅ Extbase or native TYPO3 controller | ❌ Not supported | ✅ Supports generation of controllers and backend modules via modeler |
Module | ❌ Not supported | ✅ Backend controller (Module) | ✅ GUI lets you define backend modules based on controllers/actions |
Repository | ✅ Extbase repository generation | ❌ Not supported | ✅ Supports definition of domain repositories via modeler |
Model | ✅ Domain model with property mapping | ❌ Not supported | ✅ Supports domain model generation and inheritance relations |
Plugin | ✅ Generates plugin + TypoScript | ❌ Not supported | ✅ Lets you define frontend plugins in GUI |
Table | ✅ Generates TCA | ❌ Not supported | ✅ Creates TCA and maps to existing tables via modeler |
Event | ✅ Creates event class | ❌ Not supported | ❌ No direct support |
Eventlistener | ✅ Supported | ✅ Supported | ❌ Not supported |
Typeconverter | ✅ Generates Extbase TypeConverter | ❌ Not supported | ❌ Not supported |
Upgrade Wizard | ✅ Generates Upgrade Wizard class | ❌ Not supported | ❌ Not supported |
Testing | ✅ Adds testing environment | ❌ Not supported | ✅ Includes PHPUnit tests scaffolding for extension skeleton |
Command | ❌ Not supported | ✅ Generates Symfony Console command | ❌ Not supported |
Middleware | ❌ Not supported | ✅ Creates PSR‑15 Middleware | ❌ Not supported |