TYPO3 Documentation Skill
Create and maintain TYPO3 extension documentation per docs.typo3.org standards.
Core Workflow
- Run extraction first to find gaps:
scripts/extract-all.sh /path/to/extension scripts/analyze-docs.sh /path/to/extension - Consult the matching reference
- Use TYPO3 directives, not plain text
- Validate:
scripts/validate_docs.sh /path/to/extension - Render:
scripts/render_docs.sh /path/to/extension
Critical: For "show docs", render and display HTML, not raw RST.
Element Selection Guide
| Content Type | Directive |
|--------------|-----------|
| Complete code | literalinclude (preferred) |
| Short snippets | code-block with :caption: |
| Config options | confval with :type:, :default: |
| PHP API | php:method:: -- :returntype: for nullable/union |
| Notices | note, tip, warning, important |
| Feature grids | card-grid with footer stretched-link |
| Alternatives | tabs (synchronized) |
| Screenshots | figure with :zoom: lightbox + border/shadow classes |
Critical Rules
Official docs are canonical; on conflict the live manual wins -- report
drift (references/canonical-sources.md).
Upstream:
- UTF-8, 4-space indent, LF; wrap at 80 chars where possible
- CamelCase files, sentence case headings
- Permalink anchors (
.. _label:) before every heading - Index.rst in every subdirectory
- PNG/AVIF images with
:alt:; check screenshot necessity first - PHP domain: no
?Type/Type|nullinphp:method::; use:returntype:
NR policy: no mailto: (upstream allows it; spam/PII -- use
Issues/Discussions); .editorconfig in Documentation/.
Heuristic: ~250 lines per RST, split with toctree; :zoom: lightbox on
figures; screenshots where they help (backend modules, config, workflows).
Code Example Validation
Cross-reference code examples against source: grep method names in
Classes/, compare CLI arguments with configure().
See references/extraction-patterns.md.
Pre-Commit Checklist
.editorconfigpresent,Index.rstin every directory- 4-space indent, no tabs, max 80 chars
- Code blocks have
:caption:, inline code uses proper roles - Screenshots exist with
:alt:and:zoom: lightbox scripts/validate_docs.shpasses, render has no warnings- README and Documentation/ synchronized
References
references/canonical-sources.md-- topic-to-upstream map, provenance labelsreferences/file-structure.md-- layout, namingreferences/guides-xml.md-- build config, interlinksreferences/coding-guidelines.md-- CGL deltas, .editorconfigreferences/rst-syntax.md-- headings, punctuation pitfallsreferences/text-roles-inline-code.md--:php:,:guilabel:,:ref:references/code-structure-elements.md-- code blocks, confval, PHP domainreferences/typo3-directives.md-- confval, versionadded, deprecatedreferences/content-directives.md-- accordion, tabs, card-gridreferences/screenshots.md-- figures, image rules, SVG diagramsreferences/rendering.md-- Docker commands, live previewreferences/intercept-deployment.md-- webhook, build triggersreferences/asset-templates-guide.md-- templates, screenshot workflowreferences/architecture-decision-records.md-- ADR patternsreferences/documentation-coverage-analysis.md-- coverage scoringreferences/scripts-guide.md-- script optionsreferences/typo3-extension-architecture.md-- extension layoutreferences/upstream-docs-contribution.md-- upstream docs PRs