PHPackages                             stuntrocket/rover - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. stuntrocket/rover

ActiveLibrary[Testing &amp; Quality](/categories/testing)

stuntrocket/rover
=================

An opinionated Laravel development assistant for teams who value quality and standards. Streamlines workflows, enforces code quality, and manages multiple projects.

v1.1.2(6mo ago)048MITPHPPHP ^8.2

Since Oct 22Pushed 6mo agoCompare

[ Source](https://github.com/stuntrocket/rover)[ Packagist](https://packagist.org/packages/stuntrocket/rover)[ Docs](https://github.com/stuntrocket/rover)[ RSS](/packages/stuntrocket-rover/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (14)Used By (0)

Rover 🚀
=======

[](#rover-)

**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
--------

[](#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 &amp; 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
------------

[](#installation)

```
composer require stuntrocket/rover --dev
```

Quick Start
-----------

[](#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
------------------

[](#available-commands)

### Setup &amp; Configuration

[](#setup--configuration)

#### `rover:init`

[](#roverinit)

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`

[](#roverstatus)

Display project status and installed tools.

```
vendor/bin/robo rover:status
```

#### `rover:about`

[](#roverabout)

Show Rover version and available commands.

```
vendor/bin/robo rover:about
```

---

### Project Scaffolding

[](#project-scaffolding)

#### `rover:new`

[](#rovernew)

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`

[](#roversetup)

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

[](#environment-management)

#### `rover:env:validate`

[](#roverenvvalidate)

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`

[](#roverenvgenerate)

Generate .env file with interactive prompts.

```
vendor/bin/robo rover:env:generate
vendor/bin/robo rover:env:generate --force  # Overwrite existing
```

#### `rover:env:compare`

[](#roverenvcompare)

Compare .env with .env.example to find missing or extra variables.

```
vendor/bin/robo rover:env:compare
```

#### `rover:env:info`

[](#roverenvinfo)

Display environment information (hides sensitive data).

```
vendor/bin/robo rover:env:info
```

#### `rover:env:check-secrets`

[](#roverenvcheck-secrets)

Check for accidentally exposed secrets in version control.

```
vendor/bin/robo rover:env:check-secrets
```

---

### Git Integration

[](#git-integration)

#### `rover:git:hooks`

[](#rovergithooks)

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`

[](#rovergithooksremove)

Remove installed git hooks.

```
vendor/bin/robo rover:git:hooks:remove
```

#### `rover:git:status-all`

[](#rovergitstatus-all)

Show git status for all Laravel projects in current directory.

```
vendor/bin/robo rover:git:status-all
```

#### `rover:git:gitignore`

[](#rovergitgitignore)

Generate Laravel .gitignore file.

```
vendor/bin/robo rover:git:gitignore
```

---

### Template Generation

[](#template-generation)

#### `rover:template:github-actions`

[](#rovertemplategithub-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`

[](#rovertemplategitlab-ci)

Generate GitLab CI configuration.

```
vendor/bin/robo rover:template:gitlab-ci
```

#### `rover:template:docker`

[](#rovertemplatedocker)

Generate Docker configuration (Dockerfile, docker-compose.yml, nginx config).

```
vendor/bin/robo rover:template:docker
```

#### `rover:template:readme`

[](#rovertemplatereadme)

Generate README template with project documentation structure.

```
vendor/bin/robo rover:template:readme
```

#### `rover:template:all`

[](#rovertemplateall)

Generate all templates with interactive prompts.

```
vendor/bin/robo rover:template:all
```

---

### Database Operations

[](#database-operations)

#### `rover:fresh`

[](#roverfresh)

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`

[](#roverdbreset)

Rollback and re-run all migrations.

```
vendor/bin/robo rover:db:reset
vendor/bin/robo rover:db:reset --seed
```

#### `rover:db:seed`

[](#roverdbseed)

Run database seeders.

```
vendor/bin/robo rover:db:seed
vendor/bin/robo rover:db:seed --class=UserSeeder
```

#### `rover:db:status`

[](#roverdbstatus)

Show migration status.

```
vendor/bin/robo rover:db:status
```

---

### Database Backup &amp; Management

[](#database-backup--management)

#### `rover:db:backup`

[](#roverdbbackup)

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`

[](#roverdbbackups)

List all available database backups.

```
vendor/bin/robo rover:db:backups
```

Shows filename, size, and creation date for each backup.

#### `rover:db:restore`

[](#roverdbrestore)

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`

[](#roverdbbackupclean)

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`

[](#roverdbsnapshot)

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`

[](#roverdbanonymize)

Anonymize sensitive user data for safe development/staging use.

```
vendor/bin/robo rover:db:anonymize
```

Anonymizes:

- Email addresses (, )
- Passwords (set to default hash)
- Names (User 1, User 2)
- Tokens cleared

⚠️ **Production Safety**: Automatically blocked in production environments.

#### `rover:db:sync`

[](#roverdbsync)

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

[](#migration-safety-tools)

#### `rover:migrate:check`

[](#rovermigratecheck)

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`

[](#rovermigrateverify)

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`

[](#rovermigraterollback-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`

[](#rovermigratehistory)

View migration history and pending migrations.

```
vendor/bin/robo rover:migrate:history
```

#### `rover:make:migration`

[](#rovermakemigration)

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

[](#cache-management)

#### `rover:clear`

[](#roverclear)

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`

[](#roveroptimize)

Run all Laravel optimization commands.

```
vendor/bin/robo rover:optimize
```

Optimizes:

- Configuration
- Routes
- Views
- Application

#### `rover:refresh`

[](#roverrefresh)

Clear caches then optimize (useful when switching branches).

```
vendor/bin/robo rover:refresh
```

---

### Testing

[](#testing)

#### `rover:test`

[](#rovertest)

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`

[](#rovercoverage)

Generate test coverage report.

```
vendor/bin/robo rover:coverage
```

#### `rover:test:file`

[](#rovertestfile)

Run a specific test file.

```
vendor/bin/robo rover:test:file tests/Feature/UserTest.php
```

#### `rover:test:list`

[](#rovertestlist)

List all available test files.

```
vendor/bin/robo rover:test:list
```

---

### Code Quality

[](#code-quality)

#### `rover:lint`

[](#roverlint)

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`

[](#roverfix)

Automatically fix code style issues.

```
vendor/bin/robo rover:fix
```

#### `rover:check`

[](#rovercheck)

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`

[](#roveranalyze)

Run static analysis with PHPStan/Larastan.

```
vendor/bin/robo rover:analyze
```

#### `rover:ide-helper`

[](#roveride-helper)

Generate IDE helper files for better autocompletion.

```
vendor/bin/robo rover:ide-helper
```

---

### Project Management

[](#project-management)

#### `rover:list`

[](#roverlist)

List all Laravel projects in current directory.

```
vendor/bin/robo rover:list
```

Shows project names and Laravel versions.

---

### Workspace Management

[](#workspace-management)

#### `rover:health`

[](#roverhealth)

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`

[](#roverswitch)

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`

[](#roverworkspacestatus)

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`

[](#roverworkspaceversions)

Compare Laravel versions across all projects.

```
vendor/bin/robo rover:workspace:versions
```

---

### Batch Operations

[](#batch-operations)

#### `rover:run-all`

[](#roverrun-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`

[](#roverupdate-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`

[](#rovertest-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`

[](#rovergitpull-all)

Pull latest changes in all git repositories.

```
vendor/bin/robo rover:git:pull-all
```

Automatically skips repositories with uncommitted changes.

#### `rover:clear-all`

[](#roverclear-all)

Clear all caches across all Laravel projects.

```
vendor/bin/robo rover:clear-all
```

#### `rover:install-all`

[](#roverinstall-all)

Run composer install in all projects.

```
vendor/bin/robo rover:install-all
```

---

### Project Insights &amp; Analytics

[](#project-insights--analytics)

#### `rover:insights:stats`

[](#roverinsightsstats)

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`

[](#roverinsightsdependencies)

Compare dependency versions across all projects.

```
vendor/bin/robo rover:insights:dependencies
```

Identifies version inconsistencies for standardization.

#### `rover:insights:security`

[](#roverinsightssecurity)

Security audit across all projects.

```
vendor/bin/robo rover:insights:security
```

Runs composer audit to detect known vulnerabilities.

#### `rover:insights:outdated`

[](#roverinsightsoutdated)

Check for outdated packages in all projects.

```
vendor/bin/robo rover:insights:outdated
```

#### `rover:insights:report`

[](#roverinsightsreport)

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

[](#log-management)

#### `rover:logs`

[](#roverlogs)

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`

[](#roverlogsclear)

Clear Laravel log file.

```
vendor/bin/robo rover:logs:clear
vendor/bin/robo rover:logs:clear --force
```

#### `rover:logs:stats`

[](#roverlogsstats)

Show log file statistics.

```
vendor/bin/robo rover:logs:stats
```

Displays:

- File size
- Total lines
- Errors by level (ERROR, WARNING, etc.)

#### `rover:logs:errors`

[](#roverlogserrors)

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`

[](#roverlogsarchive)

Archive and clear logs.

```
vendor/bin/robo rover:logs:archive
```

Archives to `storage/logs/archive/` with gzip compression.

---

### Queue Management

[](#queue-management)

#### `rover:queue:monitor`

[](#roverqueuemonitor)

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`

[](#roverqueueclear)

Clear all failed jobs.

```
vendor/bin/robo rover:queue:clear
vendor/bin/robo rover:queue:clear --force
```

#### `rover:queue:retry-all`

[](#roverqueueretry-all)

Retry all failed jobs.

```
vendor/bin/robo rover:queue:retry-all
```

#### `rover:queue:failed`

[](#roverqueuefailed)

List failed jobs.

```
vendor/bin/robo rover:queue:failed
```

#### `rover:queue:restart`

[](#roverqueuerestart)

Gracefully restart queue workers.

```
vendor/bin/robo rover:queue:restart
```

Workers finish current jobs then restart.

#### `rover:queue:work`

[](#roverqueuework)

Run queue worker in development.

```
vendor/bin/robo rover:queue:work
vendor/bin/robo rover:queue:work --queue=emails --tries=5
```

---

### Schedule Management

[](#schedule-management)

#### `rover:schedule:list`

[](#roverschedulelist)

List all scheduled commands.

```
vendor/bin/robo rover:schedule:list
```

#### `rover:schedule:run`

[](#roverschedulerun)

Run scheduled commands manually.

```
vendor/bin/robo rover:schedule:run
```

#### `rover:schedule:test`

[](#roverscheduletest)

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`

[](#roverschedulework)

Run scheduler in foreground (development).

```
vendor/bin/robo rover:schedule:work
```

#### `rover:schedule:check`

[](#roverschedulecheck)

Verify cron setup.

```
vendor/bin/robo rover:schedule:check
```

Checks:

- Scheduled commands configuration
- Cron job setup
- Recent schedule runs

#### `rover:schedule:docs`

[](#roverscheduledocs)

Generate schedule documentation.

```
vendor/bin/robo rover:schedule:docs
```

Creates `docs/SCHEDULE.md` with all scheduled commands.

---

### Performance &amp; Profiling

[](#performance--profiling)

#### `rover:profile`

[](#roverprofile)

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`

[](#rovern1)

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`

[](#roverbenchmark)

Benchmark database performance.

```
vendor/bin/robo rover:benchmark
```

Tests:

- Simple queries
- Database connection
- Overall performance

#### `rover:cache:warm`

[](#rovercachewarm)

Warm all application caches for optimal performance.

```
vendor/bin/robo rover:cache:warm
```

Caches:

- Configuration
- Routes
- Views
- Events

#### `rover:metrics`

[](#rovermetrics)

Show application metrics.

```
vendor/bin/robo rover:metrics
```

Displays:

- PHP and Laravel versions
- Cache sizes
- Log file size
- Database size

---

### Package Development

[](#package-development)

#### `rover:package:init`

[](#roverpackageinit)

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`

[](#roverpackagelink)

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`

[](#roverpackageunlink)

Unlink package and remove from project.

```
vendor/bin/robo rover:package:unlink vendor/package-name
```

#### `rover:package:test`

[](#roverpackagetest)

Run package tests in isolation.

```
vendor/bin/robo rover:package:test
vendor/bin/robo rover:package:test ../packages/vendor/package
```

#### `rover:package:publish`

[](#roverpackagepublish)

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`

[](#roverpackagedocs)

Generate package documentation.

```
vendor/bin/robo rover:package:docs
```

Creates README.md template with:

- Installation instructions
- Usage examples
- Testing commands
- Contributing guidelines

---

### Plugin System &amp; Extensibility

[](#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`

[](#roverpluginlist)

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`

[](#roverplugininfo)

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`

[](#roverplugincreate)

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 metadata
- `bootstrap.php` - Bootstrap file
- `src/Plugin.php` - Main plugin class
- `src/Commands/` - Command classes
- `README.md` - Documentation

#### `rover:plugin:enable`

[](#roverpluginenable)

Enable a plugin.

```
vendor/bin/robo rover:plugin:enable my-plugin
```

#### `rover:plugin:disable`

[](#roverplugindisable)

Disable a plugin.

```
vendor/bin/robo rover:plugin:disable my-plugin
```

#### `rover:plugin:validate`

[](#roverpluginvalidate)

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`

[](#roverpluginhooks)

List available plugin hooks.

```
vendor/bin/robo rover:plugin:hooks
```

Available hooks:

- `before_command` - Before any Rover command
- `after_command` - After any Rover command
- `project_init` - When initializing project
- `backup_created` - After backup creation
- `migration_run` - After migrations run
- `test_completed` - After tests complete
- `deployment_started` - When deployment starts
- `deployment_completed` - When deployment completes

#### Creating a Plugin

[](#creating-a-plugin)

1. **Create the plugin structure:**

```
vendor/bin/robo rover:plugin:create my-plugin
```

2. **Edit the plugin class** (`.rover/plugins/my-plugin/src/Plugin.php`):

```
