Skip to content

Add an Adapters nav tab to the docs config - #1341

Merged
tombeckenham merged 1 commit into
mainfrom
feat/adapter-coverage-json
Sep 10, 2026
Merged

Add an Adapters nav tab to the docs config#1341
tombeckenham merged 1 commit into
mainfrom
feat/adapter-coverage-json

Conversation

@tombeckenham

@tombeckenham tombeckenham commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

What changed

docs/config.json declares an Adapters nav tab and moves the Adapters and Community Adapters sections under it. tanstack.com reads extra tabs from the config (TanStack/tanstack.com#1232), shows them between Guides and API, and lands the tab on the first page of its first section, which is the OpenAI adapter.

Why

Adapters are a top-level way people browse TanStack AI, and they were buried in Guides.

Notes

  • Nothing else changes. An earlier revision of this PR added a generated coverage file; that was dropped in favour of the tab landing on the adapter docs directly.
  • The $schema on tanstack.com gains the tabs field in the same site PR.

https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

Summary by CodeRabbit

  • Documentation
    • Updated the “Adapters” and “Community Adapters” navigation sections to use the correct adapters category.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 2f553ca9-e2dd-415a-9adb-c0d78c4b64b4

📥 Commits

Reviewing files that changed from the base of the PR and between c17bc95 and f01a3de.

📒 Files selected for processing (1)
  • docs/config.json

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The navigation configuration assigns the “Adapters” and “Community Adapters” sections to the adapters tab grouping.

Changes

Adapter navigation

Layer / File(s) Summary
Assign adapter sections to adapters tab
docs/config.json
The tab value for the “Adapters” and “Community Adapters” sections changed from guides to adapters.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to f01a3

Adapter documentation and community adapter documentation will appear under the new Adapters navigation tab while preserving their existing section content and ordering. No current merge-blocking risk is identified.

Suggested reviewers: alemtuzlak, jherr

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains what changed, why it changed, and relevant implementation notes. It does not use the required Changes heading and omits the required Checklist and Release Impact sections, inc… Update the description to use the repository template. Add the Checklist and Release Impact sections, and mark each item as applicable or not applicable with a brief explanation where needed.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding an Adapters navigation tab to the documentation configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
Full details: Description check

Explanation

The description explains what changed, why it changed, and relevant implementation notes. It does not use the required Changes heading and omits the required Checklist and Release Impact sections, including test, documentation, changeset, and release-impact confirmations.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/adapter-coverage-json

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@nx-cloud

nx-cloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit f01a3de

Command Status Duration Result
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 3s View ↗

☁️ Nx Cloud last updated this comment at 2026-09-09 00:22:22 UTC

@pkg-pr-new

pkg-pr-new Bot commented Sep 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

@tanstack/ai

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai@1341

@tanstack/ai-acp

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-acp@1341

@tanstack/ai-angular

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-angular@1341

@tanstack/ai-anthropic

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-anthropic@1341

@tanstack/ai-bedrock

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-bedrock@1341

@tanstack/ai-byteplus

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-byteplus@1341

@tanstack/ai-claude-code

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-claude-code@1341

@tanstack/ai-client

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-client@1341

@tanstack/ai-cloudflare

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-cloudflare@1341

@tanstack/ai-code-mode

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-code-mode@1341

@tanstack/ai-code-mode-snippets

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-code-mode-snippets@1341

@tanstack/ai-codex

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-codex@1341

@tanstack/ai-cohere

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-cohere@1341

@tanstack/ai-compaction

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-compaction@1341

@tanstack/ai-devtools-core

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-devtools-core@1341

@tanstack/ai-durable-stream

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-durable-stream@1341

@tanstack/ai-elevenlabs

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-elevenlabs@1341

@tanstack/ai-event-client

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-event-client@1341

@tanstack/ai-fal

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-fal@1341

@tanstack/ai-gemini

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-gemini@1341

@tanstack/ai-grok

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-grok@1341

@tanstack/ai-grok-build

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-grok-build@1341

@tanstack/ai-groq

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-groq@1341

@tanstack/ai-isolate-cloudflare

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-isolate-cloudflare@1341

@tanstack/ai-isolate-daytona

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-isolate-daytona@1341

@tanstack/ai-isolate-node

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-isolate-node@1341

@tanstack/ai-isolate-quickjs

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-isolate-quickjs@1341

@tanstack/ai-isolate-quickjs-bun

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-isolate-quickjs-bun@1341

@tanstack/ai-llmgateway

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-llmgateway@1341

@tanstack/ai-lovable

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-lovable@1341

@tanstack/ai-mcp

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-mcp@1341

@tanstack/ai-memory

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-memory@1341

@tanstack/ai-mistral

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-mistral@1341

@tanstack/ai-octane

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-octane@1341

@tanstack/ai-ollama

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-ollama@1341

@tanstack/ai-openai

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-openai@1341

@tanstack/ai-opencode

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-opencode@1341

@tanstack/ai-openrouter

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-openrouter@1341

@tanstack/ai-perplexity

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-perplexity@1341

@tanstack/ai-persistence

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-persistence@1341

@tanstack/ai-preact

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-preact@1341

@tanstack/ai-react

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-react@1341

@tanstack/ai-react-ui

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-react-ui@1341

@tanstack/ai-reactor

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-reactor@1341

@tanstack/ai-remix

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-remix@1341

@tanstack/ai-sandbox

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox@1341

@tanstack/ai-sandbox-blaxel

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-blaxel@1341

@tanstack/ai-sandbox-cloudflare

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-cloudflare@1341

@tanstack/ai-sandbox-daytona

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-daytona@1341

@tanstack/ai-sandbox-docker

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-docker@1341

@tanstack/ai-sandbox-local-process

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-local-process@1341

@tanstack/ai-sandbox-sprites

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-sprites@1341

@tanstack/ai-sandbox-upstash-box

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-upstash-box@1341

@tanstack/ai-sandbox-vercel

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-sandbox-vercel@1341

@tanstack/ai-skills

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-skills@1341

@tanstack/ai-solid

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-solid@1341

@tanstack/ai-solid-ui

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-solid-ui@1341

@tanstack/ai-svelte

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-svelte@1341

@tanstack/ai-utils

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-utils@1341

@tanstack/ai-vercel-gateway

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-vercel-gateway@1341

@tanstack/ai-vertex

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-vertex@1341

@tanstack/ai-vue

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-vue@1341

@tanstack/ai-vue-ui

npm i https://pkg.pr.new/TanStack/ai/@tanstack/ai-vue-ui@1341

@tanstack/openai-base

npm i https://pkg.pr.new/TanStack/ai/@tanstack/openai-base@1341

@tanstack/preact-ai-devtools

npm i https://pkg.pr.new/TanStack/ai/@tanstack/preact-ai-devtools@1341

@tanstack/react-ai-devtools

npm i https://pkg.pr.new/TanStack/ai/@tanstack/react-ai-devtools@1341

@tanstack/solid-ai-devtools

npm i https://pkg.pr.new/TanStack/ai/@tanstack/solid-ai-devtools@1341

@tanstack/svelte-ai-devtools

npm i https://pkg.pr.new/TanStack/ai/@tanstack/svelte-ai-devtools@1341

commit: f01a3de

tombeckenham added a commit to TanStack/tanstack.com that referenced this pull request Sep 8, 2026
/ai/<version>/docs/coverage fetches adapter-coverage.json from the ai
repo at request time, validates it, and renders an adapter by activity
matrix with expandable model lists and modalities. The file is produced
by TanStack/ai#1341.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX
@tombeckenham
tombeckenham force-pushed the feat/adapter-coverage-json branch from ce8b8b7 to 0157bb3 Compare September 8, 2026 23:19
@tombeckenham tombeckenham changed the title Generate adapter-coverage.json from model metadata Add an Adapters nav tab to the docs config Sep 8, 2026
tanstack.com now reads extra nav tabs from docs/config.json. Declare an
Adapters tab and move the Adapters and Community Adapters sections
under it, so the tab lands on the OpenAI adapter page.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX
@tombeckenham
tombeckenham force-pushed the feat/adapter-coverage-json branch from 0157bb3 to f01a3de Compare September 8, 2026 23:25
@tombeckenham
tombeckenham marked this pull request as ready for review September 9, 2026 02:39
@tombeckenham
tombeckenham requested a review from a team September 9, 2026 02:52
@github-actions github-actions Bot added the waiting-on: maintainer The ball is in the maintainers’ court label Sep 9, 2026
AlemTuzlak pushed a commit to TanStack/tanstack.com that referenced this pull request Sep 10, 2026
)

* Reframe TanStack AI messaging around who owns what

Restructure the AI landing page to walk through the ownership split
before the technical details: what TanStack AI handles (agent loop,
providers, durability, interrupts, sandboxes, tools) and what you own
(server, persistence, UI, deploy), each with real code from the docs.

Replace the tagline, description, and feature highlights with the same
framing. Honor the claim boundaries from the homepage plan: no lock-in
language, no counts in copy, no decorative numbering, and a closing set
of starting-point doc links.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Replace AI hero graphic with a wireframe placeholder

Drop the client graph and chat animation. The headline now answers
what it is and why in one line.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Add write-once hero, compiler visual, and request path to AI landing

Hero: a fixed tools.ts window beside a runs-anywhere window that
cycles server framework, provider, and UI framework one at a time.
Providers: a model picker that squiggles the image part and prints the
TypeScript error when the selected model is text-only.
Server: the three-node request path with no TanStack hop.
Restore the original AG-UI section copy.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Drop the SDK wording from the AI headline

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Stop layout shift on the AI landing page

Pin code window heights where samples swap, keep the hero provider row
mounted on both sides, reserve the pending rows in the parts inspector,
and give swapping captions a min-height.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Add the TanStack AI coverage page

/ai/<version>/docs/coverage fetches adapter-coverage.json from the ai
repo at request time, validates it, and renders an adapter by activity
matrix with expandable model lists and modalities. The file is produced
by TanStack/ai#1341.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Move AI coverage to /ai/coverage and rebuild it as a component

The page leaves the docs shell for a full-width library page linked from
the AI menu. AiCoverage renders adapter cards with activity chips,
activity filters, a model search, and an inline detail panel with model
lists and modalities.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Add an Adapters tab to the AI docs nav with a runtime adapter list

New adapters nav tab that lands on /ai/adapters, a plain list of every
adapter package and what it supports, fetched from the ai repo at
request time. The Adapters and Community Adapters doc sections move
under the tab. Replaces the coverage page.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Replace the AI adapters page with a docs nav tab

Add an adapters tab id. It renders only for libraries whose docs config
tags sections with it and lands on the first adapter page. Remove the
runtime adapter list, its server function, and the layout overrides.

Pre-commit skipped: tests/docs-manifest-concurrency.test.ts asserts
wall-clock time and the machine was at load 107.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Tighten the AI landing page and make the typesafe model demo real

Replace the "Who owns what" grid with the AG-UI section, drop the server
section the hero already covers, and trim rail and intro copy. Reorder to
AG-UI, typesafe models, tools, UI, persistence, durability.

The typesafe workbench now shows one narrowed field per model across chat,
image, video, and world models, with values taken from the adapters'
type files. Every section intro and rail item links to its docs page.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Fix the typesafe workbench on narrow screens

Let the snippet column shrink so the code scrolls and the value chips
wrap, put the heading before the graphic on mobile, and drop the doubled
commas on prompt part lines.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Address review comments on the AI landing page

Give CodeTabs toggle-group semantics, key code samples by name so the
copied state does not carry across samples that share a filename, import
chat in the durability samples, hide the looping message parts animation
from assistive technology, and match the Seedance note to its snippet.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Use canonical Tailwind v4 class forms on the landing components

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Match the AI catalog copy to the landing hero and drop the unused ai.tsx

The catalog description feeds the landing page meta description and the
tagline feeds the library grid card. Nothing imported aiProject and no
component renders featureHighlights.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Tighten landing copy and match the Omni note to its snippet

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Make the AI landing graphics interactive

- Slow the runs-anywhere hero cycle to 6s so a snippet can be read
- Add a shimmering "break me" toggle to the typesafe workbench that swaps
  in a value the types reject, with a green "fix me" to undo it
- Step message.parts through every part and tool-call state, with each
  row and lifecycle chip clickable, and show the matching render code
  under a createChatHook on/off switch
- Make the devtools hooks clickable with a run timeline per hook, and
  replace the non-existent useObject with useChat + outputSchema
- Rewrite the message-parts section copy

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Make the persistence backends clickable

Each server backend swaps the two message-store lines in persistence.ts
for that database's real load and save calls. localStorage and IndexedDB
are client adapters, so they switch the window to the useChat call with
the matching persistence adapter instead.

Claude-Session: https://claude.ai/code/session_01YFZ1i6q5qEeQL63B7zQXBX

* Tweak the AI landing headline and start-here title
@tombeckenham
tombeckenham merged commit 9986041 into main Sep 10, 2026
11 checks passed
@tombeckenham
tombeckenham deleted the feat/adapter-coverage-json branch September 10, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-on: maintainer The ball is in the maintainers’ court

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant