Skip to content
TYPO3Dev Companion

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

typo3_feedback_list

List the feedback typo3_feedback_record recorded, newest first, so a session can work them off.

Open reference
Record

typo3_feedback_record

Leave feedback about a gap, wrong answer, or missing capability of this knowledge server.

Open reference
Lookup

typo3_flexform_lookup

Resolve one TCA field of type=flex to the data structure the installation uses.

Open reference
List

typo3_fluid_namespace_list

List the Fluid ViewHelper namespaces that are global in the TYPO3 installation you work in.

Open reference
Lookup

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.

Open reference
Lookup

typo3_gerrit_lookup

Whether a TYPO3 core patch already exists and what state its review is in, read from review.typo3.org.

Open reference
Lookup

typo3_hint_lookup

Return hints for TYPO3 core paths or task topics, grouped by section.

Open reference
Lookup

typo3_icon_lookup

Validate or find icon identifiers in the TYPO3 backend icon registry of the installation you work in.

Open reference
Lookup

typo3_label_lookup

Search the labels registered in the TYPO3 installation you work in and the XLF files below project config/sites.

Open reference
Lookup

typo3_permalink_lookup

Validate docs.typo3.org permalink identifiers and turn old documentation URLs into the identifiers that replace them.

Open reference
Describe

typo3_project_describe

Describe the repository this server started in and the TYPO3 installation it has made.

Open reference
Lookup

typo3_record_lookup

Read the rows of any table this installation has TCA for.

Open reference
List

typo3_reference_list

List the worked examples the TYPO3 core ships of its own conventions, and what each one is a reference for.

Open reference
Lookup

typo3_rule_lookup

Search the TYPO3 rules and procedures this server carries, by topic.

Open reference
Lookup

typo3_schema_lookup

List the columns TYPO3 derives for a table from its TCA.

Open reference
Lookup

typo3_service_lookup

Find what the dependency injection container of the TYPO3 installation you work in assembles.

Open reference
Scope

typo3_snapshot_scope

Report whether component contracts come from the active installation or the bundled fallback.

Open reference
Guide

typo3_task_guide

Answers what one change owes, which a repository's own conventions file cannot.

Open reference
Lookup

typo3_ter_lookup

Read what the TYPO3 Extension Repository has published under an extension key, live from extensions.typo3.org.

Open reference
Guide

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.

Open reference