- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
28 lines
1.2 KiB
Plaintext
28 lines
1.2 KiB
Plaintext
rules:
|
|
# Prefer Value Objects over arrays for domain concepts
|
|
- App\Framework\Quality\PHPStan\Rules\PreferValueObjectsRule
|
|
|
|
# Use framework abstractions instead of direct PHP classes
|
|
- App\Framework\Quality\PHPStan\Rules\UseFrameworkAbstractionsRule
|
|
|
|
# Forbidden PHP functions - enforce framework abstractions
|
|
- App\Framework\Quality\PHPStan\Rules\ForbiddenFunctionsRule
|
|
|
|
# Time handling abstractions
|
|
- App\Framework\Quality\PHPStan\Rules\UseClockAbstractionRule
|
|
- App\Framework\Quality\PHPStan\Rules\UseTimerAbstractionRule
|
|
- App\Framework\Quality\PHPStan\Rules\UseDateTimeAbstractionRule
|
|
|
|
# Naming Convention Rules
|
|
- App\Framework\Quality\PHPStan\Rules\Naming\ControllerNamingRule
|
|
- App\Framework\Quality\PHPStan\Rules\Naming\ExceptionNamingRule
|
|
- App\Framework\Quality\PHPStan\Rules\Naming\CommandNamingRule
|
|
- App\Framework\Quality\PHPStan\Rules\Naming\ValueObjectNamingRule
|
|
- App\Framework\Quality\PHPStan\Rules\Naming\InterfaceNamingRule
|
|
|
|
parameters:
|
|
# Type aliases for better documentation
|
|
typeAliases:
|
|
AnalyticsData: 'array<string, mixed>'
|
|
MetricsData: 'array<string, int|float>'
|
|
BreakdownData: 'array<string, int>' |