Automates non-PHP TYPO3 upgrade migrations with Fractor for FlexForms, TypoScript, Fluid, YAML, XLIFF translation files, Htaccess, and composer.json changes. Use when running or configuring Fractor, upgrading non-PHP TYPO3 files, migrating FlexForms or TypoScript, modernizing Fluid templates, or combining Rector and Fractor for v14 work.
Instrucciones de origen · Vista previa de solo lectura
name
typo3-fractor
description
Automates non-PHP TYPO3 upgrade migrations with Fractor for FlexForms, TypoScript, Fluid, YAML, XLIFF translation files, Htaccess, and composer.json changes. Use when running or configuring Fractor, upgrading non-PHP TYPO3 files, migrating FlexForms or TypoScript, modernizing Fluid templates, or combining Rector and Fractor for v14 work.
Fractor is a generic file refactoring tool that automates non-PHP migrations for TYPO3 upgrades. It complements Rector (which handles PHP) by migrating FlexForms, TypoScript, Fluid templates, YAML, XLIFF translation files, Htaccess files, and composer.json. Fractor is stable since v1.0 (July 2026); it is maintained by Simon Schaufelberger and Andreas Wolf and partly funded through TYPO3 community budgets.
Target: TYPO3 v14.x for this skill collection. Upstream Fractor sets may still be named TYPO3_12, TYPO3_13, etc. — those are historical bundle identifiers for rules you apply while moving code a v14 codebase.
toward
TYPO3 API First: Always use TYPO3's built-in APIs, core features, and established conventions before creating custom implementations. Always verify that the APIs and methods you use exist and are not deprecated in TYPO3 v14 by checking the official TYPO3 documentation.
Safety: Never run Fractor on production. Always run on a development environment with version control. Review and test changes before releasing.
Use both together for complete TYPO3 upgrades. See the typo3-extension-upgrade skill for the full workflow.
1. Installation
composer require --dev a9f/typo3-fractor
# or with DDEV:
ddev composer require --dev a9f/typo3-fractor
Important: Like Rector, Fractor loads the project autoloader and requires a PHP version
that can parse the installed TYPO3 packages. For TYPO3 v14 targets, run Fractor with
PHP 8.2+. Use DDEV or a container if your local PHP is older.
Always run Fractor, never skip it. Non-PHP files (FlexForms, TypoScript, Fluid) contain
version-specific patterns that are easy to miss in manual review. Fractor rules are
maintained by the TYPO3 community and cover edge cases.
This meta-package installs all TYPO3-specific file processors (set as of Fractor v1.0):
a9f/fractor-xliff (XLIFF translation file processing — new in v1.0; pairs with the typo3-translations skill)
a9f/fractor-composer-json (composer.json processing — still not part of the meta-package; add composer require --dev a9f/fractor-composer-json when you need it)
vendor/bin/fractor process --dry-run --no-diffs # summary without diff output
vendor/bin/fractor process --dry-run --rules-summary # which rules changed which files
vendor/bin/fractor process --memory-limit=2G # raise the limit for large projects
Breaking in v1.0: the --quiet CLI option was removed.
Run Single Rule from Set
vendor/bin/fractor process --only="a9f\Typo3Fractor\TYPO3v14\TypoScript\RemoveExternalOptionFromTypoScriptFractor"
With DDEV
ddev exec vendor/bin/fractor process --dry-run
ddev exec vendor/bin/fractor process
4. Available Set Lists
Level Sets (Cumulative)
Apply all rules up to a target version:
Set List
Includes
Typo3LevelSetList::UP_TO_TYPO3_10
Imports UP_TO_TYPO3_9 plus TYPO3_10 rules only (see package config/level/up-to-typo3-10.php)
<f:case default="true"> → <f:defaultCase> (new in v1.0; applied through the cumulative level sets)
Fluid Rules (v12)
Rule
Migration
AbstractMessageGetSeverityFluidFractor
Migrate severity constants in Fluid
TypoScript rules (bundle id TYPO3_13)
These rules are published under the historical set name Typo3SetList::TYPO3_13 (v13-targeted rules). They still run when you apply the cumulative Typo3LevelSetList::UP_TO_TYPO3_14 level set on a v14 codebase.
Read the full guide when the task needs detailed examples, long templates, troubleshooting matrices, appendices, or sections not included above. Keep this file unloaded for narrow tasks so the skill follows progressive disclosure.