Skip to content

CI: add a dependency-free checker for repository-local Markdown links #14

Description

@bitjaru

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions