Implements MeshVault M1 (issues #6–11): - Four-service Docker Compose stack (nginx, PHP-FPM 8.3, PostgreSQL 17, Node assets) - Slim 4 + PHP-DI routing with escaped PHP views and production/dev error handling - Immutable validated AppConfig with redacted diagnostics - JSON stdout Monolog logging with job-scoped context - Tailwind CSS v4 deterministic locked builds with template scanning - POSIX and PowerShell dev wrappers (up/down/test/lint/assets/watch) - Startup config validation fails before FPM serves as unprivileged www-data - migrate/seed explicitly unavailable until M2 (#12); #10 remains open Verified via clean-start acceptance on remote host (keith@192.168.2.23).
15 lines
410 B
XML
15 lines
410 B
XML
<?xml version="1.0"?>
|
|
<ruleset name="MeshVault">
|
|
<description>MeshVault PHP coding standard: PSR-12.</description>
|
|
<rule ref="PSR12"/>
|
|
<arg name="extensions" value="php"/>
|
|
<arg name="encoding" value="utf-8"/>
|
|
<file>src</file>
|
|
<file>public</file>
|
|
<file>config</file>
|
|
<file>bin</file>
|
|
<file>templates</file>
|
|
<file>db/migrations</file>
|
|
<file>tests</file>
|
|
</ruleset>
|