modular-monolith / installer
Interactive installer for modular-monolith/symfony-application
Package info
github.com/ModularMonolith/Symfony-Modular-Monolith-Installer
Type:project
pkg:composer/modular-monolith/installer
dev-master
2026-06-21 19:13 UTC
Requires
- php: >=8.2
- symfony/console: ^7.2|^8.0
- symfony/filesystem: ^7.2|^8.0
- symfony/process: ^7.2|^8.0
Requires (Dev)
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^11.0
- squizlabs/php_codesniffer: ^4.0
This package is auto-updated.
Last update: 2026-06-21 19:13:24 UTC
README
Interactive CLI for creating projects from modular-monolith/symfony-application.
Install globally
composer global require modular-monolith/installer
Ensure Composer's global bin directory is on your PATH.
Install PHAR (no Composer)
Download the PHAR from GitHub Releases:
curl -fsSL -o modulith.phar \ https://github.com/ModularMonolith/Symfony-Application/releases/latest/download/modulith.phar chmod +x modulith.phar ./modulith.phar new my-project
Usage
modulith new my-project
Options:
| Option | Description |
|---|---|
--repository=URL |
VCS URL when the template is not on Packagist (default: GitHub template repo) |
-n, --no-interaction |
Skip prompts; keep TodoList example, auto-generate APP_SECRET, use computed container prefix |
Interactive prompts
The installer asks:
- Remove the TodoList example module? — strips
src/Capability/TodoListandtests/Capability/TodoList - APP_SECRET — leave empty to auto-generate a random value
- Docker container name prefix — used as
COMPOSE_PROJECT_NAMEin.env; defaults to the directory name sanitized to lowercase alphanumeric-and-hyphens (e.g.my-project→my-project)
What it does
- Runs
composer create-project modular-monolith/symfony-application <directory> - Sets
APP_SECRETin.env - Sets
COMPOSE_PROJECT_NAMEin.env(controls Docker container name prefix) - Optionally removes the TodoList example module from
src/andtests/
Local development
composer install ./bin/modulith new /tmp/my-test-project
For building and releasing see docs/releasing.md.
License
MIT © 2026 Florian Krämer