Typos: Spell Checker¶
typos is an extremely fast source code and documentation spell checker written in Rust
by the crate-ci team.
What It Does¶
typos is a low-overhead spell checker that evaluates multi-language repositories.
Designed with code-aware tokenization, it respects camelCase, snake_case, and kebab-case
identifiers while referencing a curated technical dictionary to eliminate false
positives.
It scans source files, docstrings, markdown guides, configuration manifests, and commit
messages across the entire tree, applying automated in-place fixes via typos -w.
Why It's in Zenith¶
Spelling errors in public API identifiers, command-line arguments, or documentation
erode user trust. Zenith integrates typos to maintain professional polish across all
repository assets.
Because typos scans the entire repository in under 50 milliseconds, it runs on every
pre-commit check and CI workflow without noticeable overhead or the false-positive noise
common in legacy spell checkers.
Configuration in Zenith¶
Configured in typos.toml at the project root:
# ==============================================================================
# Typos Configuration (typos.toml)
#
# Tool: Typos (https://github.com/crate-ci/typos)
# Purpose: Source code and documentation spell checker written in Rust.
# Why it's in Zenith: Blazingly fast spell checker that catches spelling errors
# in code, docstrings, markdown, and configs before they reach production.
# ==============================================================================
[default]
extend-ignore-re = [
"(?Rm)^.*(#|//)\\s*(spellchecker:disable-line|codespell:ignore)\\s*$",
]
[default.extend-words]
CPY = "CPY"
Ines = "Ines"
ment = "ment"
utiliz = "utiliz"
[files]
extend-exclude = ["*.ambr", "*.min.js", "*.svg", "build", "dist", "site"]
Key Invocations¶
uv run typos # Scan repository for spelling errors
uv run typos -w # Automatically fix detected typos in place
uv run poe typos # Wired quality check task in Poe
uv run poe typos-fix # Wired auto-fixing task in Poe