Why
StyleSeed has multiple maintained READMEs and engine documents. Relative links can drift during file moves, but CI currently validates product contracts rather than repository-local Markdown targets.
Scope
Add a dependency-free checker at scripts/check-markdown-links.mjs that validates repository-relative file and image targets in:
README.md, README-KR.md, CONTRIBUTING.md, and ROADMAP.md
- maintained Markdown under
engine/ and docs/
This first slice does not need to make network requests or validate remote URLs.
Acceptance criteria
- Strip query strings and
#fragment suffixes before checking the local file target.
- Ignore absolute URLs,
mailto:, hash-only anchors, and examples inside fenced code blocks.
- Report the source file, line number, and missing target.
- Exit non-zero when a target is missing and zero on the current repository.
- Add focused fixtures or tests for a valid target, missing target, external URL, and fenced example.
- Add the checker to
.github/workflows/validate-engine.yml.
node scripts/check-markdown-links.mjs, the new tests, and git diff --check pass.
Boundary
Do not add an npm dependency or crawl external sites. Keep this PR to deterministic local links.
New contributors are welcome to claim this issue by leaving a comment.
Why
StyleSeed has multiple maintained READMEs and engine documents. Relative links can drift during file moves, but CI currently validates product contracts rather than repository-local Markdown targets.
Scope
Add a dependency-free checker at
scripts/check-markdown-links.mjsthat validates repository-relative file and image targets in:README.md,README-KR.md,CONTRIBUTING.md, andROADMAP.mdengine/anddocs/This first slice does not need to make network requests or validate remote URLs.
Acceptance criteria
#fragmentsuffixes before checking the local file target.mailto:, hash-only anchors, and examples inside fenced code blocks..github/workflows/validate-engine.yml.node scripts/check-markdown-links.mjs, the new tests, andgit diff --checkpass.Boundary
Do not add an npm dependency or crawl external sites. Keep this PR to deterministic local links.
New contributors are welcome to claim this issue by leaving a comment.