Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 28, 2026

Lychee link checker was failing with 272 errors because it treated Fumadocs framework files and routing patterns as broken file paths.

Fumadocs uses meta.json files containing page identifiers ("agent", "orchestration") and relative links (./agent) that resolve to .mdx files at runtime. Lychee attempted to validate these as file:// paths without extensions.

Changes

  • .lycheeignore: Added **/meta.json and **/meta.cn.json patterns
  • check-links.yml: Added explicit --exclude-path flags for meta files
  • lychee.toml: Excluded file://**/content/docs/** pattern to skip Fumadocs relative links

External HTTP/HTTPS link checking remains unchanged.

Original prompt

引用: https://github.com/objectstack-ai/spec/actions/runs/21434498273/job/61721754472#step:3:1


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@vercel
Copy link

vercel bot commented Jan 28, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
spec Ready Ready Preview, Comment Jan 28, 2026 10:45am

Request Review

Copilot AI and others added 2 commits January 28, 2026 10:30
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix build issues in action run Fix link checker CI by excluding Fumadocs framework patterns Jan 28, 2026
Copilot AI requested a review from hotlong January 28, 2026 10:38
@hotlong hotlong marked this pull request as ready for review January 28, 2026 11:20
Copilot AI review requested due to automatic review settings January 28, 2026 11:20
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Lychee configuration to avoid false positives from Fumadocs metadata/routing patterns that Lychee interprets as broken local file links during CI.

Changes:

  • Added ignore patterns for Fumadocs meta.json / meta.cn.json.
  • Added workflow-level --exclude-path rules for Fumadocs meta files.
  • Excluded file:// checks under content/docs to skip Fumadocs runtime-resolved relative links.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
lychee.toml Adds a broad file://**/content/docs/** exclusion intended to suppress Fumadocs runtime route false positives.
.lycheeignore Adds ignore globs for meta.json and meta.cn.json.
.github/workflows/check-links.yml Adds --exclude-path flags for meta files in the Lychee CI invocation.

Comment on lines +57 to +59
# Fumadocs relative links (handled by framework at runtime)
# These are links like ./agent that resolve to .mdx files
"file://**/content/docs/**"
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new exclude pattern file://**/content/docs/** is very broad and will match all file:// URLs under content/docs (including the remapped /docs/... links that this config is intended to validate). That likely disables internal doc link validation entirely and leaves only external HTTP/HTTPS checks. Consider narrowing this to only the problematic extensionless routes (e.g., links that don’t end with .md/.mdx) or adding a remap strategy that appends .mdx/.md for Fumadocs-style ./agent routes, so existing internal link checks remain effective.

Copilot uses AI. Check for mistakes.
Comment on lines +29 to +30
--exclude-path '**/meta.json'
--exclude-path '**/meta.cn.json'
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--exclude-path '**/meta.json' / --exclude-path '**/meta.cn.json' appear redundant with the current invocation because the inputs being scanned are only content/**/*.md, content/**/*.mdx, and README.md (so no meta*.json files are included). If the intent is to prevent lychee from parsing those JSON files, either remove these flags for clarity or broaden the input globs to include the JSON files and keep the excludes.

Suggested change
--exclude-path '**/meta.json'
--exclude-path '**/meta.cn.json'

Copilot uses AI. Check for mistakes.
@hotlong hotlong merged commit 8290457 into main Jan 28, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants