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
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/. The
Docker image runs it, and the phar file starts from it. It validates the
guides. and then starts phpDocumentor/guides.
The packages/ directory contains the TYPO3-specific extensions. The
typo3- extension contains the theme for the documentation, and
TYPO3-specific directives. The typo3- package renders Markdown
beside the HTML. The typo3- extension contains
extensions on the base tool. These are customizations to make the tool fit the
TYPO3 documentation needs. The typo3- package is a collection
of Symfony commands for tasks like conversion or linting. The
typo3- package knows the TYPO3 versions and the default
interlink inventories. The typo3- 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. 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 ...
).