Fix docs CI hard-fails, broken links, and prose typos#360
Conversation
- Remove stray `import Video from '@/components/Video'` statements (CI hard-fail: bare import in MDX body); <Video> is globally provided, as proven by existing usage elsewhere without any import. - Add missing code-fence language ids across several blog/devlog posts. - Fix broken/mislinked API references (getGT pointing at the useGT page, dictionary `d` references that should read `t`), a duplicated list number, an inverted prefixDefaultLocale example, and other prose bugs (typos, dangling sentences, subject-verb agreement, "fallback" used as a verb, dangling empty sections). - Fill in missing/malformed author frontmatter fields.
Daily docs scan summary18 subagents scanned every subsection under Auto-merge: not enabled — this session's GitHub GraphQL access is restricted to a pinned set of PR-review operations, and REST has no auto-merge endpoint. Someone with repo access will need to click "Enable auto-merge" (squash) manually. Note: this run could not post its summary to Slack (channel C0AEUCELSUT) because Slack tools were unavailable in this session — leaving the report here instead. Fixed by subsection (issues found -> fixed)
4 findings were discarded as false positives: several agents flagged FAQ pages for "skipping" heading levels (h1->h3), but that is a consistent, intentional convention across every Flagged for human judgment, not auto-fixed
37 files touched, all mechanical (no prose rewritten for voice/style, |
Requested by Archie McKenzie · Slack thread
Summary
Daily automated docs scan. 18 subagents scanned every
.mdxfile underdocs/en-US/*,blog/en-US,devlog/en-US, andauthors/for CONTRIBUTING.md compliance, broken links/references, and clear prose errors. Every finding below was independently verified against the actual file contents before being applied — nothing was auto-applied on an agent's word alone.Before → After (by subsection)
core
docs/en-US/core/index.mdx: removed a strayimport Video from '@/components/Video';— this is a CI hard-fail (bare import in an MDX body);<Video>is provided globally, as proven by other pages that already use it without importing it.docs/en-US/core/locales.mdx: completed a sentence that trailed off mid-thought ("However, the platform will only translate" → "...into locales that are officially supported.").react
docs/en-US/react/api/components/gtprovider.mdx: "Render settings controls the loading behavior" → "Render settings control the loading behavior" (subject–verb agreement).react-core-linter
docs/en-US/react-core-linter/index.mdx,docs/en-US/react-core-linter/guides/quickstart.mdx: removed the same strayimport VideoCI hard-fail.docs/en-US/react-core-linter/rules/static-string.mdx: "Registration functions can only accept static strings" → "Translation functions..." (the rule is about translation functions likegt/msg; "Registration" doesn't appear anywhere else on the page).next
api/config/with-gt-config.mdx: fixed a reference to a non-existentwithGTProps→withGTConfig.api/dictionary/use-translations.mdx: the doc called the returned functiondin three spots, but every code example on the page calls itt(const t = useTranslations()). Fixed all three tot.api/types/dictionary-translation-options.mdx: samed→tfix, plus fixed the accompanying link (was pointing at theuseGTstrings page instead ofuseTranslations); also fixed a heading level (### Next steps→## Next steps, matching every other page).api/components/tx.mdxandapi/strings/tx.mdx: fixed an identical garbled sentence in both files ("there is a delay while waiting for an on-demand translation to load is significantly slower" → "on-demand translation is significantly slower, since there is a delay while waiting for the translation to load"); also fixed agetGTlink that pointed at theuseGTpage instead ofgetGT's own page.api/strings/get-gt.mdx,api/strings/get-messages.mdx: "Translations strings with X" → "Translation strings with X"; "it will fallback to..." → "it will fall back to..." ("fallback" used as a verb).api/components/t.mdx,api/helpers/get-locale.mdx(×2),concepts/environments.mdx: same "fallback" (verb) → "fall back" fix.api/middleware/create-next-middleware.mdx: the "Remove default locale prefix" section's code sample setprefixDefaultLocale: true, contradicting both the section's own instructions and the explanation directly below it — changed tofalse. Also removed a trailing## Next stepsheading with no content under it.guides/local-tx.mdx: removed a dangling- API References:bullet with no sub-items under it (rather than inventing links).guides/migration.mdx: fixed a duplicated list number (two consecutive "2." items → "2." and "3.").index.mdx: "Both<T>,useGT(), andgetGT()support..." → "All of<T>,useGT(), andgetGT()..." ("both" doesn't work for three items).tutorials/examples/next-speedrun.mdx: "Dev Api Keys" → "Dev API Keys" (capitalization).overview
docs/en-US/overview/faqs.mdx: "Yes you can!" → "Yes, you can!" (missing comma).locadex
docs/en-US/locadex/next.mdx: removed a leftover HTML-commented-out image reference pointing at a nonexistent asset path.blog
blog/en-US/i18n-without-translation-files.mdx: removed the same strayimport VideoCI hard-fail.blog/en-US/gt-next.mdx,blog/en-US/multilingual-nextjs-seo.mdx(×2),blog/en-US/plurals.mdx(×4): added missing language ids to fenced code blocks (```→```bash/```text).devlog
devlog/en-US/gt-react_v10_15_0.mdx,devlog/en-US/gt-react_v10_19_0.mdx,devlog/en-US/react-core-linter_v0_1_0.mdx: removed the same strayimport VideoCI hard-fail (3 more occurrences).devlog/en-US/gt-next_v6_3_0.mdx,devlog/en-US/gt-react_v10_18_0.mdx: added missing code-fence language ids.devlog/en-US/gt-next_v6_2_0.mdx: fixed a 2-item list that was indented with spaces+a tab, which made Markdown render it as a code block instead of a numbered list.devlog/en-US/gt-next_v6_10_0.mdx: "locale resolution happens from the reading the URL path" → removed the duplicated article.authors
authors/archie.mdx: fixed a malformed Twitter/X profile URL that had an erroneous/photosuffix.authors/jackie.mdx: added the requiredoccupationfrontmatter field (Software Engineer— taken directly from the bio text on the same page).authors/default.mdx: added the requiredoccupationfrontmatter field (Team).How
37 files touched across
docs/en-US/{core,react,react-core-linter,next,overview,locadex},blog/en-US,devlog/en-US, andauthors/. All changes are mechanical (removed/added a line, fixed a word, fixed a link target) — no prose was rewritten for voice or style, anddocs-templates/was not touched.Flagged for human review (not auto-fixed — needs a judgment call)
docs/en-US/react-native/tutorials/quickstart.mdxandquickstart-expo.mdx: both say gt-react-native "does not export a pre-built<LocaleSelector>component," but the same files (andmini-shop.mdx, and the API reference) also document/use<LocaleSelector>. Unclear which side of the contradiction is stale.docs/en-US/cli/formats/gt.mdx: frontmatter title is "GT JSX," but the page is actually a CLI/build workflow tutorial, not a description of a JSX-related format. Possibly a stale title, but changing it needs someone who knows the intended scope of the page.devlog/en-US/gt-i18n_v0_1_0.mdx: three inline links (msg(),mFallback(),gtFallback()) point at#placeholders instead of real targets — left alone since we don't have the correct URLs.Generated by Claude Code