Directory structure 

The directory structure of the project is as follows:

.
├── .ddev
├── .github
│   ├── workflows
│   │   ├── check-built-assets.yaml
│   │   ├── dependabot-rebuild-assets.yaml
│   │   ├── deploy-azure-assets.yaml
│   │   ├── docker-test.yaml
│   │   ├── docker.yaml
│   │   ├── main.yaml
│   │   ├── pr-auto-approve.yaml
│   │   ├── pr-auto-merge.yaml
│   │   ├── split-repositories.yaml
├── bin
├── Documentation
├── packages
│   ├── typo3-api
│   ├── typo3-docs-theme
│   ├── typo3-docs-theme-md
│   ├── typo3-guides-cli
│   ├── typo3-guides-extension
│   ├── typo3-version-handling
├── tests
│   ├── Integration
├── tools
Copied!

The .ddev/ directory contains the configuration for the local development environment for people using DDEV.

The .github/ directory contains the configuration for the GitHub workflows. The main workflow runs the quality checks for each pull request and each push to the main branch. The Docker workflow builds the Docker image for each release. The other workflows check the built theme assets, publish them, split the packages into their own repositories, and handle Dependabot pull requests.

The bin/ directory contains the executable bin/guides. The Docker image runs it, and the phar file starts from it. It validates the guides.xml and then starts phpDocumentor/guides.

The packages/ directory contains the TYPO3-specific extensions. The typo3-docs-theme extension contains the theme for the documentation, and TYPO3-specific directives. The typo3-docs-theme-md package renders Markdown beside the HTML. The typo3-guides-extension extension contains extensions on the base tool. These are customizations to make the tool fit the TYPO3 documentation needs. The typo3-guides-cli package is a collection of Symfony commands for tasks like conversion or linting. The typo3-version-handling package knows the TYPO3 versions and the default interlink inventories. The typo3-api package generates api.typo3.org.

The tests/ directory contains the tests for the project. The integration tests are located in the Integration/ directory. During the integration tests the tool is executed as it was run by the user.

The tools/ directory contains the tools needed for the project. Like scripts to build the phar file or adapt Git hooks.

The Documentation/ directory holds the documentation you are now reading. It is the default documentation built by the project, too.

The Dockerfile and entrypoint.sh files provide the Docker container support for the project.

The Makefile contains a list of all supported development commands and tasks that can be executed. All of them can also be executed with a Composer wrapper script ( composer make ... ).