fix(ci): docs:check-links groen — exclude docs/old/ + archiveer stale plans
CI faalde sinds #191 (docs cleanup) op pre-existing broken links: - docs/old/ bevat archief-docs met by-design stale paden - docs/plans/PBI-79*, M9*, M11* hadden geprojecteerde paden naar ../backlog/index.md (verplaatst naar docs/old/backlog/) en naar app-bestanden die nooit met de juiste relatieve prefix waren geschreven - docs/adr/0000* verwees naar docs-restructure-ai-lookup.md (verplaatst) - docs/glossary.md verwees naar /docs/backlog/index.md (verplaatst) Fixes: - scripts/check-doc-links.mjs: skip docs/old/ recursief - Move docs/plans/{PBI-79,M9,M11}*.md → docs/old/plans/ (allemaal merged PBIs; plans waren historisch) - docs/adr/0000-record-architecture-decisions.md: update pad naar archief - docs/glossary.md: verwijder dode "backlog index"-link Verificatie: `npm run docs:check-links` → ✓ All doc links valid (105 files) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0a842e6841
commit
376ea22b4d
7 changed files with 10 additions and 5 deletions
|
|
@ -42,10 +42,7 @@ Auto-generated on 2026-05-11 from front-matter and headings.
|
|||
| [PBI Bulk-Create Spec — Docs-Restructure for AI-Optimized Lookup](./plans/docs-restructure-pbi-spec.md) | done | 2026-05-03 |
|
||||
| [Plan: model + mode-selectie per ClaudeJob-kind](./plans/job-model-selection.md) | — | — |
|
||||
| [Verbeterplan load/render Product Backlog, Sprint en Solo](./plans/load-render-improvement-plan-2026-05-10.md) | draft | 2026-05-10 |
|
||||
| [M11 — Claude vraagt, gebruiker antwoordt](./plans/M11-claude-questions.md) | active | 2026-05-03 |
|
||||
| [M12 — Idea entity + Grill/Plan Claude jobs](./plans/M12-ideas.md) | planned | — |
|
||||
| [M9 — Actief Product Backlog](./plans/M9-active-product-backlog.md) | active | 2026-05-03 |
|
||||
| [PBI-79: Product Backlog workflow — sprint-membership via vinkjes](./plans/PBI-79-backlog-sprint-workflow.md) | — | — |
|
||||
| [Queue-loop verplaatsen van Claude naar runner](./plans/queue-loop-extraction.md) | — | — |
|
||||
| [Sprint MCP-tools — create_sprint & update_sprint](./plans/sprint-mcp-tools.md) | draft | 2026-05-11 |
|
||||
| [Advies - SprintRun, PR en worktree lifecycle als state machines](./plans/sprint-pr-worktree-state-machines.md) | draft | 2026-05-06 |
|
||||
|
|
|
|||
|
|
@ -61,6 +61,6 @@ that supersedes the old one rather than editing the original.
|
|||
not enforced through review.
|
||||
- Backfilling existing decisions requires writing 5–8 retrospective ADRs
|
||||
for choices that were never recorded (planned in fase 6 of
|
||||
[`../plans/docs-restructure-ai-lookup.md`](../plans/docs-restructure-ai-lookup.md)).
|
||||
[`../old/plans/docs-restructure-ai-lookup.md`](../old/plans/docs-restructure-ai-lookup.md)).
|
||||
- Two templates means a per-decision choice about which to use. Mitigated
|
||||
by making Nygard the explicit default in `README.md`.
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ Synonym for **ClaudeJob** — used in agent-facing docs because Claude Code cons
|
|||
|
||||
## PBI (Product Backlog Item)
|
||||
|
||||
The second level of the work hierarchy: `Product → PBI → Story → Task`. A PBI groups related stories under a single theme or capability. Status enum: `READY | BLOCKED | FAILED | DONE`. Has a stable `code` (`PBI-N`) per product. Do not use "Epic", "Feature", or "Issue" as synonyms. See [backlog index](./backlog/index.md).
|
||||
The second level of the work hierarchy: `Product → PBI → Story → Task`. A PBI groups related stories under a single theme or capability. Status enum: `READY | BLOCKED | FAILED | DONE`. Has a stable `code` (`PBI-N`) per product. Do not use "Epic", "Feature", or "Issue" as synonyms.
|
||||
|
||||
## Solo Panel
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,16 @@ import { fileURLToPath } from 'url';
|
|||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const ROOT = resolve(__dirname, '..');
|
||||
|
||||
// Directories under docs/ that are archived and may contain stale links by design.
|
||||
// Their original-as-written paths are kept for historical reference, but the
|
||||
// targets have since moved/been deleted. Skip them from link-checking.
|
||||
const EXCLUDE_DIRS = new Set([
|
||||
resolve(__dirname, '..', 'docs', 'old'),
|
||||
]);
|
||||
|
||||
// Collect all .md files under a directory recursively
|
||||
function collectMd(dir) {
|
||||
if (EXCLUDE_DIRS.has(dir)) return [];
|
||||
const results = [];
|
||||
for (const entry of readdirSync(dir)) {
|
||||
const full = resolve(dir, entry);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue