This project is mostly markdown — typos in skill files, flow files, and documentation are bound to happen. We currently have no spell checking at any level (pre-commit, Makefile, or CI).
Proposal: Add codespell as a spell checker.
Why codespell:
- Python-based, no system dependencies
- Built-in dictionary of common typos
- Configurable: supports custom wordlists for technical terms (tool names, parameters, etc.)
- Supports inline ignores (
# codespell:ignore) for intentional non-standard words
- Pre-commit hook available — runs only on staged files by default, so existing typos won't block commits until those files are touched
- CI can be scoped to changed files in the PR, avoiding a big-bang cleanup
- Minimal setup, low false-positive rate
Other options considered:
- pyspelling — full dictionary spell check via aspell. More powerful but requires system dependency (
aspell) and more configuration. Used in insights-mcp.
- cspell — highly configurable, great for mixed content. Requires Node.js.
codespell is the simplest to adopt and sufficient for catching the kind of typos we've been seeing.
Scope:
- Add as a pre-commit hook
- Add a
make validate-spelling target
- Add as a CI step (scoped to changed files)
- Create
.codespell-ignore.txt for project-specific terms (tool names, Red Hat terminology, etc.)
Docs: https://github.com/codespell-project/codespell#readme
This project is mostly markdown — typos in skill files, flow files, and documentation are bound to happen. We currently have no spell checking at any level (pre-commit, Makefile, or CI).
Proposal: Add codespell as a spell checker.
Why codespell:
# codespell:ignore) for intentional non-standard wordsOther options considered:
aspell) and more configuration. Used in insights-mcp.codespell is the simplest to adopt and sufficient for catching the kind of typos we've been seeing.
Scope:
make validate-spellingtarget.codespell-ignore.txtfor project-specific terms (tool names, Red Hat terminology, etc.)Docs: https://github.com/codespell-project/codespell#readme