mcpField
T
typo3-conformance

typo3-conformance

github.com/dirnbauerTesting & quality3335 installsUpdated 13w ago
Repository

About typo3-conformance

typo3-conformance is a review skill for TYPO3 extensions, aimed at developers assessing quality, release readiness, or modernization. It checks code, architecture, testing, backend practices, and version-specific readiness, then scores conformance.

Key features

  1. 01Extension metadata and structure checks
  2. 02PHP and architecture rule checks
  3. 03Backend and testing checks
  4. 04TER and development-practice review
  5. 05Scored reports with critical-issue handling
  6. 06TYPO3 v14 readiness checks

Use cases

  1. 01Assess an extension before TER release
  2. 02Review conformance during modernization
  3. 03Verify fixes and record score changes

Install

Copy the command and run it in a terminal.

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

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

Bundled files

References and scripts installed along with 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

Details

From the project README

TYPO3 Extension Conformance Checker

Evaluate TYPO3 extensions against TYPO3 coding standards, architecture patterns, and best practices.

When to Use

  • Extension quality / TER readiness
  • Scored conformance reports
  • Modernization to v12/v13/v14 (v14.3 LTS is default/gold standard)

Delegation

Testing -> typo3-testing | Docs -> typo3-docs | OpenSSF -> enterprise-readiness

Scope: extensions only. Site/project repos (type: project + Compose) — score with the gold checker typo3-14-gold/tools/conformance.

Workflow

Step 0: Context

Read ext_emconf.php + composer.json for version, type, scope.

Steps 1-11: Checks
  1. Metadata -- key, TYPO3 version, type
  2. Structure -- composer.json, ext_emconf.php, Classes/, Configuration/, Resources/
  3. Coding -- strict_types, PSR-12, PHP 8.4 explicit nullable, PHP 8.5 float-to-int
  4. Prohibited -- no $GLOBALS, no GeneralUtility::makeInstance() for services
  5. Architecture -- constructor DI, Services.yaml, PSR-14 events (try/catch), PSR-3 logging (LoggerAware+NullLogger), factory fallback
  6. Backend -- ES6, Modal API, CSRF, CSP (v13+)
  7. Testing -- PHPUnit, Playwright E2E, coverage >70%
  8. Practices -- DDEV, runTests.sh, CI/CD
  9. TER -- publish workflow, upload comment
  10. Audit -- PHPStan baseline, TCA searchFields, XLIFF, cache has()+get(), query properties, multi-version adapters
  11. v14 readiness -- no ext_tables.php/HashService/magic finders; Fluid VHs strict; XLF 2-space. See references/v14-deprecations.md.
Step 12: Verify

Re-run after fixes. Document score delta.

Quick Grep Recipes

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

Scoring

Base (0-100): Architecture(20) + Guidelines(20) + PHP(20) + Testing(20) + Practices(20). Excellence bonus up to 22. Critical issues block regardless.

RangeLevelAction
90+ExcellentProduction/TER ready
80-89GoodMinor fixes
70-79AcceptableFix before release
50-69Needs WorkSignificant effort
<50CriticalBlock deployment

References

See references/:

  • Architecture & code: extension-architecture.md, directory-structure.md, php-architecture.md, coding-guidelines.md, best-practices.md, hooks-and-events.md
  • Validation: composer-validation.md, ext-emconf-validation.md, ext-files-validation.md, runtests-validation.md, version-requirements.md, testing-standards.md
  • Multi-version: dual-version-compatibility.md, v13-v14-dual-compatibility.md, multi-version-dependency-compatibility.md, v13-deprecations.md, v14-deprecations.md
  • Practices & backend: development-environment.md, backend-module-v13.md, ter-publishing.md, report-template.md, excellence-indicators.md, localization-coverage.md, crowdin-integration.md

Asset templates in assets/Build/: PHPStan, PHP-CS-Fixer, Rector, ESLint, Stylelint, TypoScript lint.


Credits & Attribution

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

Original repository: https://github.com/netresearch/typo3-conformance-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