This document outlines the voice, tone, and automated linting rules enforced across all SO4 documentation and repository markdown files.
- Plain, specific, unhurried. Short sentences carry technical weight better than long ones.
- Concrete over abstract. "The order vault holds collateral until the position closes" beats "Collateral is managed by the vault subsystem".
- No condescension. Words like "simply", "just", "obviously", "easy", and "easily" imply obviousness and are prohibited.
- No exclamation marks. Technical documentation informs; it does not shout.
The prose linter (bun run --cwd apps/docs lint:prose) enforces the following rules:
| Rule ID | Constraint |
|---|---|
no-exclamation-mark |
Prohibits exclamation marks (!) in documentation prose. |
banned-words |
Prohibits "simply", "just", "obviously", "easy", "easily". |
correct-capitalization |
Enforces exact capitalization for project terms: "Soroban", "Stellar", "Freighter", "Turborepo", "OrderVault", "ExchangeRouter", "SyntheticsReader", "DataStore". |
| Rule ID | Constraint |
|---|---|
sentence-length |
Flags sentences exceeding 30 words. |
prefer-active-voice |
Suggests active voice over passive constructions (e.g. "is managed by"). |
Before submitting a PR:
bun run --cwd apps/docs lintEnsure all prose linter errors are fixed.