phase 1 5 docs site

Docs IA will grow to 30+ pages after D.3.1. Sidebar-only navigation does not scale for returning users who need heading-level jumps (e.g. \"rate limit\", \"RLS\"). Fumadocs Orama search must index `structuredData` from each page so Cmd+K returns heading matches, not just page titles.

Milestone D.2.5 — Cmd+K command palette

Status: Complete
Goal: D.2
Phase: 1.5 — Docs Site
Wave: 4
Estimated effort: 2 hours
ADR required: None

Spec detail: MASTER_BRIEF.md Part D (D.2.5).


Why This Milestone Exists

Docs IA will grow to 30+ pages after D.3.1. Sidebar-only navigation does not scale for returning users who need heading-level jumps (e.g. "rate limit", "RLS").

Fumadocs Orama search must index structuredData from each page so Cmd+K returns heading matches, not just page titles.

Dialog chrome must follow Matte Graphite: 1px border, 6px radius, no backdrop blur.


Non-Goals

  • Algolia or external search SaaS
  • Search over engineering docs/ markdown at repo root
  • AI chat in search dialog

Branch

feat/d2-5-command-palette

PR Title

feat(docs): Cmd+K search palette (D.2.5)


Prerequisites


Deliverables

  • Wire createSearchAPI("advanced", ...) to page structuredData
  • Re-skin Fumadocs search dialog: bg-panel, selected row bg-panel-raised
  • Nav trigger shows <Kbd>⌘ K</Kbd> hint on md+ viewports

See MASTER_BRIEF Part D (D.2.5) for full acceptance detail.


Files Affected

File PathActionNotes
docs/app/src/lib/search.tsAdd/ModifyOrama advanced search API
docs/app/src/components/search-dialog.tsxModifyMatte Graphite dialog skin
docs/app/src/components/layout/nav-search.tsxModifyKbd hint in nav

Testing Requirements

  • verifySearch_CmdKOpens: Cmd+K / Ctrl+K opens dialog from any docs page
  • verifySearch_HeadingMatch: Query "rate limit" returns at least one heading-level hit
  • verifySearch_NoBackdropBlur: Dialog has no backdrop-filter in computed styles

Acceptance Criteria

  • Cmd+K / Ctrl+K opens search from any docs page
  • Query "rate limit" returns at least one heading match (after D.3.1 content exists)
  • Dialog has no backdrop blur

Risks

RiskProbabilityImpactMitigation
Empty index before D.3.1 pages existHighLowSeed introduction page structuredData; retest after IA
Keyboard trap hurts a11yLowHighFollow Fumadocs focus trap; Lighthouse a11y = 100
Search API route missing in static exportLowMediumVerify /api/search on Vercel preview (D.4.1)
Edit on GitHub

Last updated on

On this page

0%