ObjectStack enforces strict naming conventions to ensure consistency and machine readability.
| Context | Convention | Pattern | Example |
|---|---|---|---|
Object name |
snake_case |
/^[a-z_][a-z0-9_]*$/ |
project_task |
| Field keys | snake_case |
/^[a-z_][a-z0-9_]*$/ |
first_name, due_date |
| Schema property keys (TS config) | camelCase |
Standard JS | maxLength, lookupFilters |
Option value |
lowercase machine ID | lowercase | in_progress |
Option label |
Any case | — | "In Progress" |
- Never use
camelCaseorPascalCasefor object names or field keys - Always use
camelCasefor TypeScript configuration property keys - Option values must be lowercase machine identifiers (use snake_case for multi-word)
- Option labels can use any case for display purposes
- Machine names are immutable — changing them requires data migration