Skip to content

docs: fix broken links and add missing Component cross-references - #2957

Merged
mfal merged 5 commits into
mainfrom
claude/missing-doc-cross-references-132e04
Aug 27, 2026
Merged

docs: fix broken links and add missing Component cross-references#2957
mfal merged 5 commits into
mainfrom
claude/missing-doc-cross-references-132e04

Conversation

@mfal

@mfal mfal commented Aug 27, 2026

Copy link
Copy Markdown
Member

What & why

Two related gaps in the Styleguide content, both about links.

Four internal links were dead (404 on flow.mittwald.de):

Page Dead target Now
Forms pattern /04-components/form-controls/form-react-hook-form /04-components/react-hook-form/form
Forms pattern /04-components/form-controls/field-react-hook-form /04-components/react-hook-form/field
BigNumber /04-components/content/rating /04-components/form-controls/rating
TabNavigation /04-components/status/alert-icon link removed

AlertIcon has no docs page at all — the Component exists and is used in several examples, but nothing documents it. Per README ("Write the name in plain text … when no page exists for it") the name is now plain text. If that page is supposed to exist, it needs its own issue — this PR does not add it.

32 places named a Component in prose without linking it (50 links added), which the README explicitly asks for: "Use inline links generously to connect related documentation. Component names in prose link to the Component's page." The Boundaries page was the worst case — eleven Components mentioned, not one linked.

What a reviewer should know

The candidate list was heavily polluted, so every hit was read in context instead of replaced mechanically. Of 113 raw matches, 57 were German words colliding with Component names and were deliberately left alone:

  • all 29 Navigation — the activity ("die Navigation innerhalb des Seitenbaums"), never the Component
  • all 12 Color — the color or token, and those sentences already link to Foundations › Color, which is the correct target
  • Form — mostly "Form Control" (a category) or the German "in Form von"
  • Accordion in list/index.mdx — that is List's own accordion property; a link would send readers to the unrelated Accordion Component

Where a Component is mentioned several times on a page, only the first occurrence is linked, per the README rule for repeated mentions.

Also removed a stray [Section] link in 02-informationskonzept that rendered as [Section][Headings] with no separator (requested during review of the findings).

No new content, no new examples, no prose rewording beyond the linking itself.

Verification

  • BROKEN internal links: 0 — every internal link target resolves to an existing route
  • Anchor links checked against the app's real slug rule (MdxFileFactory.getAnchors prefixes ## anchors with their # heading) — all valid, none changed
  • Every ]( opener forms a complete link after Prettier rewrapped the prose
  • pnpm lint clean (exit 0; the 119 selector-max-type SCSS warnings are pre-existing and unrelated)

No Next.js build was run — the changes are purely Markdown link syntax in prose.

Checklist

  • PR title is a Conventional Commit and matches the base branch above (docs:main)
  • pnpm lint is clean; no behavior changed, so no browser tests
  • Generated code is committed — no generators affected (content-only change)
  • User-facing strings — n/a, no locale strings touched
  • Docs updated — this is the docs change; no public API or visuals changed

🤖 Generated with Claude Code

Four internal links pointed at routes that do not exist, so they 404ed:

- the Forms pattern linked Form/Field under `/04-components/form-controls/*`
  instead of `/04-components/react-hook-form/*`
- BigNumber linked Rating under `content/` instead of `form-controls/`
- TabNavigation linked `/04-components/status/alert-icon`, which has no page —
  AlertIcon ships as a Component but is not documented, so the name is now
  plain text per the README rule for names without a page

Beyond that, 32 places named a Component in prose without linking it, which the
README asks for ("Component names in prose link to the Component's page"). The
Boundaries page was the worst case: eleven Components mentioned, none linked.

Every candidate was judged in context rather than replaced mechanically,
because German prose collides heavily with Component names. Deliberately left
unlinked: all 29 "Navigation" (the activity, not the Component), all 12 "Color"
(the color/token — those already link to Foundations), "Form Control" as a
category, and List's own `accordion` property, where a link would point at the
unrelated Accordion Component.

Verified: no broken internal links remain, every anchor resolves against
MdxFileFactory's slug rule, and `pnpm lint` is clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mfal
mfal requested a review from a team August 27, 2026 07:12
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Coverage Report for ./packages/components/

Status Category Percentage Covered / Total
🔵 Lines 76% 627 / 825
🔵 Statements 75.91% 643 / 847
🔵 Functions 77.95% 145 / 186
🔵 Branches 66.66% 298 / 447
File CoverageNo changed files found.
Generated in workflow #6351 for commit 9b1fd78 by the Vitest Coverage Report Action

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Preview Deployment

Preview environments are ready:

Type URL
docs pr-2957.docs.review.flow-components.de
storybook pr-2957.storybook.review.flow-components.de

Images:

  • docs: ghcr.io/mittwald/flow/docs:pr-2957
  • storybook: ghcr.io/mittwald/flow/storybook:pr-2957

AlertIcon has no docs page, so the name was left as plain prose. Inline code
makes it visible as a Component identifier instead of reading like a UI term.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Comment thread apps/docs/src/content/03-patterns/01-patterns/detail-page/index.mdx Outdated
Comment thread apps/docs/src/content/04-components/actions/button/index.mdx Outdated
mfal and others added 2 commits August 27, 2026 12:50
Review feedback: "sogenannten SectionAction" was vague and the sentence had no
link. Name the Component that actually goes there and link its page. Also fixes
the number disagreement ("Die sogenannten SectionAction ... bietet").

The SectionAction term stays where it is documented as a concept (Section page
heading, plus four pattern links to that anchor) — only this sentence changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Review feedback: combining text and an icon requires an explicit Text
Component, so the name should link to its page.

Linked on the "Text mit einem Icon" occurrence only. A plain label takes a bare
string child (`<Button>Button</Button>`), while the Text+Icon example wraps the
label in `<Text>` — so linking the first "Text" would claim a Component is
needed where it is not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mfal
mfal enabled auto-merge (squash) August 27, 2026 10:54
Comment thread apps/docs/src/content/04-components/structure/section/index.mdx Outdated
Review feedback: call the header area simply "Actions" and mention in the text
that an ActionGroup can be used as well. SectionAction was never a Component —
SectionHeader tunnels Button/Link/Switch/ActionGroup into its `actions` slot.

The rename changes the anchor, so the four inbound links in the Anlegeprozess
pattern move from `#sectionaction` to `#actions` and drop the old term with it.
`SectionAction` no longer appears anywhere in the content.

Note for anyone linking in from outside the repo: `#sectionaction` is gone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mfal
mfal merged commit ae6457e into main Aug 27, 2026
9 of 10 checks passed
@mfal
mfal deleted the claude/missing-doc-cross-references-132e04 branch August 27, 2026 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants