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
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:- 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.
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) danpayWithCreditCard(Pulumi) default-nyafalsedi mana-mana. Orderfalsetetep 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, danrebuild_triggerada 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/dangpu/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.tfvarsyang di-gitignore dengan template.exampleyang di-commit; Pulumi pakepulumi config set --secretdan filePulumi.<stack>.yamldi-gitignore.
Konvensi situs docs
Repo docs punya aturan nulis sendiri, semuanya ada di AGENTS.md:- Tiap halaman punya frontmatter
titledandescription; 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.