- Is typo3/coding-standards compatible with Laravel?
- It is not Laravel-specific. The package ships a PHP-CS-Fixer ruleset based on TYPO3 Core house style, an .editorconfig, and a setup command, but none of the rules are Laravel-aware. You can install it in a Laravel project as a dev dependency, but expect disagreements with Pint's laravel preset. The practical approach is to treat it as a reference ruleset and selectively copy compatible rules.
- How do I install typo3/coding-standards in a Laravel project?
- Run composer require --dev typo3/coding-standards, then run composer exec typo3-coding-standards setup or the shortcut composer exec t3-cs s. The setup command auto-detects project or extension type and generates .php-cs-fixer.dist.php and .editorconfig in your project root. Commit the generated files and run PHP-CS-Fixer through Composer. Be careful with --force because it can overwrite an existing .editorconfig.
- Will typo3/coding-standards conflict with Laravel Pint?
- It can. Pint already bundles PHP-CS-Fixer, so requiring PHP-CS-Fixer directly alongside Pint can create Composer version conflicts and leaves you with two competing formatters. The TYPO3 ruleset also encodes conventions that differ from Pint's laravel preset, such as concatenation spacing and trailing comma behavior. Most Laravel teams should run only one formatter, either Pint or PHP-CS-Fixer with a custom config.
- Do I need typo3/coding-standards for a typical Laravel application?
- Usually no. Laravel projects already have Pint for formatting, and this package is aimed at TYPO3 extensions, TYPO3 projects, and TYPO3 contributors. Direct installation is only justified if you maintain TYPO3 artifacts or deliberately standardize on PHP-CS-Fixer instead of Pint. For Laravel-only codebases, copy the useful language-level rules into your own config rather than adding the dependency.
- What does typo3/coding-standards actually include?
- It is a dev-only Composer package containing three artifacts: a PHP-CS-Fixer rule set extracted from TYPO3 Core, a shared .editorconfig, and a Symfony Console installer exposed as typo3-coding-standards or t3-cs. It contains no runtime library code and does not affect application behavior. The setup command scaffolds and updates config files, though license headers cannot be inserted automatically.
- Which PHP and Laravel versions does typo3/coding-standards support?
- The package requires PHP 8.0 or later and Composer 2. It is not tied to Laravel versions because it is developer tooling, not a Laravel package. Laravel compatibility is therefore indirect and depends on PHP and PHP-CS-Fixer compatibility. Treat 0.x minor releases carefully because they can include breaking changes.
- Is typo3/coding-standards safe to use in production?
- It is intended as a require-dev dependency and contains no runtime code, so it should not be deployed to production. The real risk is in development and CI: an unpinned Composer update can reformat unrelated code or turn a lint job red. Pin the version and review the diff before adopting upstream changes.
- How actively is typo3/coding-standards maintained?
- It is community-maintained by TYPO3 project leads, MIT-licensed, and has no commercial SLA. The rules are synchronized nightly from TYPO3 Core by a GitHub Action, and the project has shipped breaking changes in 0.x minor bumps. The README also notes that the package is not meant to be updated regularly because coding guidelines are a matter of taste. Pin it and review upstream syncs if you depend on it.
- Can I use only the .editorconfig from typo3/coding-standards?
- Yes. The .editorconfig can be adopted independently of the PHP-CS-Fixer ruleset, which is useful if you only want consistent editor settings across IDEs. Be aware that the setup command and its --force option can overwrite an existing .editorconfig destructively. Check for an existing file and any CI lint jobs before running setup, or copy the settings manually.
- What are the alternatives to typo3/coding-standards for Laravel projects?
- Laravel Pint is the default choice and already wraps PHP-CS-Fixer with a Laravel-focused preset. Other options include PHP-CS-Fixer with your own custom config or PHP_CodeSniffer with a chosen standard. If you need TYPO3 compatibility, use typo3/coding-standards directly; otherwise extract the compatible rules instead of adding the dependency.