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. [CLI &amp; Console](/categories/cli)
4. /
5. maispace/make

ActiveTypo3-cms-extension[CLI &amp; Console](/categories/cli)

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

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

v14.0.0(1mo ago)00GPL-2.0-or-laterPHPPHP ^8.2CI 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 3w ago

READMEChangelogDependencies (8)Versions (7)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)[![PHP](https://camo.githubusercontent.com/187240af044d09d5b14a1d9d9ebdf3f7a993e4c7bc09bdb46b4ba661a891bf5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c7565)](https://www.php.net/)[![TYPO3](https://camo.githubusercontent.com/297bdd979d2373972f849e8f0c06e9810b5711203b1e4d1cd1367fe8991699fd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31332e342532304c545325323025324625323031342e782d6f72616e6765)](https://typo3.org/)[![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.

**Requires:** TYPO3 13.4 LTS / 14.x · PHP 8.2+

---

Overview
--------

[](#overview)

This TYPO3 extension provides a collection of `vendor/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`---

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

[](#installation)

```
composer require --dev maispace/mai-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.

### Examples

[](#examples)

```
# Create an Extbase controller
vendor/bin/typo3 make:controller my_extension

# Create a PSR-14 event
vendor/bin/typo3 make:event my_extension

# Create a PSR-14 event listener
vendor/bin/typo3 make:eventlistener my_extension

# Create a PSR-15 middleware (also writes RequestMiddlewares.php)
vendor/bin/typo3 make:middleware my_extension

# Create a backend controller (writes Routes.php + Services.yaml tag)
vendor/bin/typo3 make:backendcontroller my_extension

# Create a console command (writes Services.yaml tag)
vendor/bin/typo3 make:command my_extension

# Create an upgrade wizard (writes Services.yaml tag)
vendor/bin/typo3 make:upgradewizard my_extension

# Create a PHP enum (prompts for backing type: string / int / pure)
vendor/bin/typo3 make:enum my_extension
```

---

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 — root of Classes/)*`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

40

—

FairBetter than 86% of packages

Maintenance94

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 59% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

31d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/28559477?v=4)[maispace](/maintainers/maispace)[@MaiSpace](https://github.com/MaiSpace)

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[helhum/typo3-console

A reliable and powerful command line interface for TYPO3 CMS

2959.3M238](/packages/helhum-typo3-console)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[netresearch/rte-ckeditor-image

Image support in CKEditor for the TYPO3 ecosystem - by Netresearch

611.0M6](/packages/netresearch-rte-ckeditor-image)[b13/make

Kickstarter CLI tool for various TYPO3 functionalities

48267.9k1](/packages/b13-make)[b13/assetcollector

Asset collector - Add CSS and SVG files and strings as inline style tag/inline svg to the html code.

10123.2k](/packages/b13-assetcollector)

PHPackages © 2026

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