mcpField
T
typo3-extension-upgrade

typo3-extension-upgrade

github.com/dirnbauerDevelopment33100 installsUpdated 13w ago
Repository

About typo3-extension-upgrade

typo3-extension-upgrade is a skill for upgrading TYPO3 extension code to newer LTS versions, not for upgrading projects or TYPO3 core. It combines migration tools, static analysis, testing, and version-specific guidance in a review-oriented workflow.

Key features

  1. 01Plan upgrades and assess compatibility risks
  2. 02Scan for deprecated APIs
  3. 03Migrate PHP with Rector
  4. 04Migrate configuration and templates with Fractor
  5. 05Check code with PHPStan and PHPUnit
  6. 06Consult version-specific migration references

Use cases

  1. 01Upgrade an extension to a newer TYPO3 LTS
  2. 02Review automated migration changes before applying
  3. 03Check compatibility across supported dependency versions
  4. 04Assess upgrade scope and non-automatable findings

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dirnbauer/webconsulting-skills --skill typo3-extension-upgrade

After installing, type/typo3-extension-upgradein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

checkpoints.yaml
assets/
.php-cs-fixer.php
fractor.php
phpstan.neon
phpunit.xml
rector.php
references/
api-changes.md
api-traps.md
audit-mode.md
dual-compatibility.md
multi-version-worktrees.md
pre-upgrade.md
real-world-patterns.md
third-party-dependency-upgrades.md
toolchain-output.md
troubleshooting.md
upgrade-v11-to-v12.md
upgrade-v12-to-v13.md
upgrade-v13-to-v14.md
verification.md
scripts/
scan-deprecations.sh

Details

From the project README

TYPO3 Extension Upgrade Skill

Framework for upgrading TYPO3 extensions to newer LTS versions. Extension code only, not project/core upgrades.

Upgrade Toolkit

ToolPurposeFiles
Extension ScannerDiagnose deprecated APIsTYPO3 Backend
RectorAutomated PHP migrations.php
FractorNon-PHP migrationsFlexForms, TypoScript, YAML, Fluid
PHPStanStatic analysis.php

Core Workflow

  1. Complete planning phase (consult references/pre-upgrade.md)
  2. Create feature branch (verify git is clean)
  3. Update composer.json constraints for target version
  4. Audit third-party dependencies for major version changes (consult references/third-party-dependency-upgrades.md)
  5. Run rector process --dry-run then review and apply
  6. Run fractor process --dry-run then review and apply
  7. Run php-cs-fixer fix
  8. Run phpstan analyse against each supported dependency version and fix errors
  9. Run phpunit and fix tests
  10. Test in target TYPO3 version(s)
  11. Verify success criteria (consult references/verification.md)

When NOT to Apply Automatically

Do NOT blindly apply Rector/Fractor when dual-version compatibility, missing tests, unclear changes, or complex APIs (DBAL, Extbase) are involved. Instead apply rules manually, testing between changes.

Third-Party Dependency Upgrades

When composer.json widens a dependency to a new major version: enumerate API usages, cross-reference the new API, verify mocks, use adapter pattern for signature differences, run PHPStan per major version. See references/third-party-dependency-upgrades.md.

Quick Commands

rector process --dry-run && rector process        # PHP migrations
fractor process --dry-run && fractor process       # Non-PHP migrations
php-cs-fixer fix && phpstan analyse && phpunit     # Quality checks

Asset Templates

Config templates in assets/: rector.php, fractor.php, phpstan.neon, phpunit.xml, .php-cs-fixer.php

References

ReferenceUse when...
references/pre-upgrade.mdPlanning checklist, version audit, risk assessment
references/api-changes.mdChecking deprecated/removed APIs by TYPO3 version
references/api-traps.mdCross-version footguns: TCA restrictions, boot order, DI bypass
references/upgrade-v11-to-v12.mdUpgrading from TYPO3 v11 to v12
references/upgrade-v12-to-v13.mdUpgrading from TYPO3 v12 to v13
references/upgrade-v13-to-v14.mdUpgrading from TYPO3 v13 to v14
references/dual-compatibility.mdDual compatibility (v12 + v13)
references/real-world-patterns.mdReal-world migration examples
references/toolchain-output.mdRector/Fractor dry-run output
references/troubleshooting.mdRector broke code, PHPStan errors, test failures
references/third-party-dependency-upgrades.mdNon-TYPO3 dependencies (major version bumps, adapter patterns)
references/verification.mdSuccess criteria and real-world testing
references/multi-version-worktrees.mdPer-LTS worktree layout, backport workflow, cross-version CI matrix
references/audit-mode.mdAssessing/estimating: ticket only non-automatable findings
scripts/scan-deprecations.sh <path>Deterministic grep scan for deprecated/removed APIs and traps

External Resources


Credits & Attribution

This skill is based on the excellent work by Netresearch DTT GmbH.

Original repository: https://github.com/netresearch/typo3-extension-upgrade-skill

Copyright (c) Netresearch DTT GmbH — Methodology and best practices (MIT / CC-BY-SA-4.0)

Special thanks to Netresearch DTT GmbH for their generous open-source contributions to the TYPO3 community, which helped shape this skill collection. Adapted by webconsulting.at for this skill collection

Comments

Markdown supported