build: M1 Dockerized development stack with PHP skeleton, config/logging, Tailwind assets, and wrappers
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).
This commit is contained in:
1 parent
c2747a5762
commit
d3e8cf8fae
39 files changed
+5291
-38
No files matched your search
+18
-2
@@ -4,14 +4,30 @@
|
||||
"type": "project",
|
||||
"license": "AGPL-3.0-only",
|
||||
"require": {
|
||||
"php": ">=8.3"
|
||||
"php": ">=8.3",
|
||||
"monolog/monolog": "^3.12",
|
||||
"php-di/php-di": "^7.1",
|
||||
"psr/log": "^3.0",
|
||||
"slim/psr7": "^1.8",
|
||||
"slim/slim": "^4.15.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^12.0",
|
||||
"squizlabs/php_codesniffer": "^3.13.5"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"MeshVault\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"MeshVault\\Tests\\": "tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "phpcs --standard=phpcs.xml.dist",
|
||||
"test": "@php tests/foundation.php"
|
||||
"test": ["@php tests/foundation.php", "@php vendor/phpunit/phpunit/phpunit"]
|
||||
},
|
||||
"config": {
|
||||
"sort-packages": true,
|
||||
|
||||
Reference in new issue
Block a user