Herkobi panel için bir modül (composer paketi) yazmaya başlamanın çalışan iskeleti. İçinde çekirdeği tek satır düzenlemeden panele menü + rota + yetki + ekran ekleyen örnek bir Todo modülü var.
Modül tam bir Laravel kurulumu değildir — küçük bir composer paketidir ve bir host (Herkobi panel) içine takılır. React/shadcn/Tailwind paketin içinde yoktur; ekran
.tsx'leri host'un bileşenlerini@alias ile import eder ve host'un Vite'ı derler.
.
├─ composer.json # auto-discovery (extra.laravel.providers)
├─ module.json # install/uninstall manifesti
├─ src/
│ ├─ TodoServiceProvider.php # hook bağlamaları (rota/menü/yetki)
│ ├─ Models/Todo.php # HasUuids
│ ├─ Http/Controllers/TodoController.php
│ └─ TodoInstaller.php # opsiyonel kurulum kancası
├─ database/migrations/
│ └─ ..._create_todos_table.php
└─ resources/js/pages/panel/
└─ index.tsx # publish edilecek ekran
Host = çalışan bir Herkobi panel checkout'u. Modülü panelin dışında ayrı bir klasörde geliştirip panele symlink ile bağlarsın:
- Bu repo'yu klonla/kopyala (ör.
../herkobi-todo). - Panelin
composer.json'una geçici path repository ekle: - Panelde:
composer require herkobi/todo:@dev php artisan herkobi:install todo # publish + migrate + yetki seed npm run build # publish edilen index.tsx'i derle
- Sidebar'da Platform → Görevler görünür (Super Admin'de hemen; diğerlerinde
Yetkiler/Roller'den
panel.todos.*atanınca).
Windows: symlink için Geliştirici Modu açık olmalı; değilse composer kopyalar (çalışır ama her değişiklikte
composer update herkobi/todo).
todo / Todo / Herkobi\Todo / todos geçen yerleri kendi modülünle değiştir:
-
composer.json→name, psr-4 namespace,extra.laravel.providers -
module.json→key,name,provider,publishhedefi -
src/*→ namespace, sınıf adları, rota/menü/yetki adları -
database/migrations/*→ tablo adı -
resources/js/pages/panel/index.tsx→ ekran - Yetki adları rota adlarıyla eşleşmeli (
route_permissionkonvansiyonu)
git init && git add . && git commit -m "İlk modül"
# GitHub'a push → kullananlar kendi panelinde:
# composer require herkobi/<key>
# php artisan herkobi:install <key>
# npm run buildphp artisan herkobi:uninstall <key> # composer remove'dan ÖNCE
composer remove herkobi/<key>Modül sözleşmesini Claude Code'a öğreten skill, ayrı bir repo'dan plugin olarak dağıtılır (tek kaynak). Kurulduktan sonra bu repo'da (ve her projede) otomatik devreye girer:
/plugin marketplace add herkobi/skills
/plugin install herkobi-modules@herkobi