The .cspell.json file should be created at the
repository root following standard cspell configuration format
The cspell hook should be added to
.pre-commit-config.yaml using the official repository:
https://github.com/streetsidesoftware/cspell-pre-commit
Hook execution order: cspell should run after file format checks
(check-yaml, check-json, check-toml) but before code linting hooks
(ruff-check, ruff-format)
The cspell configuration should exclude CHANGELOG.md
from spell checking (similar to how markdownlint excludes it)
Project-specific terms should include: Liatrio, slash-man, SDD, MCP,
and dependency names from pyproject.toml (pytest, ruff, typer, fastmcp,
questionary, uvx, uv, etc.)
Technical terms should use proper capitalization: GitHub, Python,
JSON, YAML, CLI, MCP
Use standard English (en_US) dictionary provided by cspell
Configure exclusions for code blocks, URLs, and file paths to reduce
false positives
Follow existing CONTRIBUTING.md structure and style when adding
spell checking documentation
Tasks
Demo Criteria: File .cspell.json exists at repository
root with project-specific dictionary terms (Liatrio, slash-man, SDD,
MCP, etc.), dependency names (pytest, ruff, typer, fastmcp, questionary,
uvx, uv, etc.), proper technical term capitalization (GitHub, Python,
JSON, YAML, CLI, MCP), markdown file patterns configured, CHANGELOG.md
excluded, and code block/URL/file path exclusions configured. Running
cspell --config .cspell.json README.md validates
configuration works without false positives
Proof Artifact(s): Created .cspell.json file at
repository root, cspell command output showing configuration loaded
successfully (0 issues found), dictionary terms visible in config file
(all project-specific, dependency, and technical terms included), JSON
validation passed, Pre-commit JSON check passed
Demo Criteria: Hook added to .pre-commit-config.yaml,
hook placed after file format checks (after check-toml hook), hook placed
before code linting hooks (before ruff-check hook), hook checks markdown
files (configured with files: \.md$), CHANGELOG.md excluded
(configured with exclude: CHANGELOG\.md), hook execution
successful (Pre-commit run cspell passes), hook execution order verified
(runs after file format checks, before code linting)
Proof Artifact(s): Updated .pre-commit-config.yaml with
cspell hook entry, Successful hook execution output showing markdown
files checked, Hook execution order verified in config file (after
check-toml, before ruff-check), YAML validation passed, Hook
installation successful, Hook execution test passed
Demo Criteria: Test file created
test-spell-check.md with intentional spelling errors, Commit
fails (Exit code 1 when spelling errors are present), Error message
shows misspelled words ("recieve" and "seperate" identified), Suggestions
provided ("receive" and "separate" suggested as fixes), File clearly
identified (test-spell-check.md shown in error output), Line
numbers provided (Line 9 and line 10 indicated), Commit succeeds after
fix (All hooks pass when errors are corrected), Test file removed
(Cleanup completed successfully)
Proof Artifact(s): Git commit failure output showing cspell error,
cspell error message with spelling suggestions displayed, Test markdown
file with intentional errors (created and removed), Successful commit
after fixing errors, Error output clearly indicates file, line numbers,
and misspelled words, Suggestions provided for each misspelled word
Demo Criteria: Spell Checking section added (New subsection under
"Pre-commit Hooks"), Explains cspell hook (Documents that it checks
markdown files and fails commits on errors), Dictionary management
documented (Instructions for adding new terms to .cspell.json),
Verification documented (How to verify spell checking works manually or
automatically), CHANGELOG.md exclusion mentioned (Note that it's
excluded from spell checking), Pre-commit Hooks summary updated
(Includes spell checking in the list), All markdown files pass
(Verified with pre-commit run cspell --all-files), Follows
CONTRIBUTING.md style (Consistent formatting and structure)
Proof Artifact(s): Updated CONTRIBUTING.md with spell
checking section, All existing markdown files pass spell checking (no
false positives), Documentation follows existing CONTRIBUTING.md
structure and style, Pre-commit Hooks section summary updated to
include spell checking