Download the PHP package aldhi88/starterkit-larawire-agentic without Composer
On this page you can find all versions of the php package aldhi88/starterkit-larawire-agentic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download aldhi88/starterkit-larawire-agentic
More information about aldhi88/starterkit-larawire-agentic
Files in aldhi88/starterkit-larawire-agentic
Package starterkit-larawire-agentic
Short Description An Agentic AI-ready Laravel and Livewire starter kit for secure, modular internal company applications.
License proprietary
Homepage https://starterkit-larawire.altekno.id/
Informations about the package starterkit-larawire-agentic
Starterkit Larawire Agentic
Bahasa Indonesia · English
Website resmi · Dokumentasi · Packagist
Starterkit Larawire dibangun menggunakan dan mengapresiasi karya Laravel, Livewire, Livewire PowerGrid, Tabler, Laravel Lang, Scramble, dan Pest.
Versi minimum Laravel: 13.8. Constraint Composer pada setiap release menentukan versi yang sudah diuji; dukungan major Laravel baru ditambahkan setelah lolos compatibility test.
A. Tentang
Apa itu Starterkit Larawire Agentic?
Bayangkan Starterkit Larawire seperti Laravel authentication starter kit dengan fondasi yang lebih lengkap. Package ini menyiapkan project aplikasi internal perusahaan baru dengan fitur yang biasanya dibuat berulang kali:
- login menggunakan username atau email, dengan OTP email opsional;
- Superuser, user, role, dan authorization berdasarkan module;
- profil perusahaan dan pengaturan keamanan;
- log aktivitas;
- pemisahan App dan subdomain;
- sinkronisasi route, module, dan menu dari source code;
- tabel menggunakan Livewire PowerGrid;
- API gateway dan dokumentasi OpenAPI opsional;
- layout vertical dan horizontal; serta
- kontrak development AGENTS AI.
Satu instalasi digunakan untuk satu perusahaan/client, bukan SaaS multi-tenant.
Cara kerja App dan subdomain
Misalnya kamu membuat ERP internal dengan bagian Sales, HR, Gudang, dan Karyawan. Setiap bagian dapat dipisahkan menjadi App:
| App | Contoh alamat | Tanggung jawab |
|---|---|---|
| Sales | sales.company.test |
Prospek, penawaran, dan penjualan |
| HR | hr.company.test |
Rekrutmen dan proses HR |
| Gudang | gudang.company.test |
Stok dan pergerakan barang |
| Karyawan | karyawan.company.test |
Layanan mandiri karyawan |
Semua App tetap menggunakan satu project Laravel, database, profil perusahaan, dan sesi login. Subdomain hanya memisahkan area kerja, bukan membuat instalasi Laravel yang berbeda.
Di production, arahkan domain utama dan semua subdomain App ke directory
Laravel public/ yang sama. Wildcard DNS seperti *.company.com dapat dipakai
jika didukung hosting.
File yang biasa diedit developer
Setiap App memiliki konfigurasi dan source fiturnya sendiri:
Buat struktur awal menggunakan:
File route menentukan halaman yang tersedia. config/apps/<app>.php
menghubungkan route dengan module dan menu. Menu hanya navigasi; module adalah
batas authorization yang sebenarnya. Setiap menu baru menuliskan atribut
boolean visible; gunakan false untuk menyembunyikannya dari navigasi tanpa
mengubah akses route atau kandidat halaman awal. Config lama yang belum memiliki
atribut tersebut tetap diperlakukan sebagai visible => true.
Parent yang disembunyikan juga menyembunyikan seluruh turunannya dari navigasi.
Mengatur akses role secara dinamis
Administrator memberikan module kepada role melalui halaman Pengaturan. Satu role dapat membuka satu atau beberapa App, dan setiap App mempunyai halaman awal yang dipilih. Superuser selalu memiliki akses penuh dan dilindungi sebagai akun sistem tersembunyi.
Setelah route, module, atau menu berubah, sinkronkan metadata source code:
Validasi manusia saat login
Fresh install mengaktifkan tantangan lima angka unik pada form login. Angka dirender sebagai gambar server-side, disimpan sebagai hash di session, memiliki masa berlaku terbatas, dan diganti setelah jawaban salah. Pengaturan dapat diubah melalui environment:
OTP login opsional
Aktifkan verifikasi OTP email setelah password benar melalui environment:
OTP terdiri dari enam digit, berlaku lima menit, dan dibatasi hingga lima
percobaan. Pengiriman ulang tersedia setelah 60 detik dan dibatasi tiga kali
dalam jendela lima menit. Flow ini memakai mailer dan queue Laravel yang aktif;
payload job dienkripsi dan dikirim setelah transaction commit. Queue sync
mengirim inline, sedangkan backend durable memerlukan worker aktif. Flow juga
mencatat security audit event dan menonaktifkan remember-me agar sesi tidak dapat
hidup kembali tanpa bukti OTP. Nilai default false mempertahankan flow login
lama.
Authenticator two-factor
Aktifkan atau nonaktifkan fitur two-factor authentication berbasis TOTP secara global melalui environment:
Saat aktif, user dapat melakukan aktivasi dari tab Keamanan di halaman profil.
Setup menyediakan QR code yang kompatibel dengan Google Authenticator,
verifikasi sebelum aktivasi, serta kode pemulihan sekali tampil. Kode
authenticator kemudian diminta pada setiap login setelah password dan OTP email
opsional berhasil diverifikasi. Nilai false menyembunyikan panel aktivasi dan
melewati tahap authenticator tanpa menghapus secret milik user, sehingga
proteksi kembali berlaku saat fitur diaktifkan lagi.
Theme dan layout
Starterkit menyediakan theme dengan layout vertical dan horizontal:
| Theme | Lisensi source | Catatan |
|---|---|---|
| Tabler | MIT | Bebas digunakan sesuai lisensi Tabler |
| DashCode | Komersial | Lisensi dikelola owner untuk project internal tim |
| Vuexy 3.0.0 | Komersial, lokal/privat | Penggunaan pribadi/internal berlisensi; package dan browser matrix terverifikasi |
Pilihan disimpan di environment:
Developer dapat memberi warna brand yang berlaku di landing, login, dan aplikasi
tanpa mengubah CSS template. Isi ketiganya sebagai hex enam digit dalam
tanda kutip di .env aplikasi Laravel:
PRIMARY dipakai untuk tombol dan navigasi utama, SECONDARY untuk elemen
pendukung, dan ACCENT untuk sorotan/fokus. Starterkit membentuk warna hover,
teks, dan latar lembut dari ketiganya; warna status sukses, peringatan, dan
bahaya tetap mengikuti makna template. Biarkan ketiga nilai kosong untuk warna
asli template. Setelah mengubah .env pada instalasi yang memakai cache
konfigurasi, jalankan php artisan config:cache.
Jika ada nilai yang tidak lengkap atau tidak valid, halaman tetap memakai warna
asli; starter:sync dan validasi deployment menolak konfigurasi tersebut.
Pemetaan warna tiap template berada dalam file terpisah:
resources/themes/<theme>/brand-palette.css. File ini memetakan tiga warna
tersebut ke variabel dan komponen asli template aktif; stylesheet bawaan vendor
dan runtime/css/<theme>.css tidak perlu diedit untuk mengganti brand. Saat
menambah template, sertakan file palette dengan nama dan lokasi yang sama.
Tombol primary memakai brand primary, tombol secondary memakai brand secondary,
termasuk state interaksinya. Tombol danger, warning, default, light, dark, dan
varian semantic lain mempertahankan warna asli template.
Wizard starter:install meminta pilihan Tabler, DashCode, atau Vuexy beserta layout.
Vuexy memerlukan archive runtime berlisensi dari owner: verifikasi checksum
VUEXY_SHA256SUMS, lalu ekstrak vuexy.zip ke theme-intake/vuexy/ pada host
lokal sebelum instalasi. Archive ini berisi runtime/, diabaikan Git pada
repository template, dan tidak tersedia melalui downloader publik. Installer
memvalidasi seluruh file terhadap manifest sebelum mempublikasikannya.
Aset runtime minimum theme open-source diunduh otomatis dari arsip GitHub yang
dipin, diperiksa ukuran dan checksum-nya, lalu dipublikasikan ke
public/assets/<theme>/. Vuexy memakai runtime lokal berlisensi yang diverifikasi
terhadap manifest dan tidak memiliki downloader publik. Tidak ada copy template
demo manual; source vendor dan halaman demo DashCode/Vuexy tidak didistribusikan.
Runtime komersial ditujukan untuk project internal yang berada di bawah lisensi
vendor milik owner repository.
Semua theme mempertahankan layout halaman, hierarki konten, jenis dan jumlah
komponen, urutan, grouping, penempatan, serta density yang sama. Perbedaannya
hanya kosmetik dan wrapper yang diwajibkan vendor. Custom integration asset
setiap theme wajib bernama css/<theme-key>.css dan js/<theme-key>.js.
Archive dikelola terpisah di
starterkit-larawire-agentic-template.
Hasil runtime public/assets/<theme>/ wajib di-commit bersama project Laravel.
Production menggunakan hasil tersebut dan tidak mengunduh arsip theme.
Untuk menambah theme, taruh distribusi HTML/aset vendor di theme-intake/<theme-key>/, lalu instruksikan agent AI:
Agent wajib menangani audit lisensi, indexing seluruh HTML, filtering aset, seluruh halaman/komponen starter, kedua layout, PowerGrid, dan pengujian. Source demo penuh serta aset vendor tetap hanya di intake lokal/arsip pemilik; indeks, recipe, implementasi, dan peta referensinya masuk ke core package.
Mode AGENTS AI
Installer menambahkan blok terkelola ke AGENTS.md project Laravel. Blok ini
mengarahkan agent AI ke aturan arsitektur, keamanan, testing, UI, theme, dan
development fitur di dalam Composer package. Fitur aplikasi tetap dibuat pada
project Laravel; vendor/aldhi88/starterkit-larawire-agentic bersifat read-only.
B. Instalasi
Instalasi local pertama kali
Persiapkan:
- project Laravel fresh;
- koneksi database yang benar di
.env; dan - domain lokal utama pada
APP_URL.
Dari root project Laravel:
Tidak perlu mengunduh atau menyalin template secara manual. Installer akan mengunduh aset Tabler dari GitHub setelah theme dipilih dan memvalidasinya sebelum source atau database project diubah.
Contoh .env:
Jalankan installer:
Wizard meminta theme (Tabler, DashCode, atau Vuexy lokal berlisensi), layout vertical/horizontal, lalu lima identitas berikut:
| Pertanyaan | Boleh memakai spasi? | Contoh input |
|---|---|---|
| Nama perusahaan/client | Ya | PT Maju Bersama |
| Nama App pertama | Ya | Human Resources |
| Domain/subdomain App | Tidak | hr |
| Email Superuser | Tidak | [email protected] |
| Password Superuser | Tidak | dimasukkan melalui prompt tersembunyi |
Untuk domain App, masukkan hanya bagian subdomain tanpa titik dan tanpa domain
utama. Contoh hr akan menjadi hr.company.test jika APP_URL menggunakan
company.test.
Installer menjelaskan perubahan destruktif, mengonfirmasi APP_URL, menjalankan
wizard identitas, mengonfirmasi koneksi database, lalu memeriksa source Laravel.
Jika database yang dikonfirmasi belum ada, installer membuatnya otomatis selama
akun database memiliki izin CREATE DATABASE. SQLite juga dibuat otomatis jika
file database belum ada. Jika source tidak lagi fresh, instalasi berhenti sebelum
mengubah file atau data. Jika source fresh sudah menjalankan migration, installer
meminta satu konfirmasi tambahan.
Username Superuser selalu superuser. Password hanya dibaca melalui prompt
tersembunyi, langsung disimpan sebagai hash, dan tidak pernah ditulis ke .env,
argumen command, log, atau file sementara.
Password local boleh sederhana agar development praktis, tetapi tetap wajib
diisi dan dikonfirmasi. Saat starter:deploy perlu membuat Superuser pada
database production kosong, password wajib minimal 6 karakter serta mengandung
huruf besar, huruf kecil, dan angka.
Installer otomatis menjalankan validasi keamanan internal dan seluruh test aplikasi sebelum me-reset database target. Tidak ada command verifikasi tambahan yang perlu dijalankan manual. Jika verifikasi gagal, instalasi dihentikan, perubahan file dikembalikan, dan database target belum disentuh. Jika kegagalan terjadi setelah database di-reset, installer mengembalikan kondisi database kosong atau struktur migration fresh bawaan Laravel.
Instalasi menjalankan migrate:fresh; seluruh tabel dan data pada database yang
dipilih akan dihapus.
Reset dan instal ulang di local
Gunakan hanya jika seluruh aplikasi lama memang ingin dibuang dan dibuat ulang:
Command ini menampilkan peringatan keras, lalu menjalankan wizard instalasi yang
sama. Jika disetujui, seluruh database, source App pada boundary Apps, asset
App, upload logo/foto starterkit, role, user, pengaturan, menu, dan log aktivitas
lama akan dihapus. Jangan gunakan command ini untuk update rutin atau production.
Menggunakan database kosong baru setelah starterkit terpasang
Jangan jalankan installer fresh lagi. Ubah .env, kemudian bangun ulang data
starter menggunakan:
Jika database baru masih kosong, sync menjalankan migration lalu meminta email dan password Superuser baru melalui prompt tersembunyi.
Sinkronisasi local
Jalankan setelah mengubah konfigurasi App, route, module, menu, migration, atau pilihan theme/layout:
Sync juga memverifikasi recipe theme dan mempublikasikan asset package,
PowerGrid, dan Livewire. Tidak ada command publish asset terpisah. Commit hasil
public/assets/<theme>/. Jika cache aset local belum tersedia, sync dapat
mengunduh ulang arsip GitHub yang terverifikasi.
Update starterkit di local
Periksa dan commit composer.json serta composer.lock pada repository
aplikasi Laravel.
Custom view bawaan starterkit
Jangan edit file di vendor/. Untuk mulai melakukan custom view pada theme
aktif, publish salinan yang dimiliki project:
Override disimpan per theme di
resources/views/vendor/starterkit-larawire/<theme>/starter/ dan harus
di-commit bersama project. composer update tidak pernah menimpa file tersebut.
Setelah package diperbarui, periksa perbedaannya:
Status membedakan view yang masih sama, sudah dicustom, memiliki update, atau konflik antara custom project dan package terbaru. Untuk mengembalikan view tertentu ke default package, jalankan:
Command replace menampilkan rencana, meminta konfirmasi, dan membuat backup di
storage/app/starter/backups/views/ sebelum menulis atau menghapus file.
Gunakan --force hanya pada otomasi local yang memang mengizinkan penggantian.
Command publish dan replace yang menulis file ditolak di production. Custom
view tetap wajib mempertahankan kontrak Livewire, authorization, validasi,
aksesibilitas, dan responsive theme aktif.
Deployment production pertama kali
Arahkan domain utama dan subdomain App ke <folder-project>/public.
STARTER_THEME dan STARTER_LAYOUT wajib sama dengan pilihan di local. Kedua
nilai ini tetap berada di .env local dan production agar tidak membutuhkan
file konfigurasi tambahan. Production tidak mengunduh arsip GitHub atau
menyiapkan theme-intake/: server memakai aset runtime theme terpilih yang
sudah dihasilkan oleh starter:sync dan di-commit dari local ke
public/assets/<theme>/.
Update production berkala
Production memakai versi package yang terkunci di composer.lock project
Laravel. starter:deploy khusus production dan melakukan preflight lengkap:
environment production, debug mati, HTTPS, cookie aman, domain, theme/layout
eksplisit, mailer pengirim email (bukan log/array), queue connection eksplisit
selain null, aset runtime theme dari repository, extension, directory runtime,
koneksi database, migration, registry App, cache, dan queue:restart sebagai
langkah terakhir. Pada setiap run, APP_DOMAIN, SESSION_DOMAIN,
SESSION_COOKIE, dan SESSION_SECURE_COOKIE di .env diselaraskan otomatis
dari APP_URL; bila berubah, command mengulang proses dengan konfigurasi baru
sebelum preflight.
Pada database production pertama yang masih kosong, command meminta kredensial
Superuser melalui prompt aman. Jika preflight gagal, deployment berhenti sebelum
mutation. starter:sync dan starter:reset ditolak di production.
Command Starterkit
Sebelum instalasi tersedia starter:install. Setelah instalasi berhasil:
| Command | Kegunaan |
|---|---|
starter:reset |
Menghapus instalasi lama dan mengulang wizard; hanya local |
starter:sync |
Menyelaraskan source developer ke database local |
starter:app |
Membuat App/subdomain baru melalui wizard |
starter:views-publish |
Menyalin view theme aktif ke area override project |
starter:views-status |
Membandingkan override project dengan package aktif |
starter:views-replace |
Mengembalikan override terpilih ke default dengan backup |
starter:deploy |
Deploy production dengan preflight lengkap |
C. Gateway API Opsional
Gateway API nonaktif secara default. Aktifkan melalui .env:
Kemudian jalankan:
Route API App berada di routes/apps/<app>.api.php dan tersedia pada
api.<APP_DOMAIN>/<app> tanpa tambahan prefix /api. Setiap endpoint tetap
wajib memiliki authentication, authorization, validation, dan rate limit yang
jelas. Dokumentasi API production hanya dapat diakses Superuser.
Dokumentasi
README ini adalah panduan ringkas GitHub. Panduan instalasi, arsitektur App,
authorization, workflow local, Agentic AI, deployment production, Gateway API,
dan troubleshooting tersedia di
website dokumentasi resmi.
Aturan teknis untuk agent dan contributor tetap tersedia di docs/ package.
Lisensi
Source tersedia untuk instalasi, modifikasi, dan deployment aplikasi internal sesuai LICENSE. Menjual, melisensikan ulang, atau mempublikasikan ulang package/starter yang bersaing tidak diizinkan. Komponen pihak ketiga tetap mengikuti lisensinya masing-masing; lihat THIRD_PARTY_NOTICES.md.
All versions of starterkit-larawire-agentic with dependencies
ext-intl Version *
ext-zip Version *
bacon/bacon-qr-code Version ^3.1
dedoc/scramble Version ^0.13.36
laravel-lang/common Version ^6.8
laravel/framework Version >=13.8 <14.0
livewire/livewire Version ^4.3
power-components/livewire-powergrid Version ^6.10