Skip to content

Audit landing page examples against docs#968

Merged
tannerlinsley merged 1 commit into
mainfrom
taren/landing-pages-docs-audit
Jun 8, 2026
Merged

Audit landing page examples against docs#968
tannerlinsley merged 1 commit into
mainfrom
taren/landing-pages-docs-audit

Conversation

@tannerlinsley

@tannerlinsley tannerlinsley commented Jun 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Replaces unsupported or misleading landing-page API snippets with docs-backed examples across TanStack library pages.
  • Simplifies shared landing code examples to safer React examples where multi-framework snippets were inaccurate.
  • Updates CLI/MCP, Devtools, AI, Config, Form, Store, Pacer, Query, Ranger, Router, DB, Intent, Hotkeys, and Workflow copy or examples for current docs alignment.
  • Allows landing pages to render when a library docs config is missing by falling back to an empty docs config.

Validation

  • pnpm test
  • Browser smoke-tested all current library landing routes locally; each rendered without the app error boundary.

Summary by CodeRabbit

  • Documentation

    • Updated landing page code examples and content across 14 products with current API patterns and best practices.
    • Expanded Devtools framework coverage to include Vue and Angular.
    • Updated MCP migration guide references.
  • Bug Fixes

    • Improved configuration error handling for missing config files.

@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Landing pages across all TanStack libraries are updated with revised messaging, new code examples, and expanded framework support. Changes emphasize CLI-first workflows, typed workflows with explicit run state, and Config's Changesets integration, while consolidating code examples to focus on React patterns.

Changes

Landing Pages and Documentation Updates

Layer / File(s) Summary
CLI-first messaging and MCP migration redirect
src/components/landing/CliLanding.tsx, src/libraries/libraries.ts
CliLanding content is reframed from MCP-inclusive to CLI-first, describing scaffolding, docs search, and modular integrations. Command examples, feature cards, hero text, and builder output descriptions are updated. The MCP library redirect is changed to point to the CLI MCP migration guide.
Workflow typing and explicit run state messaging
src/components/landing/WorkflowLanding.tsx
WorkflowLanding shifts messaging from durable/resumable durability language to typed workflows with explicit run state. Hero proof, feature cards, lifecycle descriptions, and observability examples now describe history, attempts, next actions, and visible process state.
Config messaging: Changesets and CI/CD toolchain
src/components/landing/ConfigLanding.tsx
ConfigLanding emphasizes Changesets-backed releases and CI versioning. Release panel checklist, audit signals, and marketing copy reference new toolchain steps including vite build && publint --strict, nx affected, and changesets versioning.
Library landing pages: API pattern updates
src/components/landing/AiLanding.tsx, src/components/landing/DbLanding.tsx, src/components/landing/PacerLanding.tsx, src/components/landing/QueryLanding.tsx, src/components/landing/RangerLanding.tsx
Landing pages demonstrate updated API patterns: useChat with fetchServerSentEvents, useLiveQuery with query builder syntax, AsyncQueuer construction, invalidateQueries with options object, and expanded useRanger configuration.
Devtools framework expansion and other library updates
src/components/landing/DevtoolsLanding.tsx, src/components/landing/FormLanding.tsx, src/components/landing/HotkeysLanding.tsx, src/components/landing/IntentLanding.tsx, src/components/landing/RouterLanding.tsx, src/components/landing/StoreLanding.tsx, src/libraries/libraries.ts
Devtools expands to support Vue and Angular; Form updates to use schema terminology and form-level validation state; Hotkeys switches to useHotkey with enabled option; Intent updates stale command syntax; Router updates Zod schema labeling; Store switches to useSelector API. Library metadata updated for devtools frameworks and CLI description.
Code examples consolidation to React-focused samples
src/components/landing/codeExamples.server.tsx
Svelte and Lit query examples are rewritten to use new patterns; Form, Virtual, and Table examples are narrowed to React-only with updated hook usage, field-level error handling, useReactTable with getCoreRowModel, and flexRender header rendering.
Configuration fallback handling
src/utils/config.ts
getTanstackDocsConfig gracefully returns an empty config when config.json is missing instead of throwing an error.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • TanStack/tanstack.com#906: Updates Lit query example code in codeExamples.server.tsx alongside the main PR's render logic rewrite for the same file.

Suggested reviewers

  • schiller-manuel
  • KevinVandy

🐰 A hop, skip, and landing leap away,
The docs are fresh, the patterns stay.
From seams to bounds, from durability's call,
Typed workflows and Changesets grace it all.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly reflects the main objective: auditing landing page examples against documentation to ensure they are accurate and supported.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch taren/landing-pages-docs-audit

Comment @coderabbitai help to get the list of available commands and usage tips.

@tannerlinsley tannerlinsley marked this pull request as ready for review June 8, 2026 14:29

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/landing/StoreLanding.tsx`:
- Around line 103-105: The example currently shows a broad subscription via
store.subscribe(listener) which contradicts the page's "Subscriptions stay
narrow" messaging; update the example in StoreLanding.tsx to demonstrate a
selector-based subscription (i.e., subscribe to a specific slice/property rather
than the whole store) by replacing the broad call store.subscribe(listener) with
a targeted subscription using a selector (or add a brief clarifying note if you
intend to show a global subscription use-case), and ensure the example aligns
with the landing copy about narrow subscriptions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1e14387e-b595-4931-9d64-a92fb57e6d69

📥 Commits

Reviewing files that changed from the base of the PR and between 04d637d and 784154c.

📒 Files selected for processing (17)
  • src/components/landing/AiLanding.tsx
  • src/components/landing/CliLanding.tsx
  • src/components/landing/ConfigLanding.tsx
  • src/components/landing/DbLanding.tsx
  • src/components/landing/DevtoolsLanding.tsx
  • src/components/landing/FormLanding.tsx
  • src/components/landing/HotkeysLanding.tsx
  • src/components/landing/IntentLanding.tsx
  • src/components/landing/PacerLanding.tsx
  • src/components/landing/QueryLanding.tsx
  • src/components/landing/RangerLanding.tsx
  • src/components/landing/RouterLanding.tsx
  • src/components/landing/StoreLanding.tsx
  • src/components/landing/WorkflowLanding.tsx
  • src/components/landing/codeExamples.server.tsx
  • src/libraries/libraries.ts
  • src/utils/config.ts

Comment on lines 103 to 105
label: 'effect',
value: 'store.subscribe(selector, listener)',
value: 'store.subscribe(listener)',
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Subscription example contradicts page messaging.

The page emphasizes "Subscriptions stay narrow" and "Let the component ask for less," but line 104 shows store.subscribe(listener) without a selector, which subscribes to all state changes rather than a specific slice. This contradicts the granular subscription messaging throughout the landing page.

Consider showing a more targeted subscription pattern that aligns with the "narrow subscriptions" theme, or clarify that this example demonstrates a different use case.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/landing/StoreLanding.tsx` around lines 103 - 105, The example
currently shows a broad subscription via store.subscribe(listener) which
contradicts the page's "Subscriptions stay narrow" messaging; update the example
in StoreLanding.tsx to demonstrate a selector-based subscription (i.e.,
subscribe to a specific slice/property rather than the whole store) by replacing
the broad call store.subscribe(listener) with a targeted subscription using a
selector (or add a brief clarifying note if you intend to show a global
subscription use-case), and ensure the example aligns with the landing copy
about narrow subscriptions.

@tannerlinsley tannerlinsley merged commit 9088b78 into main Jun 8, 2026
9 checks passed
@tannerlinsley tannerlinsley deleted the taren/landing-pages-docs-audit branch June 8, 2026 14:45
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