Skip to content

docs: reconcile H1/label mismatches into front-matter titles (Phase 3) - #28036

Draft
nickvigilante wants to merge 2 commits into
mainfrom
vigilante/docs-484-phase-3-batch-b-mismatches
Draft

docs: reconcile H1/label mismatches into front-matter titles (Phase 3)#28036
nickvigilante wants to merge 2 commits into
mainfrom
vigilante/docs-484-phase-3-batch-b-mismatches

Conversation

@nickvigilante

@nickvigilante nickvigilante commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Batch B of Phase 3 of the H1 → front-matter migration (DOCS-484; parent DOCS-477), the editorial follow-up to Batch A (#28030). For the 124 hand-authored pages whose leading body H1 differed from the manifest nav label, this promotes the richer body H1 to the front-matter page title and drops the duplicate H1, while keeping the short manifest label as the sidebar entry.

Policy agreed with the docs owner:

  • Short sidebar labels win. Duplicate sidebar labels are acceptable.
  • Identical page titles across two pages are not. On a collision, rename the non-generated page's title.

Page-title collisions resolved

Promoting the H1 created 4 page-title collisions; each is disambiguated by renaming the non-generated / secondary page (sidebar labels left unchanged):

page sidebar label body H1 → page title
install/index.md Install Installing Coder Install Coder in your infrastructure
install/cli.md Coder CLI Installing Coder Install the Coder CLI
ai-gateway/clients/jetbrains.md JetBrains JetBrains IDEs JetBrains
workspace-access/web-ides.md Web IDEs and Coder Apps Web IDEs Web IDEs (kept — primary user guide)
extending-templates/web-ides.md Web IDEs and Coder Apps Web IDEs Web IDEs in templates
workspace-management.md Workspace Management Workspaces Manage workspaces (vs generated api/workspaces.md)

These titles are the only non-mechanical editorial calls in this PR.

Deliberately excluded: generated pages

admin/security/audit-logs.md and admin/setup/configuration-reference.md are make gen outputs (auditdocgen / configdocgen) that Phase 2 did not update, so a hand-added title would be reverted on the next generation. They're excluded here and need their generators taught to emit front matter first (Phase 2 pattern), tracked as DOCS-631. Batch A (#28030) had the same issue for three other generated pages; it has been corrected there too.

Verification

AI was the primary author of this PR (see disclosure below); per the AI Contribution Guidelines here is the manual verification.

  • Promote = set front-matter title to the body H1 (or the disambiguated title above) and remove that one duplicate H1. No other body prose is reflowed.
  • Every added front-matter block parses as YAML; all files pass pnpm check-docs (markdownlint-cli2 + table formatter): Summary: 0 error(s).
  • Removing the H1 orphaned one in-page fragment ([MCP](#mcp) in ai-gateway/mcp.md), now repointed. A cross-file fragment audit into the retitled pages found no real breakage.
Anchor-change note

Unlike Batch A (title unchanged, a rendered no-op), Batch B changes each page's effective title from the manifest label to the body H1, so the rendered H1 anchor slug changes. An audit of cross-file .md#fragment links into these pages surfaced no links that break as a result (the only hits were false positives against a still-present ## TLS & Reverse Proxy heading). Same-file fragments are enforced by markdownlint MD051, which is green.

Linear: DOCS-484

This PR was created with AI assistance (Coder Agents).

Batch B of the Phase 3 H1 to front-matter migration (DOCS-484, parent
DOCS-477). For the 124 hand-authored pages whose body H1 differed from
the manifest nav label, promote the richer body H1 to the front-matter
page title and drop the duplicate H1, keeping the short manifest label
as the sidebar entry (policy agreed with the docs owner).

Page-title collisions are resolved by renaming the non-generated page:
- install/cli.md -> "Install the Coder CLI" (vs install landing "Installing Coder")
- ai-gateway/clients/jetbrains.md -> "JetBrains"
- extending-templates/web-ides.md -> "Web IDEs in templates"
- workspace-management.md -> "Manage workspaces" (vs generated api/workspaces.md)

Duplicate sidebar labels are acceptable; identical page titles are not.
Generated pages (audit-logs, configuration-reference) are excluded;
their generators must emit front matter first (tracked separately).
Also drops a now-dangling in-page #mcp fragment in ai-gateway/mcp.md.
@linear-code

linear-code Bot commented Aug 11, 2026

Copy link
Copy Markdown

DOCS-484

@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

Docs preview

Check off each page once it's been reviewed. If a page changes in a later push, its checkbox clears automatically so it gets a fresh look. Pages not yet wired into the docs navigation aren't listed here.

Comment thread docs/install/docker.md

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [linkspector] reported by reviewdog 🐶
Cannot reach ../admin/setup/index.md#configure-control-plane-access Status: 404 Cannot find section: #configure-control-plane-access in file: /home/runner/work/coder/coder/docs/admin/setup/index.md.

- [Control plane configuration](../admin/setup/index.md#configure-control-plane-access)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [linkspector] reported by reviewdog 🐶
Cannot reach ../provisioners/index.md#external-provisioners Status: 404 Cannot find section: #external-provisioners in file: /home/runner/work/coder/coder/docs/admin/provisioners/index.md.

[External Provisioner Daemons](../provisioners/index.md#external-provisioners), ensure

Set the install landing page title to "Install Coder in your
infrastructure" (sidebar label unchanged).
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.

1 participant