typo3-extension-upgrade について
typo3-extension-upgradeは、TYPO3拡張コードを新しいLTSバージョンへ更新するスキルです。プロジェクト全体やTYPO3コアの更新は対象外で、移行ツール、静的解析、テスト、バージョン別ガイドを組み合わせて変更を確認します。
主な機能
- 01更新計画と互換性リスクの評価
- 02非推奨APIのスキャン
- 03RectorによるPHPの移行
- 04Fractorによる設定とテンプレートの移行
- 05PHPStanとPHPUnitによるコード検査
- 06バージョン別の移行資料の参照
活用シーン
- 01拡張機能を新しいTYPO3 LTSへ更新
- 02自動移行の変更を適用前に確認
- 03対応する依存バージョン間の互換性を検査
- 04更新範囲と自動化できない課題を評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dirnbauer/ webconsulting-skills --skill typo3-extension-upgradeインストール後、Claude Code で/typo3-extension-upgradeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
checkpoints.yamlassets/.php-cs-fixer.phpfractor.phpphpstan.neonphpunit.xmlrector.phpreferences/api-changes.mdapi-traps.mdaudit-mode.mddual-compatibility.mdmulti-version-worktrees.mdpre-upgrade.mdreal-world-patterns.mdthird-party-dependency-upgrades.mdtoolchain-output.mdtroubleshooting.mdupgrade-v11-to-v12.mdupgrade-v12-to-v13.mdupgrade-v13-to-v14.mdverification.mdscripts/scan-deprecations.sh詳細
TYPO3 Extension Upgrade Skill
TYPO3 拡張機能を新しい LTS バージョンにアップグレードするためのフレームワークです。 拡張機能のコードのみを対象とし、プロジェクトやコアのアップグレードは対象外です。
Upgrade Toolkit
| ツール | 用途 | ファイル |
|---|---|---|
| Extension Scanner | 非推奨 API の診断 | TYPO3 Backend |
| Rector | PHP の自動移行 | .php |
| Fractor | PHP 以外の移行 | FlexForms、TypoScript、YAML、Fluid |
| PHPStan | 静的解析 | .php |
Core Workflow
- 計画フェーズを完了します(
references/pre-upgrade.mdを参照) - フィーチャーブランチを作成します(Git がクリーンな状態であることを確認)
- 対象バージョンに合わせて
composer.jsonの制約を更新します - サードパーティ依存関係を監査し、メジャーバージョンの変更を確認します(
references/third-party-dependency-upgrades.mdを参照) rector process --dry-runを実行してから、結果を確認して適用しますfractor process --dry-runを実行してから、結果を確認して適用しますphp-cs-fixer fixを実行します- サポートする依存関係の各バージョンに対して
phpstan analyseを実行し、エラーを修正します phpunitを実行してテストを修正します- 対象の TYPO3 バージョンでテストします
- 成功基準を確認します(
references/verification.mdを参照)
When NOT to Apply Automatically
複数バージョンとの互換性、テストの不足、変更内容が不明確な場合や、複雑な API(DBAL、Extbase)が関わる場合は、Rector/Fractor を無条件に適用しないでください。代わりにルールを手動で適用し、変更のたびにテストしてください。
Third-Party Dependency Upgrades
composer.json で依存関係の制約を新しいメジャーバージョンまで広げる場合は、API の使用箇所を洗い出し、新しい API と照合し、モックを確認して、シグネチャの違いにはアダプターパターンを使用し、メジャーバージョンごとに PHPStan を実行します。詳細は 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
assets/ の設定テンプレート:rector.php、fractor.php、phpstan.neon、phpunit.xml、.php-cs-fixer.php
References
| リファレンス | 使用する場面 |
|---|---|
references/pre-upgrade.md | 計画チェックリスト、バージョン監査、リスク評価 |
references/api-changes.md | TYPO3 のバージョンごとに非推奨/削除された API を確認するとき |
references/api-traps.md | バージョン間で注意が必要な問題:TCA の制約、起動順序、DI の迂回 |
references/upgrade-v11-to-v12.md | TYPO3 v11 から v12 へのアップグレード |
references/upgrade-v12-to-v13.md | TYPO3 v12 から v13 へのアップグレード |
references/upgrade-v13-to-v14.md | TYPO3 v13 から v14 へのアップグレード |
references/dual-compatibility.md | 複数バージョンとの互換性(v12 + v13) |
references/real-world-patterns.md | 実際の移行例 |
references/toolchain-output.md | Rector/Fractor のドライラン出力 |
references/troubleshooting.md | Rector によるコードの破損、PHPStan のエラー、テストの失敗 |
references/third-party-dependency-upgrades.md | TYPO3 以外の依存関係(メジャーバージョンの更新、アダプターパターン) |
references/verification.md | 成功基準と実環境でのテスト |
references/multi-version-worktrees.md | LTS ごとのワークツリー構成、バックポートのワークフロー、バージョン横断の CI マトリックス |
references/audit-mode.md | 評価/見積もり:自動化できない項目のみチケットに記載 |
scripts/scan-deprecations.sh <path> | 非推奨/削除された API と注意点を grep で決定的にスキャン |
External Resources
Credits & Attribution
このスキルは、 Netresearch DTT GmbH による優れた取り組みを基にしています。
元のリポジトリ:https://github.com/netresearch/typo3-extension-upgrade-skill
Copyright (c) Netresearch DTT GmbH — 方法論とベストプラクティス(MIT / CC-BY-SA-4.0)
このスキルコレクションの形成に貢献した、TYPO3 コミュニティへの寛大なオープンソース貢献に対し、Netresearch DTT GmbH に心より感謝します。 このスキルコレクション向けに webconsulting.at が改編