DocumentsDosu Decant
CLI UTF-8 Typography
CLI UTF-8 Typography
Type
Topic
Status
Published
Created
Aug 4, 2026
Updated
Aug 4, 2026

CLI UTF-8 Typography#

Decant's CLI output intentionally uses UTF-8 typographic characters rather than ASCII approximations. These four characters appear across the codebase:

CharacterNameExample usage
Em dashClause separation in banner and error copy
EllipsisTruncation markers in exported transcripts
ArrowTool-use block headers in exported markdown
×Multiplication signRanking label in distilled workflow output

Where each character appears#

Rationale for UTF-8 (not ASCII)#

The decision to use UTF-8 typography is grounded in two facts about Decant's runtime and supported platforms:

  1. Bun writes UTF-8 unconditionally. The runtime never downgrades output encoding, so characters like reach the terminal as intended.
  2. Both supported platforms' stock terminals render these characters correctly. Substituting ASCII lookalikes (e.g., -- for , ... for ) would diverge from the established house style without improving compatibility on any supported system.

Automated reviewers (notably gemini-code-assist) have recurrently suggested downgrading these to ASCII for "older terminal compatibility." That suggestion was evaluated and declined on PR #90 : unless a concrete rendering failure on a supported platform is demonstrated, ASCII-only nits of this kind should be declined for the same reasons.

E2E test coupling#

The serve banner copy is exact-matched in test/serve-open.test.ts. Key assertions include:

Any copy change — including character substitution — must update these test assertions.

CLI UTF-8 Typography | Dosu