laravel-ai-debugger maintained by dakshraman
Description
AI Debugging Assistant for Laravel using local CLI tools (Claude, Gemini, Copilot, Codex)
Author
dakshraman
Last update
2026/03/20 10:29
(dev-copilot/fix-log-analysis-errors)
License
Downloads
3
laravel-ai-debugger
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