# Panduan Kontribusi

Terima kasih telah tertarik berkontribusi pada proyek **Persegi**!

---

## Prasyarat

- PHP >= 8.4
- Composer
- MySQL / MariaDB
- Node.js (opsional, untuk asset)

---

## Setup Lokal

```bash
git clone <repo-url>
cd persegi

composer install
cp .env.example .env
php artisan key:generate
```

Isi konfigurasi database di `.env`:
```
DB_DATABASE=persegi
DB_USERNAME=root
DB_PASSWORD=
```

Lalu jalankan:
```bash
php artisan migrate --seed
php artisan shield:generate --panel=admin --all -n
php artisan db:seed --class=PermissionSeeder --force
php artisan shield:super-admin --user=1
php artisan serve
```

Akses admin panel: `http://localhost:8000/dashboard`

Untuk notifikasi & queue:
```bash
php artisan queue:work
```

---

## Alur Kontribusi

1. Fork repository ini
2. Buat branch baru: `git checkout -b feat/nama-fitur`
3. Lakukan perubahan
4. Commit dengan pesan yang jelas (gunakan bahasa Indonesia):
   ```
   feat: tambah fitur X
   fix: perbaiki bug Y
   docs: update dokumentasi Z
   ```
5. Push ke fork kamu: `git push origin feat/nama-fitur`
6. Buat Pull Request ke branch `master`

---

## Konvensi Kode

- Ikuti struktur yang sudah ada: Resource → `app/Filament/Resources/{Nama}/`
- Pisahkan Form, Table, dan Pages ke file terpisah
- Gunakan Observer untuk side-effect (log, notifikasi)
- Semua aksi penting wajib dicatat ke `activity_logs`
- Jangan hardcode permission — gunakan Filament Shield

---

## Melaporkan Bug

Buka issue dengan menyertakan:
- Langkah untuk mereproduksi
- Pesan error lengkap
- Role user yang mengalami bug
