# Alur Kerja Kolaborasi Tim (Team Workflow) Dokumen ini mendefinisikan pembagian tanggung jawab (*workstream ownership*), siklus hidup tugas (*task lifecycle*), dan panduan koordinasi paralel antara engineer manusia dan agen AI. --- ## 1. Matriks Kepemilikan Workstream (Ownership Matrix) | Workstream | Lingkup Direktori | Tanggung Jawab Utama | Codeowner | |---|---|---|---| | **Architecture & Root** | `package.json`, `pnpm-workspace.yaml`, `turbo.json`, `docs/architecture/` | Tata kelola workspace, standar dependensi, keputusan lintas-aplikasi | Principal Architect | | **Backend & Core DB** | `apps/backend/`, `internal/`, `migrations/` | API Go Chi, logika bisnis, database migrations, connection pool, otorisasi | Senior Go Engineer | | **ERP Operations** | `apps/erp/` | Manajemen inventaris, purchasing, keuangan & akuntansi, HR portal | Senior Frontend Engineer (ERP) | | **POS Cashier** | `apps/pos/` | Kasir retail, barcode scanning, offline queue, shift & laci kas | Senior Frontend Engineer (POS) | | **B2B E-Commerce** | `apps/b2b/` | Toko grosir online, SSR Nuxt 4, cart & checkout, pricing tiers | Senior Frontend Engineer (B2B) | | **Reporting Engine** | `apps/nextreport/` | Engine rendering PDF/Excel, optimasi Chromium/Puppeteer | Fullstack / Automation Engineer | | **Shared Packages** | `packages/*` | Kontrak kanonikal API, permission RBAC, utilitas format bisnis | Core Platform Lead | | **Platform & DevOps** | `infra/`, `.github/workflows/`, Cloudflare tunnel | CI/CD, image container GHCR, resource limits VPS, deployment | DevOps / SRE Lead | --- ## 2. Siklus Hidup Tugas (Task Lifecycle) Setiap item pekerjaan melewati status terstandarisasi: ```text [BACKLOG] ──> [READY] ──> [IN PROGRESS] ──> [REVIEW] ──> [QA] ──> [DONE] │ [BLOCKED] ``` ### Kriteria Transisi Status 1. **BACKLOG**: Gagasan atau permintaan fitur yang belum memiliki spesifikasi lengkap. 2. **READY**: Spesifikasi jelas, acceptance criteria terdefinisi, boundary direktori ditentukan, dan dependensi teridentifikasi. 3. **IN PROGRESS**: Sedang diimplementasikan oleh developer atau agen AI pada feature branch terisolasi. 4. **BLOCKED**: Terhenti karena keterbatasan akses eksternal, blocker API hulu, atau dependency luar. 5. **REVIEW**: Kode telah diuji secara lokal, PR diajukan, CI hijau, dan menunggu approval Codeowner. 6. **QA**: Pengujian regresi integrasi lintas aplikasi atau verifikasi staging. 7. **DONE**: Telah dimerge ke branch `main`, artefak rilis terbuat, dan dokumentasi terverifikasi. --- ## 3. Aturan Pengembangan Paralel (Parallel Execution Rules) Untuk mencegah konflik merge (*merge conflicts*) saat beberapa pengembang atau agen AI bekerja bersamaan: 1. **Isolasi File**: Dua agen tidak boleh mengedit file aplikasi yang sama secara bersamaan. 2. **Koordinasi Kontrak**: Perubahan rute atau permission pada `packages/contracts` atau `packages/permissions` harus diajukan dan dimerge terlebih dahulu sebelum frontend consumer menggunakannya. 3. **Shared Lockfiles**: Hanya tugas yang secara eksplisit menambah atau memperbarui dependency yang diizinkan memodifikasi `pnpm-lock.yaml`. 4. **Independent Testing**: Setiap workstream dapat menguji dirinya sendiri secara terisolasi menggunakan filter Turborepo (`pnpm --filter @keluargamart/ test`).