Skip to content
TYPO3Dev Companion

The tool surface

Every tool this server offers, one page each. A page says what the tool is called, what it takes, the fields it answers with and what a call to it comes back with, and this is the list of them.

Every tool answers twice: the readable text, and the same answer as structuredContent matching the outputSchema the tool declares — matches 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 are annotated readOnlyHint; only typo3_feedback_record writes anything, and then only a new file.

Names are typo3_<subject>_<verb>, with the verb taken 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.

The half of a page above its Answered heading is written by `bin/cli tools:index`` from the classes that answer the calls, and ``bin/cli tools:check` fails where it has gone stale — a surface written out a second time by hand stops describing 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 are derived and held by that same check. Where they do, an installation has to be called for 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. Two tools have no answered half at all, on purpose, and say so in its place.

A client may be offered fewer than these. TYPO3_DEV_COMPANION_EXCLUDE_TOOLS names the tools a caller does not want offered, the two feedback tools exist only in a standalone checkout, and typo3_server_scope names what was left 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 are written as <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, and links them into Where an answer comes from — which 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 but whether it can be asked at all in the state the machine is in.

Lookup

typo3_backend_module_lookup

List the backend modules registered in the TYPO3 installation you are working in, with the extension that declares each one, its place in the module tree, its labels, its access level, the route each one answers on and every sub-route it registers.

Open reference
Scope

typo3_catalog_scope

Report whether component contracts come from the active installation or the bundled fallback, which TYPO3 core revision the fallback catalogs were taken from, what they cover, and how to re-check them.

Open reference
Lookup

typo3_configuration_lookup

Read an effective TYPO3_CONF_VARS value from the installation you are working in.

Open reference
List

typo3_feedback_list

List improvement feedback recorded via typo3_feedback_record, newest first, so they can be worked off.

Open reference
Record

typo3_feedback_record

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

Open reference
List

typo3_fluid_namespace_list

List the Fluid ViewHelper namespaces that are globally available in the TYPO3 installation you are working in, so a template knows which prefixes it may use without declaring them.

Open reference
Lookup

typo3_forge_lookup

Read the TYPO3 issue tracker at forge.typo3.org before writing a patch.

Open reference
Lookup

typo3_gerrit_lookup

Find out whether a TYPO3 core patch already exists and what state its review is in, from the review server at 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 are working in.

Open reference
Lookup

typo3_label_lookup

Search the labels registered in the TYPO3 installation you are working in.

Open reference
Describe

typo3_project_describe

Describe the project around the TYPO3 installation this server was started in.

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
Guide

typo3_task_guide

Build a task checklist enriched with matching hints and relevant core checks.

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