Skip to content

Commit 900f0be

Browse files
authored
ci: add cspell spell-check for public documentation (#48)
* ci: add cspell spell-check for public documentation Add cspell pre-commit hook configuration and cspell.config.yaml with project-specific dictionary. Update CONTRIBUTING.md with cspell setup instructions for contributors. * docs: add local docs preview command Add instructions for running a local documentation preview server to README.md for contributor convenience.
1 parent 85a9728 commit 900f0be

File tree

4 files changed

+99
-0
lines changed

4 files changed

+99
-0
lines changed

.pre-commit-config.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@ repos:
1919
- id: markdownlint-fix
2020
exclude: "CHANGELOG.md|LICENSE"
2121

22+
- repo: https://github.com/streetsidesoftware/cspell-cli
23+
rev: v9.7.0
24+
hooks:
25+
- id: cspell
26+
name: spell check docs and prompts with cspell
27+
files: ^(README\.md|CONTRIBUTING\.md|CODE_OF_CONDUCT\.md|\.github/pull_request_template\.md|prompts/.*\.md|docs/.*\.(md|html))$
28+
exclude: ^docs/(references|assets)/
29+
2230
- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
2331
rev: v9.23.0
2432
hooks:

CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,16 +77,23 @@ See the [pre-commit hooks documentation](https://pre-commit.com/hooks.html) for
7777
### Common Commands
7878

7979
```bash
80+
# Preview the docs site locally with hot reload
81+
uvx livereload --port 8012 docs/
82+
8083
# Run full pre-commit checks across the repo
8184
pre-commit run --all-files
8285
8386
# Run markdown linting only
8487
pre-commit run markdownlint-fix --all-files
88+
89+
# Run docs and prompt spell checking only
90+
pre-commit run cspell --all-files
8591
```
8692

8793
## Style and Quality
8894

8995
- Markdown is linted using markdownlint (via pre-commit). Keep lines reasonably short and headings well structured.
96+
- Public-facing docs and workflow prompts are spell-checked with cspell. Add broadly reusable project terms to `cspell.config.yaml` and prefer file-specific config for one-off names.
9097
- YAML files are validated for syntax errors.
9198
- Commit messages must follow Conventional Commits specification (enforced via commitlint).
9299
- Keep documentation consistent with `README.md`.
@@ -104,6 +111,7 @@ This will:
104111

105112
- Check YAML syntax
106113
- Fix Markdown formatting issues
114+
- Spell-check public-facing documentation and workflow prompts
107115
- Validate commit message format (on commit)
108116

109117
## Branching and Commit Conventions

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,14 @@ For comprehensive documentation, examples, and detailed guides, visit the **SDD
178178
- **[Video Overview](https://liatrio-labs.github.io/spec-driven-workflow/video-overview.html)** — Visual walkthrough of the workflow
179179
- **[Reference Materials](https://liatrio-labs.github.io/spec-driven-workflow/reference-materials.html)** — Additional resources and examples
180180

181+
To preview the playbook locally with hot reload, run:
182+
183+
```bash
184+
uvx livereload --port 8012 docs/
185+
```
186+
187+
Then open `http://localhost:8012`.
188+
181189
### Getting help
182190

183191
- **Start here**: [Common Questions](https://liatrio-labs.github.io/spec-driven-workflow/common-questions.html)

cspell.config.yaml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
version: "0.2"
2+
language: en
3+
4+
words:
5+
- Liatrio
6+
- SDD
7+
- demoable
8+
- pyproject
9+
10+
ignorePaths:
11+
- .git/**
12+
- .venv/**
13+
- docs/assets/**
14+
- docs/references/**
15+
- site/**
16+
- temp/**
17+
18+
ignoreRegExpList:
19+
- /```[\s\S]*?```/g
20+
- /<pre><code>[\s\S]*?<\/code><\/pre>/g
21+
22+
overrides:
23+
- filename: README.md
24+
words:
25+
- uvx
26+
- Windsurf
27+
- winget
28+
- snarktank
29+
- modelcontextprotocol
30+
31+
- filename: docs/comparison.html
32+
words:
33+
- Kiro
34+
- SpecKit
35+
- speckit
36+
- Tessl
37+
- BMAD
38+
39+
- filename: docs/index.html
40+
words:
41+
- Kiro
42+
- SpecKit
43+
44+
- filename: docs/common-questions.html
45+
words:
46+
- Lada
47+
- Kesseler
48+
49+
- filename: docs/emoji-context-verification-research.md
50+
words:
51+
- Lada
52+
- Kesseler
53+
- Philipp
54+
- Schmid
55+
- Automators
56+
57+
- filename: docs/developer-experience.html
58+
words:
59+
- pytest
60+
- typer
61+
- fastmcp
62+
- reimagines
63+
64+
- filename: prompts/SDD-3-manage-tasks.md
65+
words:
66+
- oneline
67+
- pytest
68+
69+
- filename: prompts/SDD-2-generate-task-list-from-spec.md
70+
words:
71+
- pytest
72+
73+
- filename: .github/pull_request_template.md
74+
words:
75+
- pytest

0 commit comments

Comments
 (0)