-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path.lychee.toml
More file actions
87 lines (72 loc) · 3.37 KB
/
Copy path.lychee.toml
File metadata and controls
87 lines (72 loc) · 3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# lychee link-checker config. Used by .github/workflows/lychee.yml.
# Docs: https://lychee.cli.rs/
# Network behavior
max_redirects = 10
max_concurrency = 8
timeout = 20
retry_wait_time = 2
max_retries = 2
# Treat these statuses as OK. Many sites block bot UAs with 403/429 even when
# the URL itself is fine — we don't want flaky failures on link-check.
accept = [200, 201, 202, 204, 206, 301, 302, 303, 304, 307, 308, 403, 429]
# Don't try to dereference these — they're either local-only, intentional
# placeholders in spec text, or rate-limited social platforms that hate bots.
exclude = [
# Loopbacks and placeholders
"^https?://localhost",
"^https?://127\\.0\\.0\\.1",
"^https?://0\\.0\\.0\\.0",
"^https?://\\[::1\\]",
"^file://",
# Registry / spec example placeholders
"^https://raw\\.githubusercontent\\.com/yourname/",
"^https://github\\.com/yourname/",
"^https://example\\.com",
"^https://your-org\\.",
# Rate-limited / bot-hostile domains
"^https?://([a-z0-9-]+\\.)?linkedin\\.com",
"^https?://([a-z0-9-]+\\.)?twitter\\.com",
"^https?://([a-z0-9-]+\\.)?x\\.com",
"^https?://t\\.co",
"^https?://([a-z0-9-]+\\.)?facebook\\.com",
"^https?://([a-z0-9-]+\\.)?instagram\\.com",
# Anchors-only / mailto / tel
"^mailto:",
"^tel:",
# Demo registry entries — these are placeholder owners under the
# `understand-quickly/` org (the demo repos don't exist as real GitHub
# repos; their graph fixtures live in this same repo under
# `schemas/__fixtures__/`). Rendered into the README's BEGIN/END ENTRIES
# table by `scripts/render-readme.mjs` from `registry.json`.
"^https://github\\.com/understand-quickly/demo-",
# Marketplace listing exists for `looptech-ai/uq-publish-action` (v0.1.0
# is published) but the human-readable slug
# `/marketplace/actions/understand-quickly-publish` resolves 404 from the
# public CDN. Keeping the link in the README because the action *is* on
# Marketplace; suppressing the false positive until GitHub propagates.
"^https://github\\.com/marketplace/actions/understand-quickly-publish$",
# Pages directory listings (`/badges/`) without a specific entry
# 404 — only the per-entry SVG URLs resolve. This shows up when lychee
# decodes the angle-bracket placeholder in templated badge markup.
"^https://looptech-ai\\.github\\.io/understand-quickly/badges/?$",
# Auth-required GitHub settings URL — referenced in
# `docs/ops/npm-org-setup.md` as a "go here to do X" instruction.
"^https://github\\.com/looptech-ai/understand-quickly/settings/",
# Marketing/promotion-targets submission forms that periodically
# disappear or change paths upstream; not load-bearing for the registry.
"^https://tldr\\.tech/ai/submit-tip$",
"^https://bensbites\\.com/submit$",
"^https://latent\\.space/p/contact$",
# npmjs.com 403s the lychee UA — package pages are well-known surfaces
# and the same URLs are reachable from any browser.
"^https://www\\.npmjs\\.com/package/",
]
# Use a polite, browser-ish UA. Some CDNs 403 the lychee default UA.
user_agent = "Mozilla/5.0 (compatible; understand-quickly-linkcheck/1.0; +https://github.com/looptech-ai/understand-quickly)"
# Cache between runs (workflow restores it)
cache = true
max_cache_age = "1d"
# Where to scan when no explicit input is given (the workflow passes inputs
# directly, but these are the defaults).
include_verbatim = false
no_progress = true