The tool surface
Every tool this server offers, one page each. A page says the tool's name, what it takes, the fields it answers with and what a call to it comes back with. This is the list of them.
Every tool answers twice: the readable text, and the same answer as structuredContent that matches the outputSchema the tool declares. Matches come with their source, coverage and score, checks as command strings, components, icons and labels as typed records, commit diagnostics as level/code/message. So
composing several tools does not mean parsing headings and code fences back out
of prose. All tools carry the readOnlyHint annotation. Only typo3_feedback_record writes anything, and then only a new file.
Names are typo3_<subject>_<verb>, with the verb from a fixed set. lookup finds and may find nothing, guide composes an answer for a task, list enumerates. scope states what a source covers, describe states what one thing you name is, record writes. So the name already says what shape the
answer has.
bin/cli tools:index writes the half of a page above its Answered heading from the classes that answer the calls. bin/cli tools:check fails where it has gone stale. A surface written out a second time by hand stops to describe the answer at the first change nobody carried across. What is
below that heading is one of two things, and the sentence it opens with says
which. Where a tool's answers read nothing an installation contains, they derive from the code and that same check holds them. Where they do, a call to an installation has to produce them. bin/cli tools:record writes those and nothing checks them. So such a page may say what it answered on a day the code has since moved past. The check counts how many of them predate the last change to knowledge/ or src/, and fails on none of them. Two tools have no answered
half at all, on purpose, and say so in its place.
A client may get fewer than these. TYPO3_DEV_COMPANION_EXCLUDE_TOOLS names the tools a caller does not want, and the two feedback tools exist only in a standalone checkout. typo3_server_scope names what stayed out.
The schema on a page is YAML. A key per field, the fields of an object or of a list entry nested under it, and the value is the type. A field carries # optional where it may be absent, because required is the promise. A required output field is present on every path through the tool, misses included. Absolute paths in a recorded answer read <repository>, <installation> and <home>, so no page carries one machine's layout.
Each page names the sources that can answer that tool, under its annotations and at the foot of its description. It links them into Where an answer comes from. That is the same statement read the other way round, one heading per source with the tools it answers. What it settles is not what a tool is about. It settles whether a caller can ask it at all in the state the machine is in.
List the backend modules registered in the TYPO3 installation you work in.
typo3_backend_module_lookup
List the backend modules registered in the TYPO3 installation you work in.
Search the TYPO3 changelog.
Draft and check a TYPO3 commit message.
Look up TYPO3 backend UI components by name or topic.
Read an effective TYPO3_CONF_VARS value from the installation you work in.
typo3_configuration_lookup
Read an effective TYPO3_CONF_VARS value from the installation you work in.
Search or read the official live TYPO3 documentation for a covered TYPO3 line.
typo3_documentation_lookup
Search or read the official live TYPO3 documentation for a covered TYPO3 line.
Describe what one installed extension registers.
List the feedback typo3_feedback_record recorded, newest first, so a session can work them off.
typo3_feedback_list
List the feedback typo3_feedback_record recorded, newest first, so a session can work them off.
Leave feedback about a gap, wrong answer, or missing capability of this knowledge server.
typo3_feedback_record
Leave feedback about a gap, wrong answer, or missing capability of this knowledge server.
Resolve one TCA field of type=flex to the data structure the installation uses.
typo3_flexform_lookup
Resolve one TCA field of type=flex to the data structure the installation uses.
List the Fluid ViewHelper namespaces that are global in the TYPO3 installation you work in.
typo3_fluid_namespace_list
List the Fluid ViewHelper namespaces that are global in the TYPO3 installation you work in.
Reads the TYPO3 issue tracker at forge.typo3.org through the bot protection the core's own AGENTS.md warns a hand-written request about.
typo3_forge_lookup
Reads the TYPO3 issue tracker at forge.typo3.org through the bot protection the core's own AGENTS.md warns a hand-written request about.
Whether a TYPO3 core patch already exists and what state its review is in, read from review.typo3.org.
typo3_gerrit_lookup
Whether a TYPO3 core patch already exists and what state its review is in, read from review.typo3.org.
Return hints for TYPO3 core paths or task topics, grouped by section.
Validate or find icon identifiers in the TYPO3 backend icon registry of the installation you work in.
typo3_icon_lookup
Validate or find icon identifiers in the TYPO3 backend icon registry of the installation you work in.
Search the labels registered in the TYPO3 installation you work in and the XLF files below project config/sites.
typo3_label_lookup
Search the labels registered in the TYPO3 installation you work in and the XLF files below project config/sites.
Validate docs.typo3.org permalink identifiers and turn old documentation URLs into the identifiers that replace them.
typo3_permalink_lookup
Validate docs.typo3.org permalink identifiers and turn old documentation URLs into the identifiers that replace them.
Describe the repository this server started in and the TYPO3 installation it has made.
typo3_project_describe
Describe the repository this server started in and the TYPO3 installation it has made.
Read the rows of any table this installation has TCA for.
List the worked examples the TYPO3 core ships of its own conventions, and what each one is a reference for.
typo3_reference_list
List the worked examples the TYPO3 core ships of its own conventions, and what each one is a reference for.
Search the TYPO3 rules and procedures this server carries, by topic.
List the columns TYPO3 derives for a table from its TCA.
Find notes for TYPO3 core scripts and commands.
Orientation for this server.
Find what the dependency injection container of the TYPO3 installation you work in assembles.
typo3_service_lookup
Find what the dependency injection container of the TYPO3 installation you work in assembles.
Report whether component contracts come from the active installation or the bundled fallback.
typo3_snapshot_scope
Report whether component contracts come from the active installation or the bundled fallback.
Answer whether an extension is part of the TYPO3 core, and on which versions.
typo3_system_extension_lookup
Answer whether an extension is part of the TYPO3 core, and on which versions.
Answers what one change owes, which a repository's own conventions file cannot.
typo3_task_guide
Answers what one change owes, which a repository's own conventions file cannot.
Read what the TYPO3 Extension Repository has published under an extension key, live from extensions.typo3.org.
typo3_ter_lookup
Read what the TYPO3 Extension Repository has published under an extension key, live from extensions.typo3.org.
Say what this core checkout needs before a test can run at all, and which Build/Scripts/runTests.sh commands to run once it can.
typo3_test_run_guide
Say what this core checkout needs before a test can run at all, and which Build/Scripts/runTests.sh commands to run once it can.
Compute the translation domain an XLF file resolves to, from its path.
typo3_translation_domain_lookup
Compute the translation domain an XLF file resolves to, from its path.
List the backend modules registered in the TYPO3 installation you work in.
typo3_backend_module_lookup
List the backend modules registered in the TYPO3 installation you work in.
Search the TYPO3 changelog.
Draft and check a TYPO3 commit message.
Look up TYPO3 backend UI components by name or topic.
Read an effective TYPO3_CONF_VARS value from the installation you work in.
typo3_configuration_lookup
Read an effective TYPO3_CONF_VARS value from the installation you work in.
Search or read the official live TYPO3 documentation for a covered TYPO3 line.
typo3_documentation_lookup
Search or read the official live TYPO3 documentation for a covered TYPO3 line.
Describe what one installed extension registers.
List the feedback typo3_feedback_record recorded, newest first, so a session can work them off.
typo3_feedback_list
List the feedback typo3_feedback_record recorded, newest first, so a session can work them off.
Leave feedback about a gap, wrong answer, or missing capability of this knowledge server.
typo3_feedback_record
Leave feedback about a gap, wrong answer, or missing capability of this knowledge server.
Resolve one TCA field of type=flex to the data structure the installation uses.
typo3_flexform_lookup
Resolve one TCA field of type=flex to the data structure the installation uses.
List the Fluid ViewHelper namespaces that are global in the TYPO3 installation you work in.
typo3_fluid_namespace_list
List the Fluid ViewHelper namespaces that are global in the TYPO3 installation you work in.
Reads the TYPO3 issue tracker at forge.typo3.org through the bot protection the core's own AGENTS.md warns a hand-written request about.
typo3_forge_lookup
Reads the TYPO3 issue tracker at forge.typo3.org through the bot protection the core's own AGENTS.md warns a hand-written request about.
Whether a TYPO3 core patch already exists and what state its review is in, read from review.typo3.org.
typo3_gerrit_lookup
Whether a TYPO3 core patch already exists and what state its review is in, read from review.typo3.org.
Return hints for TYPO3 core paths or task topics, grouped by section.
Validate or find icon identifiers in the TYPO3 backend icon registry of the installation you work in.
typo3_icon_lookup
Validate or find icon identifiers in the TYPO3 backend icon registry of the installation you work in.
Search the labels registered in the TYPO3 installation you work in and the XLF files below project config/sites.
typo3_label_lookup
Search the labels registered in the TYPO3 installation you work in and the XLF files below project config/sites.
Validate docs.typo3.org permalink identifiers and turn old documentation URLs into the identifiers that replace them.
typo3_permalink_lookup
Validate docs.typo3.org permalink identifiers and turn old documentation URLs into the identifiers that replace them.
Describe the repository this server started in and the TYPO3 installation it has made.
typo3_project_describe
Describe the repository this server started in and the TYPO3 installation it has made.
Read the rows of any table this installation has TCA for.
List the worked examples the TYPO3 core ships of its own conventions, and what each one is a reference for.
typo3_reference_list
List the worked examples the TYPO3 core ships of its own conventions, and what each one is a reference for.
Search the TYPO3 rules and procedures this server carries, by topic.
List the columns TYPO3 derives for a table from its TCA.
Find notes for TYPO3 core scripts and commands.
Orientation for this server.
Find what the dependency injection container of the TYPO3 installation you work in assembles.
typo3_service_lookup
Find what the dependency injection container of the TYPO3 installation you work in assembles.
Report whether component contracts come from the active installation or the bundled fallback.
typo3_snapshot_scope
Report whether component contracts come from the active installation or the bundled fallback.
Answer whether an extension is part of the TYPO3 core, and on which versions.
typo3_system_extension_lookup
Answer whether an extension is part of the TYPO3 core, and on which versions.
Answers what one change owes, which a repository's own conventions file cannot.
typo3_task_guide
Answers what one change owes, which a repository's own conventions file cannot.
Read what the TYPO3 Extension Repository has published under an extension key, live from extensions.typo3.org.
typo3_ter_lookup
Read what the TYPO3 Extension Repository has published under an extension key, live from extensions.typo3.org.
Say what this core checkout needs before a test can run at all, and which Build/Scripts/runTests.sh commands to run once it can.
typo3_test_run_guide
Say what this core checkout needs before a test can run at all, and which Build/Scripts/runTests.sh commands to run once it can.
Compute the translation domain an XLF file resolves to, from its path.
typo3_translation_domain_lookup
Compute the translation domain an XLF file resolves to, from its path.