Açık kaynaklı bir Laravel paketi yayınladım. Bu paket, Laravel uygulamalarınızda Claude Code ile güçlendirilmiş AI ajanları oluşturmanıza olanak tanır.
Problem
Problem
Claude Code, dosyaları okuyabilen, kodları düzenleyebilen, bash komutları çalıştırabilen, internette arama yapabilen ve alt ajanlara devredebilme yeteneğine sahip son derece güçlü bir ajandır. Ancak, bu bir CLI aracıdır. Eğer bu yetenekleri bir Laravel uygulaması içinde kullanmak istiyorsanız (otomatik kod incelemeleri, AI destekli yönetim araçları, ajan tabanlı iş akışları), programatik bir arayüze ihtiyacınız var.
Çözüm
Çözüm
Claude Agent SDK for Laravel, Claude Code CLI’yi sarar ve size akıcı bir PHP API sağlar.
composer require mohamed-ashraf-elsaed/claude-agent-sdk-laravel
Hızlı Başlangıç
Hızlı Başlangıç
use ClaudeAgentSDK\Facades\ClaudeAgent;
$result = ClaudeAgent::query('What files are in this directory?');
echo $result->text(); // Final text result
echo $result->costUsd(); // Cost in USD
echo $result->sessionId; // Session ID for resuming
Akıcı Seçenekler Yapıcı
Akıcı Seçenekler Yapıcı
use ClaudeAgentSDK\Options\ClaudeAgentOptions;
$options = ClaudeAgentOptions::make()
->tools(['Read', 'Edit', 'Bash', 'Grep', 'Glob'])
->permission('acceptEdits')
->maxTurns(10)
->model('claude-sonnet-4-5-20250929')
->cwd(base_path());
$result = ClaudeAgent::query('Find and fix the bug in auth.php', $options);
Gerçek Zamanlı Akış
Gerçek Zamanlı Akış
Frontend’inize WebSockets üzerinden ilerlemenin iletilmesi için mükemmel:
$result = ClaudeAgent::streamCollect([
prompt: 'Create a REST API for products',
onMessage: function ($message) {
if ($message instanceof AssistantMessage) {
broadcast(new AgentProgress($message->text()));
}
},
]);
Alt Ajanlar
Alt Ajanlar
Claude’nun görevleri devrettiği uzmanlaşmış ajanlar tanımlayın:
$options = ClaudeAgentOptions::make()
->tools(['Read', 'Grep', 'Task'])
->agent('security-reviewer', new AgentDefinition(
description: 'Security code review specialist',
prompt: 'Find vulnerabilities in PHP/Laravel code.',
tools: ['Read', 'Grep', 'Glob'],
))
->agent('test-writer', new AgentDefinition(
description: 'PHPUnit test writer',
prompt: 'Write comprehensive PHPUnit tests.',
tools: ['Read', 'Write', 'Bash'],
));
Yapılandırılmış Çıktı
Yapılandırılmış Çıktı
Bir şemaya uygun doğrulanmış JSON almak için:
$options = ClaudeAgentOptions::make()
->outputFormat([
'type' => 'object',
'properties' => [
'issues' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'file' => ['type' => 'string'],
'severity' => ['type' => 'string'],
'message' => ['type' => 'string'],
],
],
],
],
]);
$data = ClaudeAgent::query('Find TODOs in src/', $options)->structured();
Oturum Yönetimi
Oturum Yönetimi
Sohbetleri talepler arasında sürdürün:
$result1 = ClaudeAgent::query('Read the auth module');
$sessionId = $result1->sessionId;
// Daha sonra — tam bağlam ile devam edin.
$result2 = ClaudeAgent::query(
'Now add email verification',
ClaudeAgentOptions::make()->resume($sessionId),
);
MCP Sunucu Entegrasyonu
MCP Sunucu Entegrasyonu
Dış araçları Model Context Protocol aracılığıyla bağlayın:
use ClaudeAgentSDK\Tools\McpServerConfig;
$options = ClaudeAgentOptions::make()
->mcpServer('database', McpServerConfig::stdio([
command: 'npx',
args: ['@modelcontextprotocol/server-database'],
env: ['DB_URL' => config('database.url')],
]));
Tüm Özellikler Listesi
Tüm Özellikler Listesi
- IDE otomatik tamamlama ile akıcı seçenekler yapıcı
- Gerçek zamanlı mesaj işleme ile akış
- Alt ajan devretme
- MCP sunucu entegrasyonu (stdio + SSE)
- JSON şemasına uygun yapılandırılmış çıkış
- Oturum devamı ve fork
- Tam mesaj/içerik blok ayrıştırma
- Laravel servis sağlayıcı, facade, yapılandırma yayınlama
- PHP 8.1-8.4, Laravel 10/11/12
- Tam test seti
Bağlantılar
Bağlantılar
Geri bildirim veya özellik talepleriniz varsa, GitHub’da bir sorun açın. Katkılar hoş karşılanır!
Kaynak: Orijinal Makale


