# Конфигурация lychee для проекта Лидерра
# Документация: https://lychee.cli.rs

# Кеш на 12 часов — внешние ссылки не дёргать каждый запуск
cache = true
max_cache_age = "12h"

# Прокси не используем (Yandex Cloud, всё в РФ)

# Таймаут для каждого запроса
timeout = 20

# Параллелизм (на Windows бывает аккуратнее уменьшать до 64)
max_concurrency = 32

# Сколько раз ретраить при сетевых ошибках
max_retries = 2

# Принимать редиректы как валидный ответ
accept = ["200..=299", "301", "302", "307", "308", "401", "403"]

# Fragment-ы (#section) проверяются по умолчанию.
# В lychee 0.24.2 опция include_fragments удалена; для отключения
# проверки фрагментов добавляйте к URL `?#` или используйте exclude.

# Игнорировать локальные пути к будущим артефактам, которых ещё нет
exclude = [
  # Шаблонные плейсхолдеры
  "^\\{\\{.*\\}\\}$",
  "^\\[.*\\]$",
  # localhost и приватные адреса
  "^https?://localhost",
  "^https?://127\\.0\\.0\\.1",
  "^https?://0\\.0\\.0\\.0",
  "^https?://192\\.168\\.",
  # Будущие домены проекта (DO-2 — после Б-1)
  "^https?://liderra\\.ru",
  "^https?://.*\\.liderra\\.ru",
  "^https?://.*\\.<домен>",
  # Внутренние URL из runbook (бастионы, sentry self-hosted)
  "^https?://bastion\\.",
  "^https?://sentry\\.",
  "^https?://grafana\\.",
  "^https?://alertmanager\\.",
  "^https?://admin\\.",
  "^https?://status\\.",
  "^https?://postgres-",
  # Sample/примерные адреса
  "^https?://example\\.com",
  "^https?://example\\.org",
  # Приватный репозиторий проекта (404 для анонимных запросов — это норма)
  "^https?://github\\.com/CoralMinister/liderra",
  # web/v8/*.html — статические концепты, root-relative ссылки на будущие маршруты Vue
  "^/(login|register|legal|dashboard|deals|admin|reports|reminders|billing|impersonation|notifications)(/|$|\\?)",
  # Корневой `/` в концептах (логотип-якорь для будущей главной)
  "^/$",
  # Plan 3 spec/plan files (commits 1a265b5 + 989256b) используют project-root-
  # relative ссылки на app/, db/, lefthook.yml, CLAUDE.md. GitHub UI рендерит
  # корректно; lychee local resolution relative к markdown file directory
  # ломается (resolved как docs/superpowers/specs/<path>). Links валидны
  # семантически, исключаем file://-URLs ведущие в несуществующий docs/-prefix.
  "^file://.*/docs/(app|db|lefthook|CLAUDE)",
  # Brain-extraction untracked files (другая session, project-root-relative
  # paths не resolve'ятся через relative из docs/superpowers/*/). Untracked
  # на disk — не входят в commits Plan 3. Исключаем broken file:// URLs.
  "^file://.*\\.claude/projects/.*/memory/",
  "^file:///C:/[^/]+/[^/]+/CLAUDE\\.md$",
  # Brain-extraction file имеет project-root-relative paths типа docs/architecture.md
  # которые resolve через docs/superpowers/plans/docs/... — broken для lychee.
  "^file://.*docs/superpowers/plans/docs/",
  "^file://.*docs/superpowers/plans/CLAUDE\\.md"
]

# Игнорировать файлы вне аудита
exclude_path = [
  "node_modules",
  ".git",
  "bin",
  # HTML-концепты handoff Платона (v8 Forest) и копии в web/v8/ — демо-файлы
  # с root-relative ссылками на будущие маршруты Vue+Vuetify (/login, /register,
  # /legal/offer, /legal/privacy и т.п.). Lychee не может резолвить их без
  # --root-dir, плюс маршруты появятся только после реализации в фазе 2+.
  # Линки внутри концептов проверяем визуально при ревью handoff'а.
  "liderra_v8_handoff/concepts",
  "web/v8",
  # Plan 3 spec + plan files используют project-root-relative paths
  # (intended для GitHub UI rendering); lychee resolution относительно
  # markdown file directory не работает. Links указывают на реальные
  # project files, проверяются визуально при ревью.
  "docs/superpowers/specs/2026-05-11-plan3-supplier-sync-design.md",
  "docs/superpowers/plans/2026-05-11-supplier-sync-plan3.md",
  # Brain-extraction files (другая session, untracked в working tree) —
  # имеют ссылки на `docs/...` relative из своей dir + memory/-paths
  # вне репозитория. Не относятся к Plan 3 push.
  "docs/superpowers/plans/2026-05-10-claude-brain-extraction.md",
  "docs/superpowers/specs/2026-05-10-claude-brain-extraction-design.md"
]

# User-Agent — некоторые сайты режут пустой
user_agent = "lychee/liderra"

# Не падать, если в файле нет ссылок
no_progress = false
