You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After the Astro Starlight migration (#229) and Diátaxis rewrite (#230), internal docs links use an explicit /lumberjack/ prefix because Astro does not auto-prepend base on markdown/MDX hrefs. That is correct for the GitHub Pages project site (base: '/lumberjack'), but nothing in CI fails if a next-steps target, redirect destination, or reference slug drifts.
Add starlight-links-validator (or equivalent) so broken internal links fail the docs build or a dedicated CI check.
Why
Markdown links are not base-relative by default; typos and renamed slugs (e.g. /guides/usage → /guides/log-with-the-service) only show up in manual smoke or production.
TypeDoc reference pages are generated at build time under reference/** (gitignored). Link targets like /lumberjack/reference/core/classes/lumberjackservice/ must resolve against that output.
Add starlight-links-validator to packages/docs/lumberjack-docs-app (Starlight plugin in astro.config.mjs).
Confirm it respects base: '/lumberjack' (absolute same-origin links under the base).
Run validation as part of nx build docs-lumberjack-docs-app and/or nx typecheck / a small lint target so CI’s existing nx affected -t lint build e2e catches failures.
Optionally exclude external URLs if the plugin is noisy; keep internal + same-site checks strict.
Acceptance criteria
A deliberately broken internal link in a docs page fails CI (or the docs build) with a clear path + target.
Valid /lumberjack/... links to Getting Started, Guides, Understanding, What’s New, and generated Reference pages pass.
No requirement to drop the explicit /lumberjack/ prefix (that stays the correct pattern for this site).
Documented in a one-liner near the docs app config or project README if setup is non-obvious.
Summary
After the Astro Starlight migration (#229) and Diátaxis rewrite (#230), internal docs links use an explicit
/lumberjack/prefix because Astro does not auto-prependbaseon markdown/MDX hrefs. That is correct for the GitHub Pages project site (base: '/lumberjack'), but nothing in CI fails if a next-steps target, redirect destination, or reference slug drifts.Add starlight-links-validator (or equivalent) so broken internal links fail the docs build or a dedicated CI check.
Why
/guides/usage→/guides/log-with-the-service) only show up in manual smoke or production.reference/**(gitignored). Link targets like/lumberjack/reference/core/classes/lumberjackservice/must resolve against that output./lumberjack/convention stays honest.Proposed approach
starlight-links-validatortopackages/docs/lumberjack-docs-app(Starlight plugin inastro.config.mjs).base: '/lumberjack'(absolute same-origin links under the base).nx build docs-lumberjack-docs-appand/ornx typecheck/ a smalllinttarget so CI’s existingnx affected -t lint build e2ecatches failures.Acceptance criteria
/lumberjack/...links to Getting Started, Guides, Understanding, What’s New, and generated Reference pages pass./lumberjack/prefix (that stays the correct pattern for this site).Context
packages/docs/lumberjack-docs-app