Membangun tema tampilan baru atau plugin ekstensi di cmsMu harus mematuhi standar rekayasa perangkat lunak modern untuk memastikan performa situs tetap cepat dan data tidak pernah rusak.

1. Kebijakan Mutlak Zero-Hardcode (Single Source of Truth)

Dilarang keras menanamkan data statis seperti menu navigasi, kategori artikel, atau daftar tag populer sebagai array statis di dalam file template HTML/Astro. Seluruh data wajib diambil secara dinamis dari database D1 melalui Drizzle ORM atau REST API cmsMu.

Jika tabel menu atau kategori masih dalam keadaan kosong, sistem harus mengambil data unik yang ada dari entitas postingan (dynamic fallback), bukan kembali ke teks hardcode.

2. Arsitektur Semantic CSS Variables / Design Tokens

Seluruh komponen tema dilarang menggunakan warna heksadesimal yang diketik mati secara acak. Gunakan CSS Design Tokens standar untuk menjamin keterbacaan kontras tinggi (WCAG AA) serta kompatibilitas Mode Siang dan Malam (Light/Dark mode):

--bg-canvas: latar belakang utama halaman
--bg-surface: latar belakang card/panel
--text-primary: teks judul & label utama
--text-secondary: teks deskripsi & bantuan
--border-subtle: garis pemisah halus

3. Arsitektur Plugin Mandiri

Setiap penambahan fungsionalitas khusus (seperti widget cuaca, modul pendaftaran event, atau kalkulator zakat) harus dikemas sebagai plugin di dalam direktori apps/cms-api/src/plugins/ atau diunggah dalam format berkas paket terisolasi tanpa menyentuh modul inti Core.