# KebunHub — Petunjuk Coding Agent

Baca `README.md`, `docs/FRD_P0_RELEASE_GATES.md`, dan `docs/PRODUCTION_READINESS_RELEASE6.md` sebelum perubahan besar.

- Framework: Laravel 13+ / PHP 8.3+, database utama MySQL.
- Internal PK/FK: BIGINT. ID publik di URL: UUIDv7 `public_id`. Jangan mengekspos ID internal pada kontrak baru.
- Semua business data harus scoped ke workspace dan (bila relevan) farm membership. Validasi permission backend; jangan mengandalkan UI sebagai boundary keamanan.
- Transaksi stock, payment, correction dan reservation: atomik, idempotent, ledger/event/audit; jangan mengubah sejarah secara diam-diam.
- Jangan mengubah 17 migration lama yang sudah berhasil diterapkan tanpa rencana migrasi ke depan; buat migration baru untuk perubahan schema.
- Jangan menjalankan migrate:fresh, rollback destruktif, atau `RefreshDatabase` pada database utama.
- Semua test menggunakan MySQL `kebunhub_testing`. Jalankan `php artisan config:clear` sebelum Pest; gunakan `php vendor/bin/pest --configuration=phpunit.kebunhub.xml`.
- Jangan menyertakan `.env`, `.env.prod`, token, password, key atau file upload privat dalam git/ZIP.
- Sebelum deliver: PHP lint, static checks (`scripts/check_release6_static.php`), tests, dan perbarui Postman jika endpoint berubah.
- Paket ini hanya file root; jangan menganggap `docs/` atau `.github/workflows/` boleh dihapus. Workflow CI `kebunhub-release-gates.yml` wajib tersedia.

Laravel Boost (`laravel/boost`) adalah dependensi development **opsional**; jangan menjalankan `composer require` atau mengubah `composer.lock` otomatis hanya untuk memulai task.
