typo3-docs
TYPO3 Documentation Skill
Create and maintain TYPO3 extension documentation following official docs.typo3.org standards.
Core Workflow
- Run extraction first to identify documentation gaps:
scripts/extract-all.sh /path/to/extension scripts/analyze-docs.sh /path/to/extension - Consult the appropriate reference file for the task
- Use TYPO3-specific directives, not plain text
- Validate:
scripts/validate_docs.sh /path/to/extension - Render:
scripts/render_docs.sh /path/to/extension
Critical: When the user asks to "show docs", render and display HTML output, not raw RST.
Element Selection Guide
| Content Type | Directive |
|---|---|
| Complete code | literalinclude (preferred over code-block) |
| Short snippets | code-block with :caption: |
| Config options | confval with :name:, :type:, :default: |
| PHP API | php:method:: -- use :returntype: for nullable/union types |
| Notices | note, tip, warning, important |
| Feature grids | card-grid with stretched-link in footer |
| Alternatives | tabs (synchronized) |
| Screenshots | figure with :zoom: lightbox :class: with-border with-shadow |
Critical Rules
- UTF-8, 4-space indent, 80 char line length, LF endings
- CamelCase file/directory names, sentence case headings
- Permalink anchors (
.. _label:) before every section heading - Index.rst required in every subdirectory
- PNG screenshots with
:alt:and:zoom: lightbox - .editorconfig required in
Documentation/ - Screenshots MANDATORY for backend modules, config screens, UI workflows
- Max 250 lines per RST page -- split with
toctreeif exceeded - No
mailto:links -- use GitHub Issues/Discussions URLs - PHP domain: never use
?TypeorType|nullinphp:method::signatures; use:returntype:instead
Code Example Validation
Cross-reference code examples against extension source:
grep method names in Classes/, compare CLI arguments against configure(),
verify API signatures match. See references/extraction-patterns.md.
Pre-Commit Checklist
.editorconfiginDocumentation/,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/ are synchronized
References
references/file-structure.md-- directory layout, naming conventionsreferences/guides-xml.md-- build configuration, interlink settingsreferences/coding-guidelines.md-- .editorconfig, indentation rulesreferences/rst-syntax.md-- headings, lists, tables, formattingreferences/text-roles-inline-code.md--:php:,:file:,: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-- image requirements, figure directivesreferences/rendering.md-- Docker commands, live previewreferences/intercept-deployment.md-- webhook, build triggersreferences/asset-templates-guide.md-- templates, screenshot workflow
Credits & Attribution
This skill is based on the excellent work by Netresearch DTT GmbH.
Original repository: https://github.com/netresearch/typo3-docs-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