Swiss-army artisan CLI for Laravel β Scan, inspect, debug, and explore every aspect of your Laravel application from the command line.
Laravel Devtoolbox provides comprehensive analysis tools for Laravel applications:
- π Deep Application Scanning - Complete analysis of models, routes, services, and more
- π§ Model Introspection - Analyze Eloquent models, relationships, and usage patterns
- π£οΈ Route Analysis - Inspect routes, detect unused ones, and analyze middleware
- π¦ Service Container Analysis - Examine bindings, singletons, and providers
- βοΈ Environment Auditing - Compare configuration files and detect inconsistencies
- π SQL Query Tracing - Monitor and analyze database queries for specific routes
- π Multiple Export Formats - JSON, Markdown, Mermaid diagrams, and more
- π Developer Experience - Rich console output with actionable insights
Install via Composer as a development dependency:
composer require --dev grazulex/laravel-devtoolbox
Requirements:
- PHP 8.3+
- Laravel 11.0+ | 12.0+
# See all available commands
php artisan list dev:
# Enhanced application overview (new!)
php artisan dev:about+ --extended --performance
# Quick health check of your application
php artisan dev:scan --all
# Find where a model is used
php artisan dev:model:where-used App\Models\User
# Detect unused routes
php artisan dev:routes:unused
# Find routes by controller (reverse lookup - new!)
php artisan dev:routes:where UserController
# Generate model relationship diagram
php artisan dev:model:graph --format=mermaid --output=models.mmd
# Trace SQL queries for a route
php artisan dev:sql:trace --route=dashboard
# Analyze SQL queries for N+1 problems (new!)
php artisan dev:sql:duplicates --route=users.index --threshold=3
# Monitor logs in real-time (new!)
php artisan dev:log:tail --follow --level=error
# Compare environment files
php artisan dev:env:diff --against=.env.example
# Analyze database column usage
php artisan dev:db:column-usage --unused-only
# Security scan for unprotected routes
php artisan dev:security:unprotected-routes --critical-only
# Analyze container bindings (new!)
php artisan dev:container:bindings --show-resolved
# Service provider performance analysis (new!)
php artisan dev:providers:timeline --slow-threshold=100
dev:scan
- Comprehensive application analysis with multiple scanner typesdev:about+
- Enhanced version of Laravel's about command with extended information
dev:models
- List and analyze all Eloquent modelsdev:model:where-used
- Find where specific models are useddev:model:graph
- Generate model relationship diagrams
dev:routes
- Inspect application routesdev:routes:unused
- Detect potentially unused routesdev:routes:where
- Find routes by controller/method (reverse lookup)
dev:db:column-usage
- Analyze database column usage across the Laravel application codebasedev:sql:trace
- Trace SQL queries for specific routesdev:sql:duplicates
- Analyze SQL queries for N+1 problems, duplicates, and performance issues
dev:security:unprotected-routes
- Scan for routes that are not protected by authentication middleware
dev:services
- Examine service container bindingsdev:container:bindings
- Analyze container bindings, singletons, and dependency injection mappingsdev:providers:timeline
- Analyze service provider boot timeline and performancedev:commands
- List and analyze artisan commands
dev:middleware
- Analyze middleware classes and usagedev:middlewares:where-used
- Find where specific middleware is used
dev:views
- Scan Blade templates and views
dev:env:diff
- Compare environment configuration filesdev:log:tail
- Monitor Laravel logs with real-time filtering and pattern matching
All commands support multiple output formats:
Format | Usage | Best For |
---|---|---|
Array/Table | --format=array (default) |
Interactive development |
JSON | --format=json |
Automation, CI/CD |
Count | --format=count |
Quick metrics |
Mermaid | --format=mermaid |
Documentation, diagrams |
# Export to JSON
php artisan dev:models --format=json --output=models.json
# Generate Mermaid diagram
php artisan dev:model:graph --format=mermaid --output=relationships.mmd
# Save comprehensive scan
php artisan dev:scan --all --format=json --output=app-analysis.json
Publish the configuration file to customize behavior:
php artisan vendor:publish --tag=devtoolbox-config
This creates config/devtoolbox.php
where you can customize:
- Default output formats
- Scanner-specific options
- Performance settings
- Export configurations
Comprehensive documentation and examples are available in our GitHub Wiki:
- Getting Started - Quick start guide
- Commands Reference - Detailed command documentation
- Configuration - Configuration options
- Examples & Use Cases - Practical usage examples
- CI/CD Integration - Automation workflows
- Output Formats - Export format examples
# Check application health
php artisan dev:scan --all --format=count
# Find cleanup opportunities
php artisan dev:routes:unused
php artisan dev:env:diff
# Quality gates in CI
UNUSED_ROUTES=$(php artisan dev:routes:unused --format=count | jq '.count')
if [ $UNUSED_ROUTES -gt 10 ]; then
echo "Too many unused routes: $UNUSED_ROUTES"
exit 1
fi
# Generate project documentation
php artisan dev:models --format=json --output=docs/models.json
php artisan dev:model:graph --format=mermaid --output=docs/relationships.mmd
php artisan dev:routes --format=json --output=docs/routes.json
For complete automation scripts and CI/CD configurations, visit our Wiki Examples.
- π Code Reviews - Generate comprehensive application overviews
- π Performance Analysis - Identify slow queries and bottlenecks
- π§Ή Technical Debt - Find unused routes, orphaned models, and inconsistencies
- π Documentation - Auto-generate up-to-date application structure docs
- β‘ CI/CD Quality Gates - Automated quality checks and thresholds
- π― Onboarding - Help new team members understand application structure
Laravel Devtoolbox | PHP Version | Laravel Version | Status |
---|---|---|---|
1.x | 8.3+ | 11.x | 12.x | β Active |
Note: This package now fully supports both Laravel 11 and Laravel 12, ensuring compatibility across the latest LTS and current releases.
We welcome contributions! Please see our Contributing Guide for details.
Laravel Devtoolbox is open-sourced software licensed under the MIT license.
Made with β€οΈ for the Laravel community
Report Issues β’ Discussions β’ Wiki