netresearch/typo3-conformance-skill · Archived

typo3-conformance

Use when checking which TYPO3 versions an extension says it supports, when composer.json and ext_emconf.php disagree, when a version bump must reach every file that states it, when reviewing a TYPO3 extension for what needs attention, or when auditing coding standards, TER readiness, deprecations and modernization to v12/v13/v14 (v14.3 LTS is the default).

First seen Mar 16, 2026

Installation

$ npx skills add netresearch/typo3-conformance-skill --skill typo3-conformance

Summary

Use when checking which TYPO3 versions an extension says it supports, when composer.json and ext_emconf.php disagree, when a version bump must reach every file that states it, when reviewing a TYPO3 extension for what needs attention, or when auditing coding standards, TER readiness, deprecations and modernization to v12/v13/v14 (v14.3 LTS is the default).

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 6
License LICENSE-CC-BY-SA-4.0
Default branch main
Open issues 2
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.19.3
More metadata
version
2.19.3
repository
https://github.com/netresearch/typo3-conformance-skill
author
Netresearch DTT GmbH

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,520 B
  • docs SUMMARY.md 383 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 48 installs

SKILL.md

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 | Release/TER -> github-release

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.

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.