Naming
Follow the existing names in each repo. They follow the conventions of their own ecosystems:
Biznet GIO enforces its own name limits, and the examples must respect them. Keep these in mind when you rename things:
- VM names (
vm_name/vmName): 6 to 16 characters - Disk service names (
service_name/serviceName): 6 to 16 characters - Object Storage labels (
label/storageLabel): 6 to 16 characters - SSH and console usernames: 6 to 32 characters, letters, numbers, dash, dot only
example-app instead of long descriptive ones.
Bilingual comments
Every code file in the example repos starts with a banner comment and is commented in English and Bahasa Indonesia throughout. The format is fixed:- English first, Indonesian second, always.
- Casual tone, like explaining to a friend. No formal documentation speak inside code comments.
- Technical terms stay in English inside code formatting, both in comments and on the docs site.
- New code you add must follow the same pattern. This is the single most important convention in these repos; it is the whole point of them being beginner friendly.
id/, following AGENTS.md in the docs repo.
No em dashes or en dashes
This project never uses em dashes or en dashes, in docs pages, in code comments, in READMEs, or in commit messages. Hyphens only. The rule keeps every file ASCII-safe and every contributor’s editor consistent, and it applies to both languages. When a sentence needs a pause, rewrite it or use a comma or a hyphen.Formatting, per language
Formatting follows each ecosystem’s canonical tool. The links go to the official documentation for each:
Run the formatter before committing, in any language you touched. If a file’s formatting drifts from its neighbors, your PR review will ask you to fix it.
Version pinning
Every example pins the exact SDK and provider versions it was built against. Do not bump versions casually, and never leave a version unpinned in a new folder:
The provider SDKs live in the Terraform Registry and the Pulumi Registry respectively, see Registries. Version bumps happen deliberately, in their own PR, mirrored across all folders at once so the repo never has a mix.
Cost safety
These repos create real, billable infrastructure, so they encode safety rules directly into the code:pay_with_credit_card(Terraform) andpayWithCreditCard(Pulumi) default tofalseeverywhere. Afalseorder still creates the real resource but leaves the invoice unpaid in the portal. Read Billing and orders for the full picture.- Destructive or one-shot options like
power_state,rebuild_os,migrate_to_pro, andrebuild_triggerare present in the code but commented out. Each carries a comment saying what it does and that it wipes disks or spends money. Uncomment one at a time, never a batch. baremetal/andgpu/READMEs carry an extra cost warning because they are the most expensive product lines. Keep those warnings if you touch those folders.- Secrets never enter git. Terraform uses the gitignored
terraform.tfvarswith a committed.exampletemplate; Pulumi usespulumi config set --secretandPulumi.<stack>.yamlfiles are gitignored.
Docs site conventions
The docs repo has its own writing rules, all in AGENTS.md:- Every page has
titleanddescriptionfrontmatter; descriptions are one sentence. - Headings are sentence case; prose is active voice, second person.
- English and Indonesian pages must stay in sync with the same relative path.
- Internal links in Indonesian pages start with
/id/. - No em dashes or en dashes, same as the example repos.