dakshraman / laravel-ai-debugger
AI Debugging Assistant for Laravel using local CLI tools (Claude, Gemini, Copilot, Codex)
Requires
- php: ^8.1
- illuminate/console: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
This package is auto-updated.
Last update: 2026-04-20 09:39:01 UTC
README
A local-first AI debugging assistant for Laravel using CLI tools like Claude, Gemini CLI, GitHub Copilot, and OpenAI Codex. Zero API cost — everything runs through your locally installed CLI tools.
Features
- ✅ Local AI-powered error analysis (no API key required)
- ✅ Works with Claude, Gemini CLI, GitHub Copilot, and OpenAI Codex
- ✅ Plug-and-play Laravel package with auto-discovery
- ✅ Artisan command:
php artisan debug:analyze - ✅ Facade for inline usage:
AIDebugger::analyze($trace) - ✅ Extensible driver system
Requirements
- PHP 8.1+
- Laravel 10, 11, or 12
- One of the following CLI tools installed and in your
$PATH:- claude — Anthropic Claude CLI
- gemini — Google Gemini CLI
- gh copilot — GitHub Copilot CLI
- codex — OpenAI Codex CLI
Installation
composer require dakshraman/laravel-ai-debugger
The service provider and facade are registered automatically via Laravel's package auto-discovery.
Publish the config file
php artisan vendor:publish --tag=config
This publishes config/ai-debugger.php.
Configuration
Set your preferred AI driver in .env:
AI_DEBUGGER_DRIVER=claude # Options: claude, gemini, copilot, codex
Or edit config/ai-debugger.php directly:
return [ 'driver' => env('AI_DEBUGGER_DRIVER', 'claude'), 'log_path' => env('AI_DEBUGGER_LOG_PATH', storage_path('logs/laravel.log')), ];
Usage
Artisan Command
Analyze your Laravel log file:
php artisan debug:analyze
Point to a specific log file:
php artisan debug:analyze --file=/path/to/custom.log
Facade
use AIDebugger; $result = AIDebugger::analyze($exception->getMessage()); // $result = [ // 'root_cause' => '...', // 'fix' => '...', // 'steps' => [...], // ]
Auto-hook (Optional)
Register in your AppServiceProvider to automatically analyze every reported exception:
use Illuminate\Support\Facades\Log; public function register(): void { $this->app->reportable(function (\Throwable $e) { Log::info('AI Debug Analysis', app('ai-debugger')->analyze($e->getMessage())); }); }
Extending with a Custom Driver
Implement Dakshraman\AIDebugger\AI\AIInterface:
use Dakshraman\AIDebugger\AI\AIInterface; class MyCustomDriver implements AIInterface { public function analyze(string $input): string { // Call your AI tool and return the response string return shell_exec('echo ' . escapeshellarg($input) . ' | my-ai-tool'); } }
Then bind it in a service provider or extend AIDriverManager.
License
MIT