Validate documentation links#312
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds automated documentation link validation for the Hugo site under docs/ using Lychee, both as a local .agents skill and as a GitHub Actions workflow, and fixes/updates a few documentation references (including previously broken links).
Changes:
- Add Lychee configuration (
lychee.toml) and aCheck LinksGitHub Actions workflow to build/serve the Hugo site and validate rendered HTML links. - Add a local
.agentscheck-linksskill and wire it into the.agentspre-prchecklist flow. - Fix/adjust docs references and bump documented/published versions.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
version.gradle.kts |
Bumps validationVersion snapshot. |
lychee.toml |
Adds repo-wide Lychee configuration and cache/accept rules. |
docs/content/docs/validation/user/01-getting-started/adding-to-build.md |
Updates plugin version in docs. |
docs/content/docs/validation/developer/validation-model.md |
Updates example to include checkFieldIsNotEmpty. |
docs/content/docs/validation/developer/runtime-library.md |
Fixes/updates TemplateString proto reference link. |
docs/content/docs/validation/developer/build-and-release.md |
Updates version snippet and published module list. |
docs/content/docs/validation/developer/architecture.md |
Fixes/updates TemplateString proto reference link. |
docs/content/docs/validation/developer/adding-a-built-in-option.md |
Updates example to include checkFieldIsNotEmpty. |
.gitignore |
Ignores Lychee caches and skill-downloaded binaries. |
.github/workflows/check-links.yml |
Adds CI job to build/serve docs and run Lychee link checks. |
.agents/tasks/check-links.md |
Adds task/planning record for the new link-checking capability. |
.agents/skills/pre-pr/SKILL.md |
Wires check-links into the pre-PR flow and adds sentinel caching rules. |
.agents/skills/check-links/SKILL.md |
Adds the local check-links skill procedure and sentinel behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The previous comment said links inside code blocks "will be checked", contradicting the `false` value. Corrected to reflect that verbatim sections are excluded. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix `pre-pr` SKILL.md: `site` is independent of `docs`, not a subset; some files under `docs/**` (e.g. lockfiles) are `site` but not `docs`. Also soften the claim that `check-links` runs in parallel with `review-docs`, since `review-docs` is not always dispatched. - Add SHA256 integrity verification for the Lychee binary downloaded in `check-links.yml` to guard against supply-chain tampering. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- `check-links` SKILL.md: drop forward-reference to a promised "separate skill" for Javadoc/KDoc — state it is simply out of scope. - `check-links` SKILL.md tooling table: fix `npm install` → `npm ci` to match the procedure and CI workflow. - `check-links` SKILL.md scope check (step 1): also accept `lychee.toml` changes as in-scope, matching the "When to run" section. - `pre-pr` SKILL.md: expand the **site** classifier to include `lychee.toml` so local pre-PR and CI trigger conditions stay in sync. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use whitespace-tolerant `grep -E '^\s+HUGO_VERSION:'` with the same `sed` extraction as LYCHEE_VERSION_TAG, so re-indenting the workflow file does not silently break the version comparison. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SKILL.md: replace hardcoded "Node 20+" with a pointer to the `node-version:` field in `check-links.yml`, so local and CI Node versions stay in sync without duplicating the pin. - task check-links.md: remove stale `v0.15.1` pin from the Decisions section; reference `LYCHEE_VERSION_TAG` in the workflow instead. - task check-links.md: fix plan step URL from `SpineEventEngine/base` to `SpineEventEngine/base-libraries` (corrected during execution). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Use action version in the plan document Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
- Context: correct repo name `base` → `base-libraries` for TemplateString. - Plan §1: update reference to `base-libraries` and `[template-string-proto]`. - Plan §3: fix Lychee glob `docs/public/` → `docs/_preview/public/` and version tag `v0.15.1` → `lychee-v0.24.2`. - Plan §4: same glob fix for the skill procedure description. - Also stage .gitignore entry for .claude/settings.local.json. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace \s (not POSIX ERE) with [[:space:]] in both grep patterns that extract HUGO_VERSION and LYCHEE_VERSION_TAG from the workflow file. Also resolve a merge conflict in the task plan file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
armiol
approved these changes
May 23, 2026
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.
This PR introduces
check-linksskill and GitHub workflow employing Lychee tool which we already use in spine.io repo for catching broken links.Broken links were also fixed. The skill will be added to
configafter we try it locally to this repo.