mcpField
T
typo3-conformance

typo3-conformance

github.com/dirnbauerテスト・品質3335 回インストール13 週間前に更新
リポジトリ

typo3-conformance について

typo3-conformanceは、品質やリリース準備、モダナイズを評価する開発者向けのTYPO3拡張レビュー用スキルです。コード、アーキテクチャ、テスト、バックエンドの実践、バージョン対応を確認して適合度を採点します。

主な機能

  1. 01拡張機能のメタデータと構成の確認
  2. 02PHPとアーキテクチャ規則の確認
  3. 03バックエンドとテストの確認
  4. 04TERと開発プラクティスのレビュー
  5. 05重大な問題を反映した採点レポート
  6. 06TYPO3 v14対応の確認

活用シーン

  1. 01TER公開前の拡張機能の評価
  2. 02モダナイズ時の適合度レビュー
  3. 03修正の検証とスコア変化の記録

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/typo3-conformanceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

checkpoints.yaml
assets/.github/workflows/
publish-to-ter.yml
assets/Build/composer-unused/
composer-unused.php
assets/Build/eslint/
.eslintrc.json
assets/Build/php-cs-fixer/
php-cs-fixer.php
assets/Build/phpstan/
phpstan-baseline.neon
phpstan.neon
assets/Build/rector/
rector.php
assets/Build/stylelint/
.stylelintrc.json
assets/Build/typoscript-lint/
TypoScriptLint.yml
references/
backend-module-v13.md
best-practices.md
coding-guidelines.md
composer-validation.md
crowdin-integration.md
development-environment.md
directory-structure.md
dual-version-compatibility.md
excellence-indicators.md
ext-emconf-validation.md
ext-files-validation.md
extension-architecture.md
hooks-and-events.md
localization-coverage.md
multi-version-dependency-compatibility.md
php-architecture.md
report-template.md
runtests-validation.md
ter-publishing.md
testing-standards.md

詳細

TYPO3 Extension Conformance Checker

TYPO3 のコーディング規約、アーキテクチャパターン、ベストプラクティスに照らして TYPO3 拡張機能を評価します。

使用する場面

  • 拡張機能の品質/TER 公開準備
  • スコア付き適合性レポート
  • v12/v13/v14 へのモダナイズ(v14.3 LTS がデフォルト/ゴールドスタンダードです)

委任

テスト → typo3-testing | ドキュメント → typo3-docs | OpenSSF → enterprise-readiness

対象範囲: 拡張機能のみです。サイト/プロジェクトリポジトリ(type: project + Compose)は、ゴールドチェッカー typo3-14-gold/tools/conformance でスコアを付けます。

ワークフロー

ステップ 0:コンテキスト

ext_emconf.php と composer.json を読み、バージョン、種類、対象範囲を確認します。

ステップ 1-11:チェック項目
  1. メタデータ -- key、TYPO3 バージョン、種類
  2. 構成 -- composer.json、ext_emconf.php、Classes/、Configuration/、Resources/
  3. コーディング -- strict_types、PSR-12、PHP 8.4 の明示的な nullable、PHP 8.5 の float-to-int
  4. 禁止事項 -- $GLOBALS を使用しない、サービスに GeneralUtility::makeInstance() を使用しない
  5. アーキテクチャ -- コンストラクター DI、Services.yaml、PSR-14 イベント(try/catch)、PSR-3 ロギング(LoggerAware+NullLogger)、ファクトリーのフォールバック
  6. バックエンド -- ES6、Modal API、CSRF、CSP(v13 以降)
  7. テスト -- PHPUnit、Playwright E2E、カバレッジ >70%
  8. プラクティス -- DDEV、runTests.sh、CI/CD
  9. TER -- 公開ワークフロー、アップロード時のコメント
  10. 監査 -- PHPStan ベースライン、TCA searchFields、XLIFF、cache has()+get()、クエリプロパティ、複数バージョン対応アダプター
  11. v14 対応状況 -- ext_tables.php/HashService/マジックファインダーを使用しないこと。Fluid VH を厳格にすること。XLF は 2 スペース。references/v14-deprecations.md を参照してください。
ステップ 12:検証

修正後に再実行します。スコアの変化を記録してください。

grep の簡易レシピ

grep -rL 'strict_types' Classes/ --include='*.php'
grep -rn '\$GLOBALS' Classes/ --include='*.php'
grep -rn 'GeneralUtility::makeInstance' Classes/ --include='*.php'
grep -rPn '\(\s*[A-Za-z\\]+\s+\$\w+\s*=\s*null' Classes/ --include='*.php' | grep -v '?'  # PHP 8.4 implicit nullable
grep -rn '->has(' Classes/ --include='*.php'                          # cache has()+get() anti-pattern
grep -l 'strict_types' ext_emconf.php                                 # ext_emconf must NOT have strict_types
grep -rn '(int)\s*\$' Classes/ --include='*.php'                      # PHP 8.5 implicit float-to-int
grep -rn 'data-toggle\|data-dismiss\|data-ride' Resources/ --include='*.html'  # Bootstrap 4 in Fluid
grep -rn 'HashService\|GeneralUtility::hmac(\|->findBy[A-Z]\|->findOneBy[A-Z]\|->countBy[A-Z]' Classes/ --include='*.php'  # v14 removals
[ -f ext_tables.php ] && echo "WARN: ext_tables.php deprecated (#109438)"   # v14.3 deprecation

スコアリング

基本スコア(0-100): アーキテクチャ(20)+ ガイドライン(20)+ PHP(20)+ テスト(20)+ プラクティス(20)。優秀さのボーナスは最大 22 点です。重大な問題がある場合、スコアにかかわらずブロックされます。

範囲レベル対応
90+優秀本番/TER 公開の準備完了
80-89良好軽微な修正
70-79許容可能リリース前に修正
50-69要改善大幅な作業が必要
<50重大デプロイをブロック

参考資料

references/ を参照してください。

  • アーキテクチャとコード: extension-architecture.md、directory-structure.md、php-architecture.md、coding-guidelines.md、best-practices.md、hooks-and-events.md
  • 検証: composer-validation.md、ext-emconf-validation.md、ext-files-validation.md、runtests-validation.md、version-requirements.md、testing-standards.md
  • 複数バージョン対応: dual-version-compatibility.md、v13-v14-dual-compatibility.md、multi-version-dependency-compatibility.md、v13-deprecations.md、v14-deprecations.md
  • プラクティスとバックエンド: development-environment.md、backend-module-v13.md、ter-publishing.md、report-template.md、excellence-indicators.md、localization-coverage.md、crowdin-integration.md

アセットのテンプレートは assets/Build/ にあります:PHPStan、PHP-CS-Fixer、Rector、ESLint、Stylelint、TypoScript lint。


クレジットと帰属表示

このスキルは、 Netresearch DTT GmbH による優れた取り組みを基にしています。

元のリポジトリ:https://github.com/netresearch/typo3-conformance-skill

Copyright (c) Netresearch DTT GmbH — 方法論とベストプラクティス(MIT / CC-BY-SA-4.0)

このスキルコレクションの形成に貢献した、TYPO3 コミュニティへの寛大なオープンソースの貢献に対し、Netresearch DTT GmbH に心より感謝します。 このスキルコレクション向けに webconsulting.at が適応しました

コメント