stuntrocket / rover
An opinionated Laravel development assistant for teams who value quality and standards. Streamlines workflows, enforces code quality, and manages multiple projects.
Installs: 47
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/stuntrocket/rover
Requires
- php: ^8.2
- consolidation/robo: ^5.1
Requires (Dev)
- phpunit/phpunit: ^10.0|^11.0
README
An opinionated Laravel development assistant for teams who value quality and standards.
Rover is a command-line tool built on Robo that streamlines Laravel development workflows, enforces code quality standards, and manages multiple projects with ease. Perfect for development teams and agencies managing multiple Laravel applications.
Features
- ๐ฏ Opinionated Setup - Enforce team standards from day one
- ๐ Project Scaffolding - Create new Laravel projects with best practices built-in
- ๐งน Smart Cache Management - Clear and optimize with single commands
- ๐๏ธ Safe Database Operations - Fresh migrations with built-in safety checks
- ๐พ Database Backup & Restore - Automated backups with rotation, snapshots, and restore
- ๐ Data Anonymization - Safely anonymize production data for development
- ๐ก๏ธ Migration Safety - Conflict detection, verification, and safe rollbacks
- โ Intelligent Testing - Auto-detect Pest or PHPUnit and run tests
- ๐จ Code Quality - Integrated Pint linting and formatting
- ๐ฆ Multi-Project Management - Manage multiple Laravel projects efficiently
- ๐ Batch Operations - Run commands across all projects simultaneously
- ๐ Project Insights - Analytics, statistics, and health monitoring
- ๐ Log Management - Tail, filter, and analyze Laravel logs
- ๐ฎ Queue Management - Monitor, restart, and manage Laravel queues
- โฐ Schedule Management - Test, verify, and document scheduled commands
- โก Performance Profiling - Profile routes, detect N+1 queries, benchmark performance
- ๐ฆ Package Development - Scaffold, link, test, and publish Laravel packages
- ๐ Plugin System - Extend Rover with project-specific commands and functionality
- โ๏ธ Team Configuration - Share standards via
rover.yml - ๐ง Environment Management - Smart .env generation and validation
- ๐ Git Integration - Pre-commit hooks and workflow automation
- ๐ Template Generation - CI/CD pipelines, Docker, and boilerplate files
Installation
composer require stuntrocket/rover --dev
Quick Start
# Initialize Rover in your Laravel project vendor/bin/robo rover:init # See what Rover can do vendor/bin/robo rover:about # Check your project status vendor/bin/robo rover:status
Available Commands
Setup & Configuration
rover:init
Initialize Rover configuration and optionally install recommended development packages.
vendor/bin/robo rover:init
Creates a rover.yml configuration file and offers to install recommended packages like Pint, Pest, and IDE helpers.
rover:status
Display project status and installed tools.
vendor/bin/robo rover:status
rover:about
Show Rover version and available commands.
vendor/bin/robo rover:about
Project Scaffolding
rover:new
Create a new Laravel project with opinionated defaults and team standards.
vendor/bin/robo rover:new my-project # Basic setup vendor/bin/robo rover:new my-project --stack=breeze # With Laravel Breeze vendor/bin/robo rover:new my-project --stack=jetstream # With Jetstream vendor/bin/robo rover:new my-project --no-pest # Use PHPUnit instead of Pest vendor/bin/robo rover:new my-project --no-git # Skip git initialization
Automatically installs and configures:
- Laravel Pint for code style
- Pest for testing
- IDE helper files
- Larastan for static analysis
- Spatie Ray for debugging
- Custom directory structure (Actions, Services, DTOs, etc.)
- Configuration files (.editorconfig, pint.json, phpstan.neon)
- rover.yml for team standards
rover:setup
Set up an existing Laravel project with Rover standards.
vendor/bin/robo rover:setup
Perfect for adding Rover to existing projects. Installs packages, creates directory structure, and sets up configuration files.
Environment Management
rover:env:validate
Validate .env file for required variables and test connections.
vendor/bin/robo rover:env:validate
Checks for:
- Required environment variables
- APP_KEY generation
- Production safety settings
- Database connection
rover:env:generate
Generate .env file with interactive prompts.
vendor/bin/robo rover:env:generate
vendor/bin/robo rover:env:generate --force # Overwrite existing
rover:env:compare
Compare .env with .env.example to find missing or extra variables.
vendor/bin/robo rover:env:compare
rover:env:info
Display environment information (hides sensitive data).
vendor/bin/robo rover:env:info
rover:env:check-secrets
Check for accidentally exposed secrets in version control.
vendor/bin/robo rover:env:check-secrets
Git Integration
rover:git:hooks
Install git hooks for automated quality checks.
vendor/bin/robo rover:git:hooks
Installs:
- pre-commit: Runs Pint code style checks
- pre-push: Runs test suite
- commit-msg: Validates commit message format
rover:git:hooks:remove
Remove installed git hooks.
vendor/bin/robo rover:git:hooks:remove
rover:git:status-all
Show git status for all Laravel projects in current directory.
vendor/bin/robo rover:git:status-all
rover:git:gitignore
Generate Laravel .gitignore file.
vendor/bin/robo rover:git:gitignore
Template Generation
rover:template:github-actions
Generate GitHub Actions workflow for CI/CD.
vendor/bin/robo rover:template:github-actions
Creates .github/workflows/laravel.yml with:
- Code style checks
- Test execution
- Static analysis
- MySQL service container
rover:template:gitlab-ci
Generate GitLab CI configuration.
vendor/bin/robo rover:template:gitlab-ci
rover:template:docker
Generate Docker configuration (Dockerfile, docker-compose.yml, nginx config).
vendor/bin/robo rover:template:docker
rover:template:readme
Generate README template with project documentation structure.
vendor/bin/robo rover:template:readme
rover:template:all
Generate all templates with interactive prompts.
vendor/bin/robo rover:template:all
Database Operations
rover:fresh
Drop all tables, run migrations, and seed the database.
vendor/bin/robo rover:fresh # With seeding vendor/bin/robo rover:fresh --no-seed # Without seeding vendor/bin/robo rover:fresh --force # Skip confirmation (use carefully!)
โ ๏ธ Safety first: Automatically checks environment and requires confirmation unless --force is used.
rover:db:reset
Rollback and re-run all migrations.
vendor/bin/robo rover:db:reset vendor/bin/robo rover:db:reset --seed
rover:db:seed
Run database seeders.
vendor/bin/robo rover:db:seed vendor/bin/robo rover:db:seed --class=UserSeeder
rover:db:status
Show migration status.
vendor/bin/robo rover:db:status
Database Backup & Management
rover:db:backup
Create timestamped database backups with automatic rotation.
vendor/bin/robo rover:db:backup # Auto timestamp vendor/bin/robo rover:db:backup --name=before-deploy # Custom name vendor/bin/robo rover:db:backup --no-compress # Uncompressed
Features:
- Supports MySQL, PostgreSQL, and SQLite
- Automatic gzip compression
- Keeps last 7 backups by default
- Stored in
storage/backups/database/
rover:db:backups
List all available database backups.
vendor/bin/robo rover:db:backups
Shows filename, size, and creation date for each backup.
rover:db:restore
Restore database from a backup.
vendor/bin/robo rover:db:restore # Interactive selection vendor/bin/robo rover:db:restore 1 # Restore backup #1 vendor/bin/robo rover:db:restore backup.sql.gz # Specific file vendor/bin/robo rover:db:restore --force # Skip confirmation
โ ๏ธ Warning: This replaces your current database!
rover:db:backup:clean
Delete old backups, keeping the most recent ones.
vendor/bin/robo rover:db:backup:clean # Keep 7 backups vendor/bin/robo rover:db:backup:clean --keep=10 # Keep 10 backups
rover:db:snapshot
Quick snapshot for testing (uses "latest" naming).
vendor/bin/robo rover:db:snapshot # Create snapshot vendor/bin/robo rover:db:snapshot:restore # Restore snapshot
Perfect for:
- Testing destructive operations
- Quick before/after comparisons
- Experimenting with data
rover:db:anonymize
Anonymize sensitive user data for safe development/staging use.
vendor/bin/robo rover:db:anonymize
Anonymizes:
- Email addresses (user1@example.com, user2@example.com)
- Passwords (set to default hash)
- Names (User 1, User 2)
- Tokens cleared
โ ๏ธ Production Safety: Automatically blocked in production environments.
rover:db:sync
Sync database from remote environment (requires configuration).
vendor/bin/robo rover:db:sync staging vendor/bin/robo rover:db:sync production --anonymize
Provides manual instructions for database synchronization.
Migration Safety Tools
rover:migrate:check
Check for migration conflicts (duplicate timestamps, naming issues).
vendor/bin/robo rover:migrate:check
Detects:
- Duplicate migration timestamps
- Naming conflicts
- Potential merge issues
rover:migrate:verify
Comprehensive migration verification before running.
vendor/bin/robo rover:migrate:verify
Checks for:
- Migration conflicts
- Risky operations (dropping columns/tables)
- Safety concerns
rover:migrate:rollback-safe
Safe rollback with preview and confirmation.
vendor/bin/robo rover:migrate:rollback-safe --step=1 vendor/bin/robo rover:migrate:rollback-safe --step=3 --force
Features:
- Shows migrations to be rolled back
- Requires confirmation (unless --force)
- Blocks production rollbacks
rover:migrate:history
View migration history and pending migrations.
vendor/bin/robo rover:migrate:history
rover:make:migration
Create migration with conflict checking.
vendor/bin/robo rover:make:migration create_posts_table --create=posts vendor/bin/robo rover:make:migration add_status_to_users --table=users
Automatically checks for naming conflicts before creation.
Cache Management
rover:clear
Clear all Laravel caches (config, route, view, cache, compiled).
vendor/bin/robo rover:clear
Clears:
- Configuration cache
- Route cache
- View cache
- Application cache
- Compiled classes
rover:optimize
Run all Laravel optimization commands.
vendor/bin/robo rover:optimize
Optimizes:
- Configuration
- Routes
- Views
- Application
rover:refresh
Clear caches then optimize (useful when switching branches).
vendor/bin/robo rover:refresh
Testing
rover:test
Smart test runner with automatic Pest/PHPUnit detection.
vendor/bin/robo rover:test # Run all tests vendor/bin/robo rover:test --filter=UserTest # Filter tests vendor/bin/robo rover:test --group=feature # Run specific group vendor/bin/robo rover:test --coverage # With coverage vendor/bin/robo rover:test --parallel # Parallel execution (Pest)
rover:coverage
Generate test coverage report.
vendor/bin/robo rover:coverage
rover:test:file
Run a specific test file.
vendor/bin/robo rover:test:file tests/Feature/UserTest.php
rover:test:list
List all available test files.
vendor/bin/robo rover:test:list
Code Quality
rover:lint
Check code style with Laravel Pint.
vendor/bin/robo rover:lint # Check and fix vendor/bin/robo rover:lint --test # Check only (no fixes) vendor/bin/robo rover:lint --dirty # Check uncommitted changes only
rover:fix
Automatically fix code style issues.
vendor/bin/robo rover:fix
rover:check
Run all pre-commit checks (lint, tests, static analysis).
vendor/bin/robo rover:check
Perfect for CI/CD pipelines and pre-commit hooks!
rover:analyze
Run static analysis with PHPStan/Larastan.
vendor/bin/robo rover:analyze
rover:ide-helper
Generate IDE helper files for better autocompletion.
vendor/bin/robo rover:ide-helper
Project Management
rover:list
List all Laravel projects in current directory.
vendor/bin/robo rover:list
Shows project names and Laravel versions.
Workspace Management
rover:health
Run comprehensive health checks across all Laravel projects.
vendor/bin/robo rover:health
Checks for:
- Missing dependencies
- Environment configuration
- Storage permissions
- Git status
- Outdated packages
rover:switch
Quick switch between Laravel projects with interactive selection.
vendor/bin/robo rover:switch # Interactive selection vendor/bin/robo rover:switch my-project # Direct switch
rover:workspace:status
Detailed overview of all projects in workspace.
vendor/bin/robo rover:workspace:status
Shows Laravel version, git branch, environment, and dependency status.
rover:workspace:versions
Compare Laravel versions across all projects.
vendor/bin/robo rover:workspace:versions
Batch Operations
rover:run-all
Execute any command across all Laravel projects.
vendor/bin/robo rover:run-all "php artisan migrate" vendor/bin/robo rover:run-all "git pull" --continue
rover:update-all
Update composer dependencies in all projects.
vendor/bin/robo rover:update-all vendor/bin/robo rover:update-all --dev # Dev dependencies only vendor/bin/robo rover:update-all --continue # Continue on failures
rover:test-all
Run test suites across all projects.
vendor/bin/robo rover:test-all
vendor/bin/robo rover:test-all --continue # Continue even if tests fail
rover:git:pull-all
Pull latest changes in all git repositories.
vendor/bin/robo rover:git:pull-all
Automatically skips repositories with uncommitted changes.
rover:clear-all
Clear all caches across all Laravel projects.
vendor/bin/robo rover:clear-all
rover:install-all
Run composer install in all projects.
vendor/bin/robo rover:install-all
Project Insights & Analytics
rover:insights:stats
Generate detailed statistics for a project.
vendor/bin/robo rover:insights:stats # Current project vendor/bin/robo rover:insights:stats my-project # Specific project
Shows:
- Lines of code
- File counts (controllers, models, migrations, tests)
- Dependency counts
- Git statistics
- Test ratio
rover:insights:dependencies
Compare dependency versions across all projects.
vendor/bin/robo rover:insights:dependencies
Identifies version inconsistencies for standardization.
rover:insights:security
Security audit across all projects.
vendor/bin/robo rover:insights:security
Runs composer audit to detect known vulnerabilities.
rover:insights:outdated
Check for outdated packages in all projects.
vendor/bin/robo rover:insights:outdated
rover:insights:report
Generate comprehensive workspace report.
vendor/bin/robo rover:insights:report
Provides overview of all projects including Laravel versions, git status, and testing coverage.
Log Management
rover:logs
Tail and filter Laravel logs.
vendor/bin/robo rover:logs # Last 50 lines vendor/bin/robo rover:logs --lines=100 # Last 100 lines vendor/bin/robo rover:logs --follow # Follow mode (tail -f) vendor/bin/robo rover:logs --level=error # Filter by level vendor/bin/robo rover:logs --grep="UserController" # Search pattern
Supported log levels: emergency, alert, critical, error, warning, notice, info, debug
rover:logs:clear
Clear Laravel log file.
vendor/bin/robo rover:logs:clear vendor/bin/robo rover:logs:clear --force
rover:logs:stats
Show log file statistics.
vendor/bin/robo rover:logs:stats
Displays:
- File size
- Total lines
- Errors by level (ERROR, WARNING, etc.)
rover:logs:errors
Find recent errors quickly.
vendor/bin/robo rover:logs:errors # Last 10 errors vendor/bin/robo rover:logs:errors --lines=20 # Last 20 errors
rover:logs:archive
Archive and clear logs.
vendor/bin/robo rover:logs:archive
Archives to storage/logs/archive/ with gzip compression.
Queue Management
rover:queue:monitor
Monitor queue status and workers.
vendor/bin/robo rover:queue:monitor vendor/bin/robo rover:queue:monitor --queue=emails
Shows:
- Failed job count
- Running workers
- Queue statistics
rover:queue:clear
Clear all failed jobs.
vendor/bin/robo rover:queue:clear vendor/bin/robo rover:queue:clear --force
rover:queue:retry-all
Retry all failed jobs.
vendor/bin/robo rover:queue:retry-all
rover:queue:failed
List failed jobs.
vendor/bin/robo rover:queue:failed
rover:queue:restart
Gracefully restart queue workers.
vendor/bin/robo rover:queue:restart
Workers finish current jobs then restart.
rover:queue:work
Run queue worker in development.
vendor/bin/robo rover:queue:work vendor/bin/robo rover:queue:work --queue=emails --tries=5
Schedule Management
rover:schedule:list
List all scheduled commands.
vendor/bin/robo rover:schedule:list
rover:schedule:run
Run scheduled commands manually.
vendor/bin/robo rover:schedule:run
rover:schedule:test
Test scheduled commands immediately.
vendor/bin/robo rover:schedule:test # All commands vendor/bin/robo rover:schedule:test "emails:send" # Specific command
rover:schedule:work
Run scheduler in foreground (development).
vendor/bin/robo rover:schedule:work
rover:schedule:check
Verify cron setup.
vendor/bin/robo rover:schedule:check
Checks:
- Scheduled commands configuration
- Cron job setup
- Recent schedule runs
rover:schedule:docs
Generate schedule documentation.
vendor/bin/robo rover:schedule:docs
Creates docs/SCHEDULE.md with all scheduled commands.
Performance & Profiling
rover:profile
Profile application performance.
vendor/bin/robo rover:profile # Profile homepage vendor/bin/robo rover:profile /api/users # Profile specific route
Runs multiple requests and shows:
- Average response time
- Min/max response time
- Performance rating
rover:n+1
Detect N+1 query problems.
vendor/bin/robo rover:n+1
- Checks for Telescope/Debugbar
- Scans code for common N+1 patterns
- Provides optimization suggestions
rover:benchmark
Benchmark database performance.
vendor/bin/robo rover:benchmark
Tests:
- Simple queries
- Database connection
- Overall performance
rover:cache:warm
Warm all application caches for optimal performance.
vendor/bin/robo rover:cache:warm
Caches:
- Configuration
- Routes
- Views
- Events
rover:metrics
Show application metrics.
vendor/bin/robo rover:metrics
Displays:
- PHP and Laravel versions
- Cache sizes
- Log file size
- Database size
Package Development
rover:package:init
Create a new Laravel package with complete structure.
vendor/bin/robo rover:package:init vendor/package-name vendor/bin/robo rover:package:init vendor/package-name --path=packages
Creates:
- Complete package structure (src, tests, config, migrations, views)
- composer.json with proper autoloading
- Service provider
- README and LICENSE templates
- PHPUnit/Pest configuration
- GitHub Actions workflow
- .gitignore
rover:package:link
Link package for local development (symlink to vendor).
# From Laravel project vendor/bin/robo rover:package:link ../packages/vendor/package # Or from package directory cd packages/vendor/package vendor/bin/robo rover:package:link
Automatically:
- Adds path repository to composer.json
- Creates symlink in vendor/
- Enables live development
rover:package:unlink
Unlink package and remove from project.
vendor/bin/robo rover:package:unlink vendor/package-name
rover:package:test
Run package tests in isolation.
vendor/bin/robo rover:package:test vendor/bin/robo rover:package:test ../packages/vendor/package
rover:package:publish
Verify package is ready for publishing.
vendor/bin/robo rover:package:publish
Checks:
- composer.json completeness
- README existence
- LICENSE file
- Test coverage
- Documentation quality
rover:package:docs
Generate package documentation.
vendor/bin/robo rover:package:docs
Creates README.md template with:
- Installation instructions
- Usage examples
- Testing commands
- Contributing guidelines
Plugin System & Extensibility
Rover features a powerful plugin system that allows you to create project-specific commands and extend functionality without modifying Rover core.
rover:plugin:list
List all discovered plugins.
vendor/bin/robo rover:plugin:list # All plugins vendor/bin/robo rover:plugin:list --loaded # Only loaded plugins
rover:plugin:info
Show detailed information about a specific plugin.
vendor/bin/robo rover:plugin:info example
Displays:
- Plugin metadata (name, version, description, author)
- Status (enabled/disabled, loaded/unloaded)
- Registered commands
- Dependencies
rover:plugin:create
Scaffold a new plugin from template.
vendor/bin/robo rover:plugin:create my-plugin vendor/bin/robo rover:plugin:create my-plugin --path=.rover/plugins vendor/bin/robo rover:plugin:create my-plugin --author="Your Name" --description="Custom plugin"
Creates complete plugin structure:
plugin.json- Plugin metadatabootstrap.php- Bootstrap filesrc/Plugin.php- Main plugin classsrc/Commands/- Command classesREADME.md- Documentation
rover:plugin:enable
Enable a plugin.
vendor/bin/robo rover:plugin:enable my-plugin
rover:plugin:disable
Disable a plugin.
vendor/bin/robo rover:plugin:disable my-plugin
rover:plugin:validate
Validate plugin structure and configuration.
vendor/bin/robo rover:plugin:validate my-plugin
Checks for:
- Required files (plugin.json, bootstrap.php)
- Valid metadata
- Proper structure
rover:plugin:hooks
List available plugin hooks.
vendor/bin/robo rover:plugin:hooks
Available hooks:
before_command- Before any Rover commandafter_command- After any Rover commandproject_init- When initializing projectbackup_created- After backup creationmigration_run- After migrations runtest_completed- After tests completedeployment_started- When deployment startsdeployment_completed- When deployment completes
Creating a Plugin
- Create the plugin structure:
vendor/bin/robo rover:plugin:create my-plugin
- Edit the plugin class (
.rover/plugins/my-plugin/src/Plugin.php):
<?php use Rover\Plugin\BasePlugin; class MyPlugin extends BasePlugin { public function boot(): void { $this->name = 'my-plugin'; $this->version = '1.0.0'; $this->description = 'Custom plugin for my project'; // Register commands $this->registerCommand(MyPluginCommands::class); // Register hooks $this->registerHook('before_command', function($data) { $this->log('Command executing...'); }); } }
- Create your commands (
.rover/plugins/my-plugin/src/Commands/MyPluginCommands.php):
<?php use Rover\Robo\Plugin\Commands\BaseCommand; use Robo\Result; class MyPluginCommands extends BaseCommand { /** * @command my-plugin:hello */ public function hello(string $name = 'World'): Result { $this->io()->success("Hello, $name!"); // Use BaseCommand utilities if ($this->isLaravelProject()) { $version = $this->getLaravelVersion(); $this->io()->note("Laravel $version detected"); } return Result::success($this); } }
- Configure in rover.yml:
plugins: my-plugin: enabled: true custom_option: value
- Use your plugin:
vendor/bin/robo my-plugin:hello John
Plugin Locations
Rover searches for plugins in these locations (in order):
.rover/plugins/- Project-specific plugins (highest priority)rover/plugins/- Alternative project location[rover-install]/plugins/- Global Rover plugins
Example Plugin
Rover includes an example plugin demonstrating all features. Check it out:
vendor/bin/robo rover:plugin:info example vendor/bin/robo example:hello vendor/bin/robo example:demo
Study the example plugin source code at plugins/example/ for reference.
Configuration
Rover uses a rover.yml configuration file to define team standards:
# Team information team: name: StuntRocket email: hello@stuntrocket.co # Code quality settings quality: pint: preset: laravel testing: parallel: false coverage: false # Database settings database: require_confirmation: - production - staging backup: path: ./storage/backups keep: 7 # Development settings development: packages: require-dev: - laravel/pint - barryvdh/laravel-ide-helper - spatie/laravel-ray - pestphp/pest
Generate a default configuration with:
vendor/bin/robo rover:init
Recommended Workflow
Starting a New Project
# Create project with Rover standards vendor/bin/robo rover:new my-awesome-app --stack=breeze cd my-awesome-app # Set up environment vendor/bin/robo rover:env:generate # Install git hooks vendor/bin/robo rover:git:hooks # Generate CI/CD pipeline vendor/bin/robo rover:template:github-actions # Start developing! vendor/bin/robo rover:fresh vendor/bin/robo rover:test
Adding Rover to Existing Project
# Install Rover composer require stuntrocket/rover --dev # Set up with opinionated defaults vendor/bin/robo rover:setup # Validate environment vendor/bin/robo rover:env:validate # Install git hooks vendor/bin/robo rover:git:hooks
Daily Development
# Start your day vendor/bin/robo rover:fresh # Fresh database vendor/bin/robo rover:test # Run tests # Before committing (automated with git hooks) vendor/bin/robo rover:check # Pre-commit checks vendor/bin/robo rover:lint --dirty # Check your changes
Switching Branches
vendor/bin/robo rover:refresh # Clear and optimize vendor/bin/robo rover:fresh # Reset database if needed vendor/bin/robo rover:env:compare # Check for new env variables
Code Review
vendor/bin/robo rover:check # Run all quality checks vendor/bin/robo rover:coverage # Generate coverage report vendor/bin/robo rover:analyze # Static analysis
Managing Multiple Projects (Agencies & Teams)
# Quick health check on all projects vendor/bin/robo rover:health # Get workspace overview vendor/bin/robo rover:workspace:status # Run tests across all projects vendor/bin/robo rover:test-all # Update all projects vendor/bin/robo rover:update-all # Pull latest changes in all repos vendor/bin/robo rover:git:pull-all # Security audit across workspace vendor/bin/robo rover:insights:security # Generate workspace report vendor/bin/robo rover:insights:report # Run custom command on all projects vendor/bin/robo rover:run-all "php artisan migrate"
Weekly Maintenance
# Check for outdated packages vendor/bin/robo rover:insights:outdated # Security audit vendor/bin/robo rover:insights:security # Check dependency consistency vendor/bin/robo rover:insights:dependencies # Compare Laravel versions vendor/bin/robo rover:workspace:versions # Create weekly backups vendor/bin/robo rover:db:backup --name=weekly vendor/bin/robo rover:db:backup:clean --keep=4 # Keep 4 weekly backups
Database Operations & Safety
# Before risky operations - create snapshot vendor/bin/robo rover:db:snapshot # Test the risky operation php artisan some:risky:command # If something goes wrong, restore immediately vendor/bin/robo rover:db:snapshot:restore # Before deployment - backup and verify migrations vendor/bin/robo rover:db:backup --name=before-deploy vendor/bin/robo rover:migrate:verify vendor/bin/robo rover:migrate:check # After pulling production data - anonymize for safety vendor/bin/robo rover:db:sync production vendor/bin/robo rover:db:anonymize # Safe migration rollback vendor/bin/robo rover:migrate:rollback-safe --step=1
Debugging & Troubleshooting
# Check logs for errors rover:logs:errors # Recent errors rover:logs --level=error --follow # Watch errors in real-time # Monitor queues rover:queue:monitor # Queue status rover:queue:failed # View failed jobs rover:queue:retry-all # Retry failed jobs # Check schedule rover:schedule:check # Verify cron setup rover:schedule:test # Test scheduled commands # Profile performance issues rover:profile /api/slow-endpoint # Profile specific route rover:n+1 # Detect N+1 queries rover:benchmark # Database performance
Performance Optimization
# Before deployment - optimize rover:cache:warm # Warm all caches rover:optimize # Optimize Laravel rover:profile / # Verify performance # Monitor and improve rover:metrics # Check resource usage rover:n+1 # Find query issues rover:logs:stats # Analyze log patterns
Queue & Background Jobs
# Development workflow rover:queue:work # Run worker locally # Monitoring rover:queue:monitor # Check queue health rover:queue:failed # View failures # Maintenance rover:queue:restart # Restart workers rover:queue:clear # Clear failed jobs rover:queue:retry-all # Retry all failed
Package Development
# Create new package rover:package:init acme/awesome-package # Set up local development cd packages/acme/awesome-package composer install rover:package:test # Run tests # Link to Laravel project cd ../../../ rover:package:link packages/acme/awesome-package # Develop with live reload # Edit package code, changes reflect immediately # Before publishing rover:package:publish # Check readiness rover:package:test # Final tests rover:package:docs # Generate docs # Publish to Packagist git tag v1.0.0 git push --tags # Submit to packagist.org
Aliases
Most commands have short aliases for convenience:
rover:freshโfreshrover:clearโclearrover:optimizeโoptimizerover:testโtestrover:lintโlintrover:fixโfixrover:checkโcheck
Requirements
- PHP 8.0+
- Laravel 9.0+
- Composer
Recommended Packages
Rover works best with these packages (automatically offered during rover:init):
laravel/pint- Code style fixerpestphp/pest- Testing frameworkbarryvdh/laravel-ide-helper- IDE autocompletionnunomaduro/larastan- Static analysisspatie/laravel-ray- Debugging
Roadmap
See ROADMAP.md for planned features and development phases.
Contributing
Contributions are welcome! This tool is designed to evolve with the Laravel community's needs.
License
MIT License - See LICENSE file for details.
Credits
Built with โค๏ธ by StuntRocket for the Laravel community.