Skip to main content
Konvensi ada biar siapapun yang kontribusi bisa baca file mana aja dan langsung ngerti apa yang lagi terjadi. Aturannya cuma sedikit, dan tiap aturan nge-link ke standar resmi asalnya.

Penamaan

Ikutin nama yang udah ada di tiap repo. Nama-nama itu ngikutin konvensi ekosistemnya masing-masing: Biznet GIO punya batas nama sendiri, dan contoh-contohnya wajib nurutin itu. Inget hal-hal ini pas lu rename sesuatu:
  • Nama VM (vm_name / vmName): 6 sampai 16 karakter
  • Nama service disk (service_name / serviceName): 6 sampai 16 karakter
  • Label Object Storage (label / storageLabel): 6 sampai 16 karakter
  • Username SSH dan console: 6 sampai 32 karakter, cuma huruf, angka, dash, dan dot
Halaman referensi nge-dokumentasiin batas per resource: Terraform NEO Lite, Pulumi NEO Lite, dan tetangga-tetangganya. Rentang batas itu yang bikin contoh-contohnya pake nama pendek kayak example-app daripada nama panjang yang deskriptif.

Komentar bilingual

Setiap file kode di repo contoh dimulai dengan banner comment dan dikomen dalam Bahasa Inggris dan Bahasa Indonesia di sepanjang file. Formatnya udah ditetapin:
Terus tiap section dapet divider dengan dua bahasa:
Aturannya:
  • Inggris dulu, Indonesia kedua, selalu.
  • Nada santai, kayak lagi ngejelasin ke temen. Gak ada bahasa dokumentasi formal di dalam komentar kode.
  • Istilah teknis tetep dalam Bahasa Inggris di dalam formatting kode, baik di komentar maupun di situs docs.
  • Kode baru yang lu tambahin wajib ngikutin pola yang sama. Ini konvensi paling penting di repo-repo ini; justru ini inti dari semuanya biar ramah buat pemula.
Halaman situs docs gak bilingual per file. Tiap halaman ada dua kali, sekali dalam Bahasa Inggris dan sekali di bawah id/, ngikutin AGENTS.md di repo docs.

Gak ada em dash atau en dash

Project ini gak pernah pake em dash atau en dash, baik di halaman docs, komentar kode, README, maupun commit message. Hyphen doang. Aturan ini bikin tiap file ASCII-safe dan editor tiap kontributor konsisten, dan berlaku untuk dua-dua bahasa. Kalau kalimat butuh jeda, tulis ulang aja atau pake koma atau hyphen.

Formatting, per bahasa

Formatting ngikutin tool kanonik tiap ekosistem. Link-nya ngarah ke dokumentasi resmi masing-masing: Jalanin formatter sebelum commit, di bahasa apa pun yang lu sentuh. Kalau formatting sebuah file melenceng dari tetangganya, review PR lu bakal minta lu benerin.

Version pinning

Setiap contoh nge-pin versi SDK dan provider yang persis sama dengan yang dipake pas dibangun. Jangan naikin versi sembarangan, dan jangan pernah ninggalin versi yang gak di-pin di folder baru: SDK provider-nya ada di Terraform Registry dan Pulumi Registry masing-masing, liat Registries. Naik versi dilakukan dengan sengaja, di PR sendiri, dicerminkan ke semua folder sekaligus biar repo gak pernah campur-campur.

Safety biaya

Repo-repo ini bikin infrastruktur beneran yang ditagih, jadi aturan safety-nya langsung di-encode ke dalam kode:
  • pay_with_credit_card (Terraform) dan payWithCreditCard (Pulumi) default-nya false di mana-mana. Order false tetep bikin resource beneran, tapi invoice-nya dibiarin belum dibayar di portal. Baca Billing and orders buat gambaran lengkapnya.
  • Opsi destruktif atau one-shot kayak power_state, rebuild_os, migrate_to_pro, dan rebuild_trigger ada di kode tapi di-comment out. Masing-masing bawa komentar yang ngejelasin fungsinya dan bahwa dia ngehapus disk atau ngabisin duit. Uncomment satu-satu, jangan sekaligus.
  • README baremetal/ dan gpu/ bawa warning biaya ekstra karena mereka lini produk paling mahal. Pertahanin warning itu kalau lu nyentuh folder-folder tersebut.
  • Secret gak pernah masuk git. Terraform pake terraform.tfvars yang di-gitignore dengan template .example yang di-commit; Pulumi pake pulumi config set --secret dan file Pulumi.<stack>.yaml di-gitignore.
Contoh baru apa pun yang lu tambahin wajib nurunin keempat aturan ini. PR yang nambahin default yang ditagih atau commit secret bakal dapet review yang emang pantas.

Konvensi situs docs

Repo docs punya aturan nulis sendiri, semuanya ada di AGENTS.md:
  • Tiap halaman punya frontmatter title dan description; description cuma satu kalimat.
  • Heading pake sentence case; prosa pake active voice, orang kedua.
  • Halaman Inggris dan Indonesia wajib sinkron dengan relative path yang sama.
  • Link internal di halaman Indonesia mulai dengan /id/.
  • Gak ada em dash atau en dash, sama kayak repo contoh.
Pas lu ngubah behavior di repo contoh, cek apakah ada halaman docs yang masih nunjukin behavior lama. Kalau iya, benerin docs-nya di PR yang sama atau PR terhubung, dalam dua bahasa. Fix GPU keypair dan typing account id justru perubahan berpasangan kayak gini.