Skip to content

fix: daily docs scan — broken links, CI hard-fails, typos, casing#369

Closed
claude[bot] wants to merge 1 commit into
mainfrom
docs/daily-scan-2026-07-16
Closed

fix: daily docs scan — broken links, CI hard-fails, typos, casing#369
claude[bot] wants to merge 1 commit into
mainfrom
docs/daily-scan-2026-07-16

Conversation

@claude

@claude claude Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Requested by Archie McKenzie · Slack thread

Daily automated documentation scan. 19 subagents (one per docs subsection, plus blog/devlog/authors) audited every .mdx file against CONTRIBUTING.md/CLAUDE.md conventions, CI hard-fail rules, and general markdown hygiene. Only high-confidence, mechanical fixes were applied — nothing here changes example code semantics or rewrites voice/style.

Before / After summary

core

  • index.mdx: Before: a stray import Video from '@/components/Video'; in the MDX body (CI hard-fail). After: import removed — <Video> still resolves via the global MDX component registry.
  • locales.mdx: Before: all top-level sections used ### with no ## present, skipping a heading level. After: promoted to ## (this file's own siblings in core/ all correctly start at ##, so this was an isolated inconsistency, not a site convention).

cli

  • stage.mdx: Before: a parameters table with rows missing their closing |. After: closing pipes added so the table renders correctly.

key-concepts

  • dynamic-content.mdx: Before: an inline code example written as literal escaped backticks (\`¡Hola, $\{name\}!\`) that would render as broken text. After: proper inline code span.

locadex

  • next.mdx: Before: gt-next referenced without backticks. After: wrapped in backticks per package-name convention.
  • auto-merge.mdx: Before: image alt text with misplaced quotes ("Locadex Agent selected"). After: "Locadex Agent" selected.

next (13 files)

  • Fixed 2 broken links where getGT pointed at the use-gt page instead of get-gt (api/components/tx.mdx, api/strings/tx.mdx).
  • Fixed prose that called the useTranslations() return value `d` when every code example in the same files uses `t` (use-translations.mdx, dictionary-translation-options.mdx).
  • Fixed a nonexistent function name withGTPropswithGTConfig (with-gt-config.mdx), and an invalid trailing comma in a json code sample in the same file.
  • Added a missing $context row to a parameter table, copied verbatim from the sibling InlineTranslationOptions page (runtime-translation-options.mdx).
  • Fixed incorrect brand/product casing: "GT Next" → `gt-next` (guides/languages.mdx), "Dev Api Keys" → "Dev API Keys", "General translation" → "General Translation", "gt-next" link → [`gt-next`] (tutorials/examples/next-speedrun.mdx), "api key and project id" → "API key and project ID" (tutorials/examples/currency-converter/preptx.mdx).
  • Fixed a duplicated list number (1, 2, 21, 2, 3) and an article typo ("a LLMs.txt" → "an LLMs.txt") in guides/migration.mdx.
  • Reworded an awkward "Both X, Y, and Z" construction for 3 items in index.mdx.
  • Added backticks around a bare link [withGTConfig()] in api/helpers/get-locale.mdx.

node

  • guides/strings.mdx: Before: the msg() link pointed at the same target as the adjacent getMessages() link. After: points at its own reference page, /docs/node/api/strings/msg.

react-core-linter

  • index.mdx, guides/quickstart.mdx: Before: stray import Video ... statements (CI hard-fail). After: removed; <Video> still resolves globally.
  • rules/static-string.mdx: Before: "Registration functions can only accept static strings." (wrong term, doesn't match the rest of the page). After: "Translation functions can only accept static strings."

react

  • tutorials/mini-shop.mdx: Before: "GT React" (incorrect casing). After: `gt-react`, in both the frontmatter description and prose.
  • api/components/gtprovider.mdx, api/strings/t-function.mdx: Before: ## Notes sections used - bullets. After: changed to *, per the CONTRIBUTING.md convention for API-page Notes sections.

blog

  • i18n-without-translation-files.mdx: Before: stray import Video ... (CI hard-fail). After: removed.
  • gt-next.mdx: Before: a code fence with no language id (``` copy). After: ```bash copy. Also fixed 3 skipped heading levels (H1→H3/H4 with no H2).

devlog

  • gt-react_v10_15_0.mdx, gt-react_v10_19_0.mdx, react-core-linter_v0_1_0.mdx: Before: stray import Video ... statements (CI hard-fail). After: removed.
  • gt-i18n_v0_1_0.mdx: Before: dead placeholder links [msg()](#) etc. pointing at bare #. After: replaced with plain bold/code text.
  • gt-next_v6_2_0.mdx: Before: a numbered list mis-indented with tabs, rendering as a code block instead of a list. After: fixed indentation so it renders as 1. / 2..

authors

  • jackie.mdx: Before: missing the required occupation frontmatter field. After: added occupation: Software Engineer, inferred directly from the bio text ("Jackie is a software engineer at General Translation").

Flagged for human follow-up (not auto-fixed — left as-is):

  • docs/en-US/api/**: 6 auto-generated (Fumadocs) files are missing a description in frontmatter; needs a fix in the upstream OpenAPI spec/generation step, not a direct edit.
  • docs/en-US/python/guides/strings.mdx: a msg() link with no dedicated reference page, and a possible context vs _context parameter-name mismatch — needs an engineer to confirm intent.
  • Several <Callout> blocks in python/ missing the required bold lead phrase — wording choice, left for a maintainer.
  • authors/archie.mdx: a Twitter URL with a suspicious trailing /photo segment — not touched since altering a real person's social link needs human confirmation.
  • authors/default.mdx: missing occupation — no safe value to infer for the shared "Team" profile.
  • blog/en-US/best-localization-software.mdx: two links to a docs page that doesn't appear to exist under docs/en-US/next/ — correct target is ambiguous.

Deliberately left unchanged: the ###-only heading pattern (no ##) used across most faqs.mdx pages (cli, locadex, overview, next, react, react-native, sanity) is a consistent, intentional site-wide convention, not a defect — two subagents initially "fixed" it in core/faqs.mdx, next/faqs.mdx, and react/faqs.mdx before this was caught; those changes were reverted to keep all FAQ pages consistent with each other.

How

Changes are confined to .mdx content files across authors/, blog/en-US/, devlog/en-US/, and docs/en-US/{cli,core,key-concepts,locadex,next,node,react-core-linter,react}/. No code, config, or build files were touched.


Generated by Claude Code

- Remove CI-blocked `import Video` statements left in MDX bodies across
  core, react-core-linter, blog, and devlog (Video is globally registered)
- Fix broken/mismatched internal links (node msg(), next getGT(), next
  DictionaryTranslationOptions prose using `d` instead of `t`)
- Add missing `occupation` frontmatter field for authors/jackie.mdx
- Add language ids to fenced code blocks missing them (blog/gt-next.mdx)
- Fix heading-hierarchy skips in core/locales.mdx (H1->H3, no established
  site convention here, unlike FAQ pages)
- Fix malformed CLI parameter table missing closing pipes (cli/stage.mdx)
- Fix invalid JSON trailing comma in a code sample (with-gt-config.mdx)
- Fix duplicate list numbering and mis-indented list in devlog entries
- Fix incorrect brand/package-name casing ("GT Next" -> `gt-next`, "GT
  React" -> `gt-react`, "Dev Api Keys" -> "Dev API Keys", "General
  translation" -> "General Translation", "api key"/"project id" -> "API
  key"/"project ID")
- Fix `Notes` sections using `-` instead of required `*` bullet marker
- Fix grammar (article "a" -> "an" before vowel sound, "d" -> "t" typo)
- Replace dead `[text](#)` placeholder links with plain bold/code text

Left untouched: FAQ pages' H3-only heading pattern (verified as a
consistent, intentional site-wide convention across 7+ faqs.mdx files,
not a defect), and issues inside Fumadocs auto-generated API stub files
(need upstream template/spec fixes, not direct edits).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UtRNKpkDsfeQY1VAhSrXvd
@moss-bryophyta

Copy link
Copy Markdown
Contributor

Closing stale docs PR — docs review is moving to a linter-based workflow going forward, and this backlog is now out of date (per Taylor). Keeping #372 and #373.

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