| Files | kebab-case, with a kind suffix (ADR 0006) | token.class.ts, class-provider.interface.ts |
| Packages | @stackra/<kebab>; services @figentra/service-<kebab> | @stackra/vite-plugin, @figentra/service-identity |
| Public ids | <prefix>_<26 characters> (ADR 0135) | user_01jh4q... |
| Action keys | <module>.<resource>.<verb>@<version> | billing.invoice.refund@1 |
| Permissions | <module>.<resource>.<action> (ADR 0132) | billing.invoice.refund |
| Events | <module-key>.<aggregate>.<verb>.v<n> (ADR 0141) | billing.invoice.paid.v1 |
| Machine codes (categories, error codes, refusal codes, event reasons) | snake_case (ADR 0137, 0140) | not_found, entitlement_required, step_up_required |
| URL paths | kebab-case, plural resource names | /invoices/:invoiceId/refunds |
| JSON keys and query parameters | camelCase | { "invoiceId": "..." } |
| Database tables | snake_case, plural | invoice_lines |
| Database indexes and foreign keys | idx_ and fk_ prefixes | idx_invoice_lines_invoice_id, fk_invoice_lines_invoice |
| Environment variables | SCREAMING_SNAKE, with the prefixes of decision 4 | STACKRA_PAYMENTS__TIMEOUT_MS |
| Branches | figentra/sta-<n>-<slug> | figentra/sta-176-adr-wave-1-part-5 |
| Design tokens | CSS custom property form and dotted form | --color-ink-900 and color.ink.900 |
| Asset keys, i18n keys, template keys, stub keys (namespace lookups) | <module>::<path> (decision 3) | flags::public/images/eg.svg, billing::invoice.refund_confirm, billing::mail/invoice-paid |
| DI token constants | SCREAMING_SNAKE constant, with a <module>.<TypeName> key (decision 5) | INVOICE_REPOSITORY |