Guidelines
Voice & content
Only rules a component API can express, or a reviewer can point at a line and fail. Brand personality lives in the brand book — a developer writing a toast cannot act on "confident, never arrogant".
Case and punctuation
| Element | Rule |
|---|---|
| Buttons, labels, headers | Sentence case. No trailing period. |
| Body, hints, errors | Sentence case, full stops as normal prose. |
| Eyebrows, badges, table heads | Uppercase — by text-transform, never typed into the string. |
| Ellipsis | The character …, never three periods. |
| Ranges | En dash –, never a hyphen. |
Errors
Empathetic, solution-focused, never blaming. Say what happened. Say what to do next. Never "you" — the system failed, not the person.
| Don't | Do |
|---|---|
| Invalid email | That email doesn't look right — check for typos |
| You must select a rating | Pick a rating to continue |
| Error 500 | We couldn't save that. Try again in a moment. |
| Failed to load reviews | Reviews didn't load. Retry |
Actions and dialogs
Buttons
- Primary CTA = action verb + noun.
- Destructive names the thing: "Delete review".
- Cancel is always "Cancel".
- One primary per view.
Dialogs
- The title is a question.
- The body is one present-tense sentence about the consequence.
- The confirm verb matches the title verb.
Length follows density
comfortable"See how organizers respond to feedback"
default"Reply"
compact"Retry" · "Skip" · "Done"
widgetAlmost none. The data is the content.
Forbidden
Exclamation marks"Oops" · "Uh oh" · "Something went wrong""Simply" · "just" · "easy" · "quick"Emoji"Please" in an errorTitle Case On Buttons
Sporting Scouter Design System
Every token on this site is generated from
theme.css.