Files
MeshVault/composer.json
T
Keith Solomon d3e8cf8fae 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).
2026-10-11 16:45:45 -05:00

37 lines
889 B
JSON

{
"name": "keith/meshvault",
"description": "Self-hosted 3D model library",
"type": "project",
"license": "AGPL-3.0-only",
"require": {
"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", "@php vendor/phpunit/phpunit/phpunit"]
},
"config": {
"sort-packages": true,
"allow-plugins": false
}
}