Scope CI spell-check to README and HISTORY by default - #302
Merged
Conversation
The CI cspell gate ran over all `**/*.md`, which was never the agreed default: repos carry many markdown files full of technical terms, so gating every one of them means endlessly padding cspell.json just to keep CI green. The agreed default is README.md + HISTORY.md - the two files every repo visitor sees - with broad live spell-checking left to the cspell editor extension (any file, while editing). Narrow the cspell CI step to README + HISTORY, and codify the rule and its rationale in CODESTYLE.md "Markdown and Spelling" (the authoritative doc was silent on CI scope, which is why the workflow drifted). markdownlint stays repo-wide - it does not choke on technical terms. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR aligns the template CI spelling gate with the intended default: enforce CSpell only on README.md and HISTORY.md, and document that contract so downstream repos have a stable reference.
Changes:
- Narrow the CI CSpell file scope in
.github/workflows/test-pull-request.ymlfrom all Markdown toREADME.md+HISTORY.md. - Codify the intended CSpell CI scope (and rationale) in
CODESTYLE.md. - Make the CI scope explicit in
AGENTS.mdso the documented local/CI guidance stays consistent.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| CODESTYLE.md | Documents the default CI CSpell scope (README + HISTORY) and rationale alongside existing Markdown/spelling rules. |
| AGENTS.md | Updates the CI linter description to explicitly call out the narrowed CSpell scope (while Markdown lint remains repo-wide). |
| .github/workflows/test-pull-request.yml | Implements the narrowed CSpell gate by listing README.md and HISTORY.md in the action inputs. |
Copilot review: the comment exceeded the one-line-default convention. Trim to two lines and defer the full rationale to CODESTYLE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 15, 2026
ptr727
added a commit
to ptr727/NxWitness
that referenced
this pull request
Jul 15, 2026
Narrows the CI cspell (spell-check) step in `.github/workflows/validate-task.yml` from all markdown (`**/*.md`) to just `README.md` + `HISTORY.md`. Matches the template default in ptr727/ProjectTemplate#302: spell-checking every markdown file forces endlessly padding `cspell.json` with technical terms. Restricting the gate to the two files every repo visitor sees keeps CI meaningful, while broad live spell-checking stays the editor extension's job. - markdownlint stays repo-wide (`**/*.md`) - unchanged. - Local `actionlint` (rhysd/actionlint:latest) is clean, no findings. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 15, 2026
Match the template default (ptr727/ProjectTemplate#302): the CI cspell gate covered all markdown, which forces endlessly padding cspell.json for technical terms. Narrow it to README.md + HISTORY.md - the files every repo visitor sees; broad live spell-checking stays the editor extension's job. markdownlint stays repo-wide. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
that referenced
this pull request
Jul 15, 2026
Feedback from the #302 fleet rollout: some repos (e.g. EspDinIoT, `releaseTrigger: none`) ship no HISTORY.md, and cspell errors on a listed file that does not exist. Clarify in CODESTYLE.md § "Markdown and Spelling" that the README + HISTORY default scopes to whichever of the two the repo actually has — a repo with no changelog gates on README.md alone. Docs-only. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
that referenced
this pull request
Jul 15, 2026
Promotion of the cspell-scope work from develop to main. - #302 — narrow CI cspell from all markdown to README.md + HISTORY.md; codify the rule + rationale in CODESTYLE.md; AGENTS.md clarifier. - #303 — note the list scopes to whichever of README/HISTORY the repo has (repos with no changelog gate on README alone). main still runs `**/*.md`; this brings it in line with the default. Trial-merged clean locally — the promotion touches only the 3 cspell files. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This was referenced Jul 15, 2026
ptr727
added a commit
to ptr727/NxWitness
that referenced
this pull request
Jul 15, 2026
Cherry-picks the CI cspell-scope fix onto main, without dragging the other in-flight work currently on develop. This narrows the CI spell-check on **main** from all markdown (`**/*.md`) **to** README.md + HISTORY.md, matching template PR ptr727/ProjectTemplate#302. markdownlint stays repo-wide. The same change is already on develop; this is the surgical main-only path so the feature/dependency work on develop is not promoted with it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jul 15, 2026
Merged
Merged
ptr727
added a commit
to ptr727/Utilities
that referenced
this pull request
Jul 15, 2026
Docs-only change: appends a new list item 3 "Spelling CI scope" to the Markdown and Spelling section of CODESTYLE.md, propagating the template's CODESTYLE Spelling-CI-scope rule (ptr727/ProjectTemplate#302, #303). It documents that the CI spell-check gate covers README.md + HISTORY.md only, not all markdown, with broad live checking left to the cspell editor extension. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/LanguageTags
that referenced
this pull request
Jul 15, 2026
Docs-only: appends CODESTYLE item 3 "Spelling CI scope" to the Markdown and Spelling list, documenting that the CI spell-check gate covers `README.md` + `HISTORY.md` only while broad live checking stays in the editor extension. Propagates the rule from the template (ptr727/ProjectTemplate#302, #303). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/aiopurpleair
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/homeassistant-purpleair
that referenced
this pull request
Jul 15, 2026
Docs-only change: append CODESTYLE item 3 "Spelling CI scope" under **Markdown and Spelling**, documenting that the enforced CI spell-check gate covers `README.md` + `HISTORY.md` only (not all markdown), with broad live checking left to the cspell editor extension. Propagates the template rule from ptr727/ProjectTemplate#302 and ptr727/ProjectTemplate#303. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/PlexCleaner
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-NonRoot
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/VSCode-Server-DotNetCore
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/NxWitness
that referenced
this pull request
Jul 15, 2026
Docs-only: append a new "Spelling CI scope" item (item 3) to the Markdown and Spelling list in CODESTYLE.md, documenting that the CI spell-check gate covers README.md + HISTORY.md only while broad live checking is the cspell editor extension's job. Propagates the template rule from ptr727/ProjectTemplate#302 and ptr727/ProjectTemplate#303. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/PlexCleaner
that referenced
this pull request
Jul 15, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 22, 2026
Match the template default (ptr727/ProjectTemplate#302): the CI cspell gate covered all markdown, which forces endlessly padding cspell.json for technical terms. Narrow it to README.md + HISTORY.md - the files every repo visitor sees; broad live spell-checking stays the editor extension's job. markdownlint stays repo-wide. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 22, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 22, 2026
Match the template default (ptr727/ProjectTemplate#302): the CI cspell gate covered all markdown, which forces endlessly padding cspell.json for technical terms. Narrow it to README.md + HISTORY.md - the files every repo visitor sees; broad live spell-checking stays the editor extension's job. markdownlint stays repo-wide. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ptr727
added a commit
to ptr727/ESPHome-Config
that referenced
this pull request
Jul 22, 2026
* Document the README + HISTORY cspell CI scope in CODESTYLE Propagate the CODESTYLE "Spelling CI scope" rule from the template (ptr727/ProjectTemplate#302, #303): the CI spell-check gate covers README.md + HISTORY.md, not all markdown, with broad live checking left to the editor extension. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Reword the cspell-scope item to not name template-only surfaces Copilot review: the item referenced a Lint: Spelling VS Code task and an AGENTS.md cspell one-liner that exist in the template but not in this repo. Reword generically so the guidance is accurate regardless of which local cspell surfaces a repo actually has. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The CI cspell gate runs over all
**/*.md. That was never the agreed default. The intended default is README.md + HISTORY.md only — the two files every repo visitor sees:cspell.jsonjust to keep CI green — infeasible at fleet scale.The authoritative doc (CODESTYLE.md) was silent on CI scope, so the workflow silently drifted to
**/*.md— and the whole local fleet inherited it.Change
test-pull-request.yml: narrow the cspell step from**/*.mdtoREADME.md+HISTORY.md(via the action's multilinefiles:).markdownlintstays repo-wide**/*.md— it does not choke on technical terms. This is cspell-only.Follow-up
This is the canonical (template) fix. A fleet sweep to narrow every downstream repo's CI cspell to the same default follows separately.
Validation
Local
actionlint,markdownlint-cli2, andcspellall clean on the edited files.🤖 Generated with Claude Code