recruiterphp / geezer
PHP tools to build robust long-running processes
Installs: 2 200
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.4
- ext-pcntl: *
- recruiterphp/concurrency: ^6.0
- symfony/console: ^7.3
Requires (Dev)
- ergebnis/composer-normalize: ^2.47
- friendsofphp/php-cs-fixer: ^3.85
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.3
- rector/rector: ^2.1
Provides
README
PHP tools to build robust long-running processes.
Description
Geezer is a PHP library that provides tools for building and managing robust long-running processes. It uses Docker for development environment setup and includes a comprehensive set of development tools for testing, code analysis, and maintenance.
Requirements
- PHP ^8.4
- ext-pcntl extension
Development Requirements
- Docker
Dependencies
- recruiterphp/concurrency ^5.0 - For concurrent processing
- symfony/console ^7.3 - For command-line interface
Installation
Clone the repository and install dependencies:
git clone <repository-url> cd geezer make install
Development Commands
The project includes a comprehensive Makefile with the following targets:
Docker Management
make build
- Build the Docker imagemake up
- Start the services in detached modemake down
- Stop the servicesmake clean
- Clean up containers and volumes
Dependency Management
make install
- Install composer dependenciesmake update
- Update composer dependencies
Testing and Code Quality
make test
- Run all PHPUnit testsmake phpstan
- Run PHPStan static analysismake rector
- Run Rector for code refactoringmake fix-cs
- Fix code style using PHP-CS-Fixer
Development Tools
make shell
- Open a bash shell in the PHP containermake logs
- View PHP container logs in follow mode
Usage
-
Start the development environment:
make up
-
Run tests to ensure everything is working:
make test
-
Access the container for development:
make shell
Code Quality
The project maintains high code quality standards using:
- PHPUnit for unit testing
- PHPStan for static analysis
- PHP-CS-Fixer for code formatting
- Rector for automated refactoring
Run all quality checks:
make test
make phpstan
make fix-cs
make rector