Laravel Starter Kit — Laravel 13 için topluluk odaklı başlangıç kiti

Laravel 13 için topluluk odaklı başlangıç kiti. Inertia.js, Vue 3, PrimeVue, TypeScript ve Domain-Driven Design ile gelir.

Güncel sürüm: v13.8.2 · GitHub · Packagist · MIT lisansıyla açık kaynak.

Kurulum

laravel new my-app && cd my-app
composer require lvntr/laravel-starter-kit:^13.7
php artisan sk:install

Özellikler

Kimlik Doğrulama & 2FA

Web için Fortify, API için Passport OAuth2. Giriş, kayıt, şifre sıfırlama, e-posta doğrulama ve oturum yönetimi — hepsi hazır.

Roller & Yetkiler

Spatie Permission üzerine yapılandırma tabanlı RBAC. Dinamik middleware, route isimlerinden yetkileri otomatik çözer.

DataTable & FormBuilder

Fluent API'li sunucu taraflı DataTable. 12+ alan türü, Inertia submit ve dinamik seçenek yükleme destekli FormBuilder.

Domain-Driven Design

İş mantığı app/Domain altında — Actions, DTOs, Events, Listeners, Repositories. Tek komutla tam bir domain iskelesi oluşur.

Tip-güvenli route'lar

Wayfinder, TypeScript route ve action client'larını üretir. Vue kodunuzda artık string tabanlı route() çağrılarına gerek yok.

Hazır i18n

Laravel lang/ dosyaları laravel-vue-i18n ile Vue içinde kullanılabilir. Locale bazlı lazy-load ile bundle hafif kalır.

İşlem Kayıtları

Spatie Activity Log ile otomatik model aktivite kaydı. Admin panelinde DataTable ve detay dialog'u ile birlikte hazır gelir.

Medya Kütüphanesi

Spatie Media Library ile dosya yükleme ve yönetimi. API tabanlı yüklemeler için yeniden kullanılabilir controller.

FileManager

Media Library üzerine Windows Explorer tarzı UI — iç içe klasörler, tile bazlı progress'li drag & drop upload, preview modal, bulk taşıma/silme. Her Eloquent model için pluggable context.

Tutarlı API zarfı

Her API yanıtı tek bir zarf kullanır — success, status, message, data, meta, trace_id. to_api() ve ApiResponse ile kurulur.

API İstemci Yönetimi

Passport istemcileri ve Personal Access Token'lar için tam admin arayüzü. Sırlar yalnızca oluşturulduğunda görünür, bir daha asla. authorization_code, client_credentials ve PAT grant'larını kapsar.

Sistem Sağlığı

sk:doctor 17 kontrol noktasını denetler — PHP eklentileri, Node sürümü, veritabanı, Redis, Passport anahtarları, depolama, log kanalları, queue driver ve çalışan queue worker, scheduler, posta, npm build, config cache, FileManager diski ve tema manifest'i. Sonuçlar /admin/system-health'te görselleştirilir.

AI Skill'leri (Claude Code & Codex)

Kit kendi convention'larını yapay zeka kodlama asistanlarına öğretir. Kendi kendine yeten üç skill — çekirdek kurallar, backend/DDD ve frontend builder'lar — sk:install ile .claude/skills/ dizinine kurulur, Codex CLI için .codex/skills/ dizinine aynalanır ve eşleşen dosyalara dokunduğunuzda otomatik tetiklenir.

Override'a Hazır Tema Sistemi

themes/main slot ağacı (token, layout, component) ve opt-in themes/custom katmanı ile AppShell / AdminLayout kompozisyonu. Tek bir bileşenin CSS'ini ya da tüm paleti VITE_SK_THEME ile build aşamasında override edin.

Sık sorulan sorular

Laravel Starter Kit (lvntr/laravel-starter-kit) nedir?

Laravel 13 için Composer paketi olarak dağıtılan, admin-öncelikli bir başlangıç kitidir. Boş bir panel yerine; kimlik doğrulama, rol ve yetkiler, ayarlar, işlem kayıtları, dosya yöneticisi, API istemci/token yönetimi ve sistem sağlığı ekranları birbirine bağlanmış halde gelir. Stack: Laravel 13, PHP 8.4+, Inertia.js v3, Vue 3, PrimeVue 4, Tailwind CSS 4 ve TypeScript.

Laravel Breeze, Jetstream veya Filament’tan farkı nedir?

Breeze ve Jetstream kimlik doğrulama iskelesinde durur — giriş sonrasındaki her şeyi siz yazarsınız. Filament, kendi PHP tabanlı UI katmanı olan bir admin panel builder’ıdır. Bu kit ikisinin arasındadır: bitmiş bir Inertia + Vue admin uygulaması (kullanıcılar, roller, yetkiler, ayarlar, dosyalar, loglar, API istemcileri) ve fluent DataTable/FormBuilder/TabBuilder API’leri alırsınız; sayfalar açıp düzenleyebileceğiniz sıradan Vue single-file component olarak kalır. Runtime vendor’dan çalışır, yani `composer update` düzeltmeleri getirmeye devam eder; ihtiyaç duyduğunuzda `sk:eject` bir domain’in tam sahipliğini uygulamanıza verir.

Minimum gereksinimler neler?

PHP 8.4+, Composer, Laravel 13, Node.js 20.19+ (Vite 7 motor tabanı), npm ve MySQL ya da MariaDB. Beklenen başlangıç noktası temiz bir Laravel 13 projesidir.

Nasıl kurulur?

Üç komut: `laravel new projem`, `composer require lvntr/laravel-starter-kit:^13.7`, ardından `php artisan sk:install`. Önce `php -v` çıktısının 8.4 veya üstü olduğunu doğrulayın ve kiti gevşek bir `:^13.0` yerine `:^13.7` ile ekleyin — geniş bir aralık, Composer'ın gerçek sebebi hata olarak vermek yerine PHP 8.3'e uyan eski bir sürüme sessizce inmesine yol açar. Kurulum; Node.js ön kontrolünü yapar, iskeleyi yayınlar, veritabanını yapılandırır, migration ve seeder’ları çalıştırır, Passport anahtarlarını üretir, admin kullanıcısını oluşturur ve frontend’i derler. Bir adım hata verirse ilerleme kaydedilir — `php artisan sk:install --resume` baştan başlamak yerine hatalı adımdan devam eder.

Saat dilimlerini nasıl yönetiyor?

Timestamp değerleri UTC olarak saklanır ve yalnızca gösterim ile tarih filtresi sınırlarında dönüştürülür. `APP_TIMEZONE` `UTC` kalır, site geneli gösterim fallback'i `APP_DISPLAY_TIMEZONE` (ya da Ayarlar → Genel) üzerinden gelir ve her kullanıcı bunu profilinden değiştirebilir — çözüm zinciri hem backend hem frontend'de kullanıcı → site → uygulama → UTC şeklindedir. MySQL ve MariaDB bağlantıları `+00:00` değerine sabitlenir; böylece `TIMESTAMP` kolonları oturum saat dilimiyle kaydırılmaz ve `sk:doctor --only=timezone-storage` her ikisini de doğrular. Mevcut kurulumlar bir kez `php artisan sk:upgrade` çalıştırır; komut config'i günceller ama satırları dönüştürmez, bu yüzden Saat Dilimleri dokümanındaki tek seferlik dönüşüm rehberini izleyin.

Özelleştirmelerimi kaybetmeden nasıl güncelleme yapılır?

`composer update lvntr/laravel-starter-kit` yeni paketi çeker, ardından `php artisan sk:update` yayınlanmış dosyaları hash takibiyle senkronlar: dokunulmamış dosyalar güncellenir, değiştirdikleriniz korunur ve raporlanır. Runtime vendor-first olduğu için sürümlerin çoğu hiç dosya değişikliği gerektirmez. `php artisan sk:update --dry-run` uygulamanıza dokunmadan önce her şeyi önizler.

Bir modülü özelleştirebilir ya da tamamen sahiplenebilir miyim?

Evet. `php artisan sk:eject <Domain>` bir domain’in backend sınıflarını ve Vue sayfalarını uygulamanıza kopyalar, namespace’leri yeniden yazar ve event bağlarını kurar — sonrasında kod sizindir ve kit güncellemelerini almaz. `sk:publish --tag=<tag>` tek tek kaynakları (config, lang, helper, stub) seçmeli yayınlar; tema sistemi ise hiçbir şeyi eject etmeden `VITE_SK_THEME` ile tek bir bileşenin CSS’ini ya da tüm paleti override etmenizi sağlar.

AI kodlama asistanlarıyla çalışır mı?

Evet. v13.6.12’den itibaren kit, asistana kendi convention’larını, katı kurallarını ve builder API’lerini öğreten üç AI skill’i ile geliyor. `sk:install` bunları Claude Code için `.claude/skills/` dizinine yayınlar ve OpenAI Codex CLI’ın native okuduğu `.codex/skills/` dizinine aynalar. Asistan eşleşen dosyalara dokunduğunda otomatik tetiklenirler; `--without-ai-skill` ile tamamen devre dışı bırakılır.

Lisansı nedir — ticari projede kullanabilir miyim?

Evet. v13.6.13’ten itibaren kit MIT lisanslı (önceden PolyForm Noncommercial 1.0.0). Ticari kullanım kısıtlamasız serbest — telif ve izin bildirimi yerinde kaldığı sürece kapalı kaynak ve ücretli ürünlerin içinde dağıtabilirsiniz.

Üretime hazır mı?

Kit aktif geliştirme altında ve dokümantasyon bunu açıkça söylüyor: dizin yapısı ve çekirdek sınıflar sürümler arasında değişebilir, bir yükseltme UPGRADE.md’de belgelenen manuel adımlar gerektirebilir. Gerçek admin panellerinde kullanılıyor ve sürümler güvenlik/kalite işleri taşıyor (fail-closed izin kontrolleri, login throttle, audit-log kapsamı, klavye erişilebilirliği) — ama sürümü sabitleyin, yükseltmeden önce changelog’u okuyun ve major hat değişimlerini planlı bir migrasyon gibi ele alın.

DataTable ve FormBuilder API’si nasıl görünüyor?

İkisi de çıktısı Vue bileşenlerini süren fluent PHP builder’larıdır. DataTable; sunucu taraflı sayfalama, arama, sıralama, filtreler, toplu işlemler ve sayfalar arası seçimi yönetir. FormBuilder; zengin metin, çevrilebilir alanlar, dosya yükleme, dinamik seçenek yükleme, kart bölümleri, yetkiye bağlı salt-okunur mod ve kaydedilmemiş değişiklik koruması dahil 12+ alan tipini kapsar. Sayfalar düzenlenebilir Vue SFC olarak kalır, istediğiniz noktada düz markup’a inebilirsiniz.