Typo3 conformance
Skill netresearch/typo3-conformance-skill/skills/typo3-conformance
Use when assessing TYPO3 extension quality, conformance checking, standards compliance, modernization to v12/v13/v14 (v14.3 LTS is the default/gold standard), TER readiness, or best practices review. Also triggers on: extension audit, quality score, full assessment, fix all findings, conformance audit, Fluid 5 strict ViewHelpers, ext_tables.php removal, Extbase attributes (Authorize/RateLimit), HashService removal, Bootstrap 5 migration, CSP compliance, ViewHelper security, XLIFF hygiene, PHP 8.4/8.5 compat.From its SKILL.md
npx -y skills add netresearch/typo3-conformance-skill --skill typo3-conformanceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
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
- Metadata -- key, TYPO3 version, type
- Structure -- composer.json, ext_emconf.php, Classes/, Configuration/, Resources/
- Coding -- strict_types, PSR-12, PHP 8.4 explicit nullable, PHP 8.5 float-to-int
- Prohibited -- no
$GLOBALS, noGeneralUtility::makeInstance()for services - Architecture -- constructor DI, Services.yaml, PSR-14 events (try/catch), PSR-3 logging (LoggerAware+NullLogger), factory fallback
- Backend -- ES6, Modal API, CSRF, CSP (v13+)
- Testing -- PHPUnit, Playwright E2E, coverage >70%
- Practices -- DDEV, runTests.sh, CI/CD
- TER -- publish workflow, upload comment
- Audit -- PHPStan baseline, TCA searchFields, XLIFF, cache has()+get(), query properties, multi-version adapters
- v14 readiness -- no
ext_tables.php/HashService/magic finders; Fluid VHs strict; XLF 2-space. Seereferences/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.
| Range | Level | Action |
|---|---|---|
| 90+ | Excellent | Production/TER ready |
| 80-89 | Good | Minor fixes |
| 70-79 | Acceptable | Fix before release |
| 50-69 | Needs Work | Significant effort |
| <50 | Critical | Block 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.
What ships with it: 41 files
487.4 KB alongside SKILL.md, 11 of them executable
assets/
- Build/composer-unused/composer-unused.phpruns1.1 KB
- Build/eslint/.eslintrc.json515 B
- Build/php-cs-fixer/php-cs-fixer.phpruns1.0 KB
- Build/phpstan/phpstan-baseline.neon530 B
- Build/phpstan/phpstan.neon3.5 KB
- Build/rector/rector.phpruns4.0 KB
- Build/stylelint/.stylelintrc.json367 B
- Build/typoscript-lint/TypoScriptLint.yml1.1 KB
references/
- backend-module-v13.md40.6 KB
- best-practices.md46.9 KB
- coding-guidelines.md4.8 KB
- composer-validation.md11.9 KB
- crowdin-integration.md38.6 KB
- development-environment.md3.0 KB
- directory-structure.md17.0 KB
- dual-version-compatibility.md3.9 KB
- excellence-indicators.md22.6 KB
- ext-emconf-validation.md18.1 KB
- extension-architecture.md8.6 KB
- ext-files-validation.md11.3 KB
- hooks-and-events.md8.4 KB
- localization-coverage.md7.3 KB
- multi-version-dependency-compatibility.md6.9 KB
- php-architecture.md36.8 KB
- report-template.md4.5 KB
- runtests-validation.md12.4 KB
- ter-publishing.md18.1 KB
- testing-standards.md6.5 KB
- v13-deprecations.md10.5 KB
- v13-v14-dual-compatibility.md10.1 KB
- v14-deprecations.md17.8 KB
- version-requirements.md4.9 KB
scripts/
- check-architecture.shruns6.4 KB
- check-coding-standards.shruns3.9 KB
- check-conformance.shruns7.2 KB
- check-documentation.shruns2.5 KB
- check-file-structure.shruns5.7 KB
- check-phpstan-baseline.shruns3.5 KB
- check-testing.shruns6.1 KB
- checkpoints.yaml62.1 KB
1 more file not listed here. See all 41 in the repository.