pomm-project/cli
Command-line tools for Pomm, the PostgreSQL ORM for PHP. Provides a CLI to help generate and manage models, schemas and project scaffolding, automate database-related tasks, and speed up development workflows from the terminal.
pomm-project/cli package provides a CLI layer for the Pomm Project, a PHP-based message queue framework (inspired by RabbitMQ). If your Laravel application interacts with message queues (e.g., via Laravel Queues or Pomm directly), this package could serve as a complementary CLI tool for administrative tasks (e.g., queue inspection, message publishing, consumer management).pomm-project/pomm), which may introduce additional dependencies (e.g., AMQP libraries, protocol buffers).pomm:consume, pomm:publish), which can be executed via shell_exec() or Symfony Process in Laravel, but this is not idiomatic and introduces security risks (command injection).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Dependency Bloat | Medium | Audit Pomm’s dependencies for conflicts. |
| Security (CLI Injection) | High | Avoid shell_exec; use Symfony Process or wrap in a secure facade. |
| Version Alignment | Medium | Pin Pomm version in composer.json. |
| Lack of Laravel-Specific Docs | Medium | Build custom Artisan commands or wrappers. |
| Maintenance Overhead | Low | MIT license allows forks/modifications. |
exec(), Artisan, or a REST API wrapper)?composer require pomm-project/pomm).pomm:consume).php artisan pomm:consume --queue=high).// app/Console/Commands/ConsumePommQueue.php
use Symfony\Component\Process\Process;
protected $signature = 'pomm:consume {queue?}';
public function handle() {
$process = new Process(['pomm', 'consume', $this->argument('queue')]);
$process->run();
$this->output->write($process->getOutput());
}
database, redis, or sync drivers.php-amqplib) are installed in all environments (dev/staging/prod)..env.| Step | Task | Dependencies |
|---|---|---|
| 1 | Install Pomm | PHP 8.0+, Composer |
| 2 | Test CLI Commands | RabbitMQ/AMQP broker |
| 3 | Build Artisan Wrappers | Symfony Process |
| 4 | Integrate with Laravel Jobs | Laravel Queue Workers |
| 5 | Deploy & Monitor | CI/CD, Logging |
php-amqplib) may require frequent updates due to AMQP protocol changes.composer why-not to track update risks..env or a separate config file.pomm:status for health checks; integrate with Laravel’s Horizon (if using queues).php artisan queue:work) alongside CLI for production.pomm:publish for 10K messages) may block PHP processes. Use batch processing in Artisan commands.Process output.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Broker Unavailable | CLI commands hang/fail | Implement retries with exponential backoff. |
| Permission Issues | CLI fails silently | Validate credentials in .env; use Laravel’s env() helper. |
| Message Serialization Errors | Jobs fail in queue | Use Pomm’s debug tools (pomm:inspect). |
| Artisan Command Injection | Security breach | Sanitize inputs; avoid shell_exec. |
| Version Mismatch | Runtime errors | Pin versions in composer.json. |
pomm:consume, pomm:publish).How can I help you explore Laravel packages today?