Skip to content

Conversation

@walmir-silva
Copy link
Contributor

No description provided.

- .config/php/error-reporting.ini → custom error reporting
- .config/php/xdebug.ini → Xdebug settings
- .config/phpmd/ruleset.xml → PHPMD ruleset
- .github/workflows/ci.yml → automated build and test pipeline
- .github/workflows/code-quality.yml → linting, static analysis, and style validation
…Compose & Makefile

- Add docker-compose.yml using kariricode/php-api-stack as the single base image
- Introduce professional Makefile with common dev/QA targets
- Add install.sh bootstrapper (interactive composer.json + skeleton generation)
- Provide quality tools config: PHP-CS-Fixer (.php-cs-fixer.php), PHPStan (phpstan.neon),
  PHPUnit (phpunit.xml), Rector (rector.php), PHPMD rules (devkit/.config/phpmd/ruleset.xml)
- Include runtime configs: error-reporting.ini, xdebug.ini, opcache.ini (under devkit/.config/php/)
- Add project metadata and templates: README.md, .env.example, .gitattributes, .gitignore
- Add base composer.json for components
…and tests

- Introduced new domain entities:
  - `UserProfile` aggregate with immutability and rich behaviors
  - Value Objects: `Email`, `UserId`
  - Supporting attribute: `Length`
  - Enums: `UserRole`, `UserStatus`

- Added full test coverage:
  - Unit tests for enums, value objects, and UserProfile
  - Integration test covering full user lifecycle flow

- Updated configuration and tooling:
  - Adjusted `.gitignore` and `Makefile`
  - Updated `composer.json` dependencies and autoload
  - Refined `phpunit.xml` for PHPUnit 12 compatibility
…ve documentation

- Restructure Makefile system following SOLID principles and DRY methodology
- Organize build system into semantic modules by responsibility:
  * core/: Shared variables and reusable functions
  * local/: Setup, QA, and development helpers
  * docker/: Containerized execution and Docker Compose management
  * pipeline/: CI/CD orchestration workflows

- Add complete modular documentation suite:
  * MAKEFILE.md: Overview and quick start guide
  * MAKEFILE-setup.md: Dependency management and installation
  * MAKEFILE-qa.md: Testing, linting, and static analysis
  * MAKEFILE-pipeline.md: CI/CD pipelines and pre-commit hooks
  * MAKEFILE-helpers.md: Benchmarking and release management
  * MAKEFILE-docker.md: Docker commands and isolated execution
  * MAKEFILE-compose.md: Full-stack Docker Compose environment

- Implement new capabilities:
  * Unified benchmark interface with baseline comparison (make bench)
  * Docker Compose lifecycle management (make up/down/restart)
  * Git hooks automation (make git-hooks-setup)
  * Modular CI/CD pipelines (make ci/ci-full/cd)

- Maintain backward compatibility with all existing make targets
- Each module follows single responsibility principle
- Comprehensive troubleshooting guides and best practices included

Refs: #documentation #architecture #devex
- Add automatic port conflict detection with lsof and ss
- Implement fix-ports command for automatic resolution
- Add diagnose-ports for detailed conflict analysis
- Add kill-port and port-scan utilities
- Improve Memcached health check (nc instead of bash)
- Update docker-compose.yml with env_file support
- Remove user constraints from PHP container
- Add comprehensive Redis configuration variables
- Update .env.example with session handler and Redis config
- Enhance Makefile targets for Docker management
- Add clean-docker and check-docker-ports commands
- Update documentation with troubleshooting guides
- Remove deprecated install.sh script

Breaking changes:
- Removed install.sh (replaced by make install-dev)
- Port conflict detection now fails fast with actionable messages
- DEMO_MODE and HEALTH_CHECK_INSTALL disabled by default

Fixes:
- PHP container restart loop due to permission issues
- Redis configuration errors causing crashes
- Session handler conflicts
- Volume mount read-only conflicts

Closes #issue-number
@walmir-silva walmir-silva merged commit 0f187f2 into main Nov 10, 2025
18 of 31 checks passed
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.

2 participants