PHPackages                             maispace/make - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. maispace/make

ActiveTypo3-cms-extension

maispace/make
=============

Extended TYPO3 make/kickstarter CLI tool with make commands for controllers, events, exceptions, migrations, traits, viewhelpers, services, middlewares and upgrade wizards

00[1 PRs](https://github.com/mai-space-de/typo3-extension-make/pulls)PHPCI passing

Since Mar 12Pushed 1mo agoCompare

[ Source](https://github.com/mai-space-de/typo3-extension-make)[ Packagist](https://packagist.org/packages/maispace/make)[ RSS](/packages/maispace-make/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (5)Used By (0)

typo3-extension-make
====================

[](#typo3-extension-make)

[![CI](https://github.com/mai-space-de/typo3-extension-make/actions/workflows/ci.yml/badge.svg)](https://github.com/mai-space-de/typo3-extension-make/actions/workflows/ci.yml)[![License: GPL v2+](https://camo.githubusercontent.com/ec6306119631a4bc812f4abc1b429674bd65410ae0ef38af01f43483fccc51ce/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d47504c25323076322532422d626c75652e737667)](LICENSE)

> Extended TYPO3 make/kickstarter CLI tool — based on [b13/make](https://github.com/b13/make) with tests, linting and additional make commands.

Overview
--------

[](#overview)

This TYPO3 extension provides a collection of `bin/typo3 make:*` commands that let you scaffold PHP components directly from the command line — no more copy-pasting boilerplate code.

CommandWhat it creates`make:backendcontroller`Backend controller (with route registration)`make:command`Symfony console command`make:controller`Extbase `ActionController``make:dataprocessor`TypoScript data processor`make:dto`Data Transfer Object (DTO)`make:enum`PHP enum (string-, int-backed, or pure)`make:event`PSR-14 event class`make:eventlistener`PSR-14 event listener (with service configuration)`make:exception`PHP exception class`make:factory`Factory class`make:hook`TYPO3 hook class`make:interface`PHP interface`make:migration`Data migration class`make:middleware`PSR-15 middleware (with `RequestMiddlewares.php` entry)`make:model`Extbase domain model (`AbstractEntity`)`make:repository`Extbase domain repository`make:routeenhancer`Custom site-route enhancer`make:service`Service class`make:trait`PHP trait`make:typeconverter`Extbase property type converter`make:upgradewizard`TYPO3 upgrade wizard (with service configuration)`make:utility`Utility class`make:validator`Extbase validator`make:viewhelper`Fluid `AbstractViewHelper`Requirements
------------

[](#requirements)

- PHP **8.2+**
- TYPO3 **13.4+**

Installation
------------

[](#installation)

```
composer require maispace/make
```

The extension is active automatically via composer. All commands are available via the TYPO3 CLI:

```
vendor/bin/typo3 list make
```

Usage
-----

[](#usage)

Each command is interactive — it will ask you for the class name, directory and any additional information it needs. You can also pre-fill values through environment variables to speed up scaffolding in automated workflows.

### Create a controller

[](#create-a-controller)

```
vendor/bin/typo3 make:controller my_extension
```

Creates an Extbase `ActionController` in `Classes/Controller/`.

### Create a PSR-14 event

[](#create-a-psr-14-event)

```
vendor/bin/typo3 make:event my_extension
```

Creates a final event class in `Classes/Event/`.

### Create a PSR-14 event listener

[](#create-a-psr-14-event-listener)

```
vendor/bin/typo3 make:eventlistener my_extension
```

Creates an event listener and registers it in `Configuration/Services.yaml`.

### Create an exception

[](#create-an-exception)

```
vendor/bin/typo3 make:exception my_extension
```

Creates a PHP exception class in `Classes/Exception/`.

### Create a middleware

[](#create-a-middleware)

```
vendor/bin/typo3 make:middleware my_extension
```

Creates a PSR-15 middleware and adds it to `Configuration/RequestMiddlewares.php`.

### Create a migration

[](#create-a-migration)

```
vendor/bin/typo3 make:migration my_extension
```

Creates a data migration class in `Classes/Migration/`.

### Create a service

[](#create-a-service)

```
vendor/bin/typo3 make:service my_extension
```

Creates a service class in `Classes/Service/`.

### Create a trait

[](#create-a-trait)

```
vendor/bin/typo3 make:trait my_extension
```

Creates a PHP trait in `Classes/Trait/`.

### Create an upgrade wizard

[](#create-an-upgrade-wizard)

```
vendor/bin/typo3 make:upgradewizard my_extension
```

Creates a TYPO3 upgrade wizard and registers it in `Configuration/Services.yaml`.

### Create a ViewHelper

[](#create-a-viewhelper)

```
vendor/bin/typo3 make:viewhelper my_extension
```

Creates a Fluid `AbstractViewHelper` in `Classes/ViewHelpers/`.

### Create a model

[](#create-a-model)

```
vendor/bin/typo3 make:model my_extension
```

Creates an Extbase domain model in `Classes/Domain/Model/`.

### Create a repository

[](#create-a-repository)

```
vendor/bin/typo3 make:repository my_extension
```

Creates an Extbase domain repository in `Classes/Domain/Repository/`.

### Create an interface

[](#create-an-interface)

```
vendor/bin/typo3 make:interface my_extension
```

Creates a PHP interface in the selected directory.

### Create a DTO

[](#create-a-dto)

```
vendor/bin/typo3 make:dto my_extension
```

Creates a Data Transfer Object in `Classes/Dto/`.

### Create an enum

[](#create-an-enum)

```
vendor/bin/typo3 make:enum my_extension
```

Creates a PHP enum (string-backed by default) in `Classes/Enum/`.

### Create a factory

[](#create-a-factory)

```
vendor/bin/typo3 make:factory my_extension
```

Creates a factory class in `Classes/Factory/`.

### Create a hook class

[](#create-a-hook-class)

```
vendor/bin/typo3 make:hook my_extension
```

Creates a TYPO3 hook class in `Classes/Hook/`.

### Create a data processor

[](#create-a-data-processor)

```
vendor/bin/typo3 make:dataprocessor my_extension
```

Creates a TypoScript `DataProcessorInterface` implementation in `Classes/DataProcessing/`.

### Create a type converter

[](#create-a-type-converter)

```
vendor/bin/typo3 make:typeconverter my_extension
```

Creates an Extbase property type converter in `Classes/Property/TypeConverter/`.

### Create a route enhancer

[](#create-a-route-enhancer)

```
vendor/bin/typo3 make:routeenhancer my_extension
```

Creates a custom site-route enhancer in `Classes/Routing/Enhancer/`.

### Create a utility class

[](#create-a-utility-class)

```
vendor/bin/typo3 make:utility my_extension
```

Creates a utility class in `Classes/Utility/`.

### Create a validator

[](#create-a-validator)

```
vendor/bin/typo3 make:validator my_extension
```

Creates an Extbase validator in `Classes/Validator/`.

### Create a backend controller

[](#create-a-backend-controller)

```
vendor/bin/typo3 make:backendcontroller my_extension
```

Creates a backend controller, registers it in `Configuration/Backend/Routes.php` and in `Configuration/Services.yaml`.

### Create a console command

[](#create-a-console-command)

```
vendor/bin/typo3 make:command my_extension
```

Creates a Symfony console command and registers it in `Configuration/Services.yaml`.

Environment variables
---------------------

[](#environment-variables)

You can pre-set values so the commands don't ask for them interactively. All variables are prefixed with `MAKE_`.

VariableUsed byDefault`MAKE_EXTENSION_KEY`all*(interactive)*`MAKE_CONTROLLER_DIR``make:controller``Controller``MAKE_CONTROLLER_ACTION``make:controller``index``MAKE_EVENT_DIR``make:event``Event``MAKE_EVENT_LISTENER_DIR``make:eventlistener``EventListener``MAKE_EVENT_LISTENER_IDENTIFIER_PREFIX``make:eventlistener`*(package prefix)*`MAKE_EXCEPTION_DIR``make:exception``Exception``MAKE_EXCEPTION_PARENT``make:exception``\RuntimeException``MAKE_MIGRATION_DIR``make:migration``Migration``MAKE_MIGRATION_DESCRIPTION``make:migration`*(empty)*`MAKE_MIDDLEWARE_DIR``make:middleware``Middleware``MAKE_MIDDLEWARE_IDENTIFIER_PREFIX``make:middleware`*(package prefix)*`MAKE_MIDDLEWARE_TYPE``make:middleware``frontend``MAKE_SERVICE_DIR``make:service``Service``MAKE_TRAIT_DIR``make:trait``Trait``MAKE_UPGRADE_WIZARD_DIR``make:upgradewizard``UpgradeWizard``MAKE_UPGRADE_WIZARD_PREFIX``make:upgradewizard`*(extension key)*`MAKE_UPGRADE_WIZARD_TITLE``make:upgradewizard`*(class name)*`MAKE_VIEWHELPER_DIR``make:viewhelper``ViewHelpers``MAKE_BACKEND_CONTROLLER_DIR``make:backendcontroller``Backend/Controller``MAKE_BACKEND_CONTROLLER_PREFIX``make:backendcontroller`*(extension key)*`MAKE_COMMAND_DIR``make:command``Command``MAKE_COMMAND_NAME_PREFIX``make:command`*(extension key)*`MAKE_INTERFACE_DIR``make:interface`*(empty)*`MAKE_MODEL_DIR``make:model``Domain/Model``MAKE_REPOSITORY_DIR``make:repository``Domain/Repository``MAKE_DATA_PROCESSOR_DIR``make:dataprocessor``DataProcessing``MAKE_DTO_DIR``make:dto``Dto``MAKE_ENUM_DIR``make:enum``Enum``MAKE_ENUM_BACKING_TYPE``make:enum``string``MAKE_FACTORY_DIR``make:factory``Factory``MAKE_HOOK_DIR``make:hook``Hook``MAKE_ROUTE_ENHANCER_DIR``make:routeenhancer``Routing/Enhancer``MAKE_TYPE_CONVERTER_DIR``make:typeconverter``Property/TypeConverter``MAKE_UTILITY_DIR``make:utility``Utility``MAKE_VALIDATOR_DIR``make:validator``Validator`Development
-----------

[](#development)

### Setup

[](#setup)

```
composer install
```

### Run tests

[](#run-tests)

```
composer test:unit
```

### Code style

[](#code-style)

```
# Check
composer lint:check

# Fix
composer lint:fix
```

### PHPStan

[](#phpstan)

```
composer check:phpstan
```

Credits
-------

[](#credits)

Based on [b13/make](https://github.com/b13/make) by [b13 GmbH](https://b13.com).

License
-------

[](#license)

GPL-2.0-or-later — see [LICENSE](LICENSE).

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance63

Regular maintenance activity

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity16

Early-stage or recently created project

 Bus Factor1

Top contributor holds 61.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b22510e8eb78fdd4b0f42719a309b33260650ea2d27cd98d6968ed61cb67644b?d=identicon)[maispace](/maintainers/maispace)

---

Top Contributors

[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (13 commits)")[![mai-space](https://avatars.githubusercontent.com/u/38419872?v=4)](https://github.com/mai-space "mai-space (8 commits)")

### Embed Badge

![Health badge](/badges/maispace-make/health.svg)

```
[![Health](https://phpackages.com/badges/maispace-make/health.svg)](https://phpackages.com/packages/maispace-make)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
