Laravel Devtoolbox

Laravel Devtoolbox stats

Downloads
120
Stars
11
Open Issues
0
Forks
1

View on GitHub →

Swiss-army artisan CLI for Laravel — Scan, inspect, debug, and explore every aspect of your Laravel application from the command line.

Laravel Devtoolbox

Laravel Devtoolbox

Swiss-army artisan CLI for Laravel — Scan, inspect, debug, and explore every aspect of your Laravel application from the command line.

✨ Features

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

📦 Installation

Install via Composer as a development dependency:

composer require --dev grazulex/laravel-devtoolbox

Requirements:

  • PHP 8.3+
  • Laravel 11.0+ | 12.0+

🚀 Quick Start

# 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

🔍 Available Commands

General Scanning & Analysis

  • dev:scan - Comprehensive application analysis with multiple scanner types
  • dev:about+ - Enhanced version of Laravel's about command with extended information

Model Analysis

  • dev:models - List and analyze all Eloquent models
  • dev:model:where-used - Find where specific models are used
  • dev:model:graph - Generate model relationship diagrams

Route Analysis

  • dev:routes - Inspect application routes
  • dev:routes:unused - Detect potentially unused routes
  • dev:routes:where - Find routes by controller/method (reverse lookup)

Database Analysis

  • dev:db:column-usage - Analyze database column usage across the Laravel application codebase
  • dev:sql:trace - Trace SQL queries for specific routes
  • dev:sql:duplicates - Analyze SQL queries for N+1 problems, duplicates, and performance issues

Security Analysis

  • dev:security:unprotected-routes - Scan for routes that are not protected by authentication middleware

Service & Container Analysis

  • dev:services - Examine service container bindings
  • dev:container:bindings - Analyze container bindings, singletons, and dependency injection mappings
  • dev:providers:timeline - Analyze service provider boot timeline and performance
  • dev:commands - List and analyze artisan commands

Middleware Analysis

  • dev:middleware - Analyze middleware classes and usage
  • dev:middlewares:where-used - Find where specific middleware is used

View Analysis

  • dev:views - Scan Blade templates and views

Environment & Logging

  • dev:env:diff - Compare environment configuration files
  • dev:log:tail - Monitor Laravel logs with real-time filtering and pattern matching

📊 Export Formats

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

Save to Files

# 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

🛠 Configuration

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

📚 Documentation

Comprehensive documentation and examples are available in our GitHub Wiki:

🔧 Examples & Automation

Daily Development Workflow

# Check application health
php artisan dev:scan --all --format=count
 
# Find cleanup opportunities
php artisan dev:routes:unused
php artisan dev:env:diff

CI/CD Integration

# 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

Documentation Generation

# 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.

🔍 Use Cases

  • 🔍 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

🆕 Version Compatibility

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.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

Laravel Devtoolbox is open-sourced software licensed under the MIT license.


Made with ❤️ for the Laravel community

Report IssuesDiscussionsWiki

Grazulex photo

Hi, I'm Jean‑Marc Strauven (aka @grazulex) — a passionate developer, open-source enthusiast, and clean-code advocate.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Grazulex Laravel Devtoolbox Related Articles

Laravel Devtoolbox: Your Swiss Army Knife Artisan CLI image

Laravel Devtoolbox: Your Swiss Army Knife Artisan CLI

Read article
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm