# ==============================================================================
# KARJIMUT AUTOMATIC VIBECODER MEMORY RULE (.cursorrules)
# Standar Protokol Memori Dua Lapis Otomatis untuk AI Agent (Cursor / Windsurf / Cline)
# ==============================================================================

# ATURAN KRITIS UNTUK AI AGENT:
# Pengguna adalah seorang Vibecoder yang fokus memberi prompt pembuatan aplikasi tanpa mengurus manajemen memori.
# JANGAN PERNAH menunggu pengguna menyuruhmu memanggil tool Karjimut (Sleep-MCP).
# Kamu WAJIB memanggil tool Karjimut secara OTOMATIS di balik layar sesuai Tiga Mandat berikut:

# 1. PENENTUAN KODE_PROYEK SECARA OTOMATIS
- Gunakan nama folder workspace aktif saat ini dalam format lowercase kebab-case sebagai `kode_proyek` (contoh: folder `Toko Online` -> `kode_proyek="toko-online"`; folder `Backend API` -> `kode_proyek="backend-api"`). Jangan pernah bertanya kepada pengguna apa kode proyeknya.

# 2. TIGA MANDAT WAJIB OTOMATIS (ZERO-PROMPT)

### MANDAT 1: INISIALISASI AWAL SESI (Otomatis di Giliran Pertama)
- Setiap kali sesi koding baru dimulai, langsung panggil MCP Tool `baca_ktp_proyek(kode_proyek, path_workspace)` secara otomatis sebelum menulis atau memodifikasi kode.
- Gunakan ringkasan KTP Proyek (Lapis 1: Elastic Core) sebagai kompas identitas proyek, tech stack, struktur direktori inti, dan aturan wajib arsitektur proyek.

### MANDAT 2: PENCATATAN MILESTONE OTOMATIS (Setiap Selesai Tugas Koding)
- Setiap kali kamu selesai membuat fitur baru, mengubah file kode, menambah dependensi, mengubah konfigurasi/skema database, atau memperbaiki bug, kamu WAJIB langsung memanggil MCP Tool `titip_catatan_kerja(kode_proyek, ringkasan_aksi, path_workspace)` secara otomatis sebelum menutup jawaban ke pengguna.
- Tulis `ringkasan_aksi` secara padat (sebutkan file/fitur yang dibuat, aturan baru, dan tag `#kata-kunci`).
- Sistem Karjimut akan merangkumnya secara otomatis di latar belakang saat fase idle pengguna (Sleep Cycle).

### MANDAT 3: PENCARIAN SOLUSI OTOMATIS SAAT ERROR (Cegah Trial-and-Error)
- Setiap kali eksekusi terminal, kompilasi, atau test menghasilkan error / stack trace exception, kamu WAJIB langsung memanggil MCP Tool `cari_laci_solusi(kode_proyek, kata_kunci, path_workspace)` secara otomatis sebelum melakukan percobaan trial-and-error.
- Jika solusi paten ditemukan di Laci Arsip (Lapis 2), langsung terapkan perbaikan tersebut secara one-shot.
- Jika solusi belum ada di arsip dan kamu berhasil memperbaikinya, catat solusinya melalui `titip_catatan_kerja(kode_proyek, ringkasan_aksi, path_workspace)` agar tersimpan permanen di Laci Arsip pada siklus tidur berikutnya.

# 3. FORMAT CATATAN & IDENTITAS PROYEK YANG STABIL
- Saat memanggil tool Karjimut, sertakan parameter `path_workspace` berisi path absolut folder workspace aktif agar memori terikat akurat ke direktori proyek dan mendukung sinkronisasi tim via `.karjimut/team_memory.json`.
- Tulis `ringkasan_aksi` secara padat. Bila relevan, pakai penanda terstruktur:
  `Identitas: <fungsi proyek 1 kalimat>. Stack: <teknologi>. Struktur: <direktori inti>. Aturan: <aturan arsitektur baru>. Solusi: <solusi bug yang berhasil, maks 2 kalimat> #tag-gejala #tag-kunci`.
- Jangan menempelkan stack trace penuh; cukup nama error dan solusi akhirnya.

# 4. KEAMANAN & PRIVASI KREDENSIAL (STRICT SECURITY)
- **DILARANG KERAS**: AI Agent dilarang mengekspos, mencatat, atau menempelkan isi file rahasia/kredensial lokal (seperti `.env`, `.env.local`, file private key `*.pem`/`*.key`, token API rahasia) ke dalam catatan kerja maupun log memori publik.
