Skip to content

Correct v7 file structure page - #172

Open
arhimede wants to merge 2 commits into
mainfrom
file-structure-accuracy
Open

Correct v7 file structure page#172
arhimede wants to merge 2 commits into
mainfrom
file-structure-accuracy

Conversation

@arhimede

@arhimede arhimede commented Sep 8, 2026

Copy link
Copy Markdown
Member

Audit finding C9, verified against dotkernel/api branch 7.0 at 45ad282.

Twig claims removed

There are zero Twig references in the codebase. Rendering is Api\App\Template\Renderer with 'extension' => 'phtml' set in templates.global.php, and all five shipped templates under src/User/templates/user/ are .phtml.

Removed: "twig is used as Templating Engine", "All template files have the extension .html.twig", "templates.global.php - dotkernel/dot-twigrenderer config file" (not a dependency) and "cache - Cache for e.g. Twig files". core-features/rendering-and-sending-emails.md already documented this correctly, so the two pages no longer contradict each other.

Documented but nonexistent

Path Reality
config/migrations.php migration config lives in Core\App\ConfigProvider, read via config/cli-config.php
data/doctrine migrations in src/Core/src/App/src/Migration, fixtures in src/Core/src/App/src/Fixture
config/autoload/doctrine.global.php Doctrine config comes from the module ConfigProviders plus the local config template
config/autoload/mezzio-tooling-factories.global.php not shipped
public/robots.txt.dist the shipped file is a live public/robots.txt

.laminas-ci was described as a folder; the repository has a .laminas-ci.json file.

The mail config entry stays: it is absent from the repository tree but the post-install script copies it out of dotkernel/dot-mail, so it is present after installation. The entry now says so.

Real but undocumented, now added

config/routes.php, config/autoload/problem-details.global.php, bin/generate-oauth2-keys.php, bin/composer-post-install-script.php, public/.well-known/ (holds security.txt), public/favicon.ico, and the root documentation/ folder.

Also noted that Core is split under src/Core/src into Admin, App, Security, Setting and User, and that User is the only shipped module with a templates folder.

FAQ

Dropped the "Why is robots.txt shipped as robots.txt.dist?" entry, which documented a file that is not shipped. Added entries on why config/routes.php is empty, where migrations and fixtures live, and which templating engine is used.

markdownlint clean, one sentence per line.

Twig was replaced by the phtml Renderer in 6.0, and six documented paths do not exist.

Signed-off-by: arhimede <julian@dotkernel.com>
The post-install script copies it out of dotkernel/dot-mail, so it is present after installation.

Signed-off-by: arhimede <julian@dotkernel.com>
@arhimede
arhimede requested a review from alexmerlin September 8, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant