Skip to content

Migrate docs from Mintlify to fumadocs - #457

Open
masnwilliams wants to merge 35 commits into
mainfrom
hypeship/fumadocs-migration
Open

Migrate docs from Mintlify to fumadocs#457
masnwilliams wants to merge 35 commits into
mainfrom
hypeship/fumadocs-migration

Conversation

@masnwilliams

@masnwilliams masnwilliams commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Replaces Mintlify hosting with a self-hosted fumadocs (Next.js) app, deployable on Vercel.

What's preserved

  • All 140 content pages unchanged — same file paths, same URLs (served at root, e.g. /browsers/standby). Content edits were limited to removing 3 dead snippet-import lines and adding frontmatter to one untracked testing doc.
  • docs.json stays the navigation source of truthlib/tree.ts converts its tabs/groups into the sidebar at build time, so the editing workflow doesn't change. Redirects ported to next.config.mjs.
  • Mintlify MDX components still workInfo, Note, Tip, Warning, Card, CardGroup, Steps, Tabs, Accordion, Frame, Update, CodeGroup (incl. tab labels from fence titles, via a small remark plugin) are aliased to fumadocs equivalents in components/mdx.tsx.
  • API Reference generated from the same Stainless OpenAPI spec URL via fumadocs-openapi (virtual pages, no generated files). Interactive playground is off (one flag in components/api-page.tsx to enable).
  • GA4, Inter, brand colors, favicon, navbar links (Dashboard / Changelog / Careers / Sign up).

New (things Mintlify gated behind paid tiers)

  • /llms.txt + /llms-full.txt (~970KB markdown dump)
  • Raw markdown for agents: append .md/.mdx to any page URL
  • AI page actions on every page (copy markdown, open in ChatGPT/Claude)
  • Ask AI assistant (AI SDK + Anthropic) with docs search tool — needs ANTHROPIC_API_KEY set in Vercel; degrades gracefully without it
  • Vercel preview deployments per PR

Known gaps / review notes

  • API reference page URLs change (operation-id slugs like /api-reference/getProjects instead of Mintlify's generated paths) — worth eyeballing hardest in the preview
  • Card icons (Font Awesome names) are dropped; search is local flexsearch/orama, not Mintlify's hosted search; API pages aren't in search yet
  • Sidebar nesting >2 levels renders as collapsible folders, cosmetically slightly different from Mintlify
  • Tests: bun run build compiles all 561 pages green, bun run lint green, key routes smoke-tested (content pages, API reference, llms routes, .md rewrites, redirects). No visual QA beyond that yet.

Deploy

Vercel: import repo, framework Next.js, bun install && bun run build, set ANTHROPIC_API_KEY, point docs.kernel.sh at it.

🤖 Generated with Claude Code


Note

High Risk
Large platform migration plus a production /api/chat path that calls an external LLM gateway—misconfigured env, abuse controls, or URL/slug drift could break docs discovery or incur cost.

Overview
Replaces Mintlify with a fumadocs (Next.js) app: bun dev / bun run build + Biome lint, content under content/docs/, and contributor docs updated accordingly.

Navigation and URLs still come from docs.json via lib/tree.ts (tabs, groups, eyebrows, external-link redirects). Mintlify MDX tags are shimmed in components/mdx.tsx, with a remark plugin for CodeGroup / fence titles. API reference uses the same Stainless OpenAPI URL with custom response layout and sidebar method badges.

New surface area: Orama-backed /api/search, Ask AI (/api/chat with origin checks, BotID, Vercel Firewall rate limits, Flexsearch tool, Braintrust tracing), llms.txt / llms-full.txt / per-page markdown routes, OG images, sitemap/robots, GA4, and brand styling in global.css. Snippet components (CopyPromptButton, PricingCalculator, YouTubeVideo) are proper React client modules; MDX drops dead snippet imports.

Caveats called out in the PR: API reference slugs may differ from Mintlify; Font Awesome card icons are omitted; search may not index API pages yet.

Reviewed by Cursor Bugbot for commit 6bfb91e. Bugbot is set up for automated code reviews on this repo. Configure here.

- content unchanged: 140 mdx pages keep their paths and URLs; Mintlify
  components (Info, CodeGroup, Steps, Card, ...) aliased to fumadocs
  equivalents in components/mdx.tsx
- docs.json stays the navigation source of truth; lib/tree.ts converts
  it to the fumadocs page tree at build time
- API Reference generated from the same Stainless OpenAPI spec via
  fumadocs-openapi (virtual pages, playground off by default)
- llms.txt, llms-full.txt, per-page raw markdown (.md suffix on any
  page URL), and AI page actions built in
- Ask AI assistant wired to Anthropic via AI SDK (needs
  ANTHROPIC_API_KEY at deploy time)
- redirects, GA4, Inter font, and brand colors ported from docs.json

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Kernel 🟢 Ready View Preview Jul 21, 2026, 11:52 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@masnwilliams
masnwilliams marked this pull request as ready for review July 21, 2026 23:56
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jul 30, 2026 10:29pm

Comment thread components/mintlify.tsx
Comment thread app/api/chat/route.ts Outdated
Comment thread app/global.css
Comment thread app/(docs)/[[...slug]]/page.tsx
Comment thread .gitignore
Comment thread next.config.mjs Outdated
Comment thread app/layout.tsx
Comment thread components/ai/search.tsx
Comment thread app/api/chat/route.ts

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This changes the production delivery stack for the entire documentation site rather than only moving content: 195 files are affected, with new Next.js routing, OpenAPI rendering, search, raw-markdown endpoints, and deployment/build configuration. That gives the migration a broad user-facing blast radius.

The new POST /api/chat route also invokes a billable Anthropic model from client-supplied message history without authentication, rate limiting, or request-size/history validation. Although its tool access is limited to public docs, this creates material cost-abuse, prompt-integrity, and operational-load risk. The existing broken-link workflow still runs the Mintlify checker and is currently failing against the migrated tree, so migration validation isn't green.

I did not approve this PR because these cross-file runtime and operational changes meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

The Vercel project was imported while the default branch was still
Mintlify-only (no package.json), so framework auto-detection picked
"Other" and served public/ statically. Pinning it here overrides the
project setting on every deploy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This PR replaces the production delivery stack for the entire documentation site: 196 files are affected, with new Next.js routing, navigation generation, OpenAPI rendering, search, raw-markdown/OG endpoints, and build/deployment configuration. Although most documentation files are mechanical moves, the runtime and infrastructure changes have a broad user-facing blast radius.

The public POST /api/chat route also sends client-provided message histories to a billable Anthropic model without authentication, rate limiting, or request-size/history validation, which creates material cost-abuse and operational-load risk. The latest update adds vercel.json to select the Next.js framework; it doesn't reduce those existing risks and further confirms that this PR changes deployment behavior.

I didn't approve because the cross-file production migration and unauthenticated model-backed endpoint meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

@vercel vercel 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.

Additional Suggestion:

proxy.ts builds path-to-regexp templates as /{/*path} because docsRoute is "/", which only matches the literal root path, so header-based markdown negotiation never matches any real doc page.

Fix on Vercel

Comment thread app/(docs)/[[...slug]]/page.tsx Outdated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This PR still replaces the production delivery stack for the entire documentation site: 196 files are affected, including new Next.js page/API routes, navigation generation, OpenAPI rendering, search, markdown/OG endpoints, and Vercel/build configuration. Most content changes are mechanical moves, but the runtime and deployment changes have a broad user-facing blast radius.

The new public POST /api/chat route also accepts client-provided message histories and invokes a billable Anthropic model without authentication, rate limiting, or request-size/history validation. The latest update changes only the default model from Sonnet to Haiku; that may reduce per-request cost but doesn't remove the cost-abuse, prompt-integrity, or operational-load exposure.

I didn't approve because the cross-file production migration and unauthenticated model-backed endpoint remain Medium risk.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread app/(docs)/[[...slug]]/page.tsx
Comment thread content/docs/index.mdx Outdated
Comment thread components/snippets/pricing-calculator.tsx
- port Kernel brand CSS from style.css (global lowercase, zero border
  radius, sidebar eyebrow headings, table styling, tinker-box, pricing
  button vars)
- Card forwards img prop, CardGroup/Columns forward className
- pages with url: frontmatter redirect externally instead of rendering
  an empty body
- guard the .md/.mdx rewrites against /llms.mdx/* paths (they were
  double-rewriting direct raw-markdown URLs to 404s) and special-case
  /index.md for the home page
- /api/chat requires a same-origin Origin header and caps output tokens
- search index tolerates single-page failures instead of failing whole
- set metadataBase so OG image URLs are absolute
- ignore .env, simplify proxy.ts to Accept-header negotiation only

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Top navbar with horizontal tab bar (guides / api reference / cli / mcp)
like the Mintlify site, and the Kernel logo SVGs from docs.json instead
of a text title.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Kernel 🟡 Building Jul 21, 2026, 11:51 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This PR replaces the production delivery stack for the entire documentation site: 196 files change, including new Next.js page and API routes, sitewide rendering/layout code, navigation generation, OpenAPI rendering, search, raw-markdown/OG endpoints, and Vercel/build configuration. Most MDX changes are mechanical moves, but the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The updated POST /api/chat now checks Origin and caps output at 2,048 tokens, which reduces cross-site browser abuse and per-request cost. It remains an unauthenticated, billable Anthropic proxy with no rate limiting or input/history size validation; direct clients can forge the matching Origin header and send high-volume or token-heavy requests. The latest layout and branding changes don't reduce the migration's sitewide deployment risk.

I didn't approve because the full-stack docs migration and remaining cost/operational exposure meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread app/api/chat/route.ts
Comment thread app/llms.mdx/[[...slug]]/route.ts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This PR replaces the production delivery stack for the entire documentation site: 196 files change, including new Next.js page and API routes, sitewide rendering/layout code, navigation generation, OpenAPI rendering, search, raw-markdown/OG endpoints, and Vercel/build configuration. Most MDX changes are mechanical moves, but the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The public POST /api/chat route remains an unauthenticated proxy to a billable Anthropic model. Its origin check and output cap reduce browser-based abuse and per-request cost, but there is still no rate limiting or input/history size validation, and non-browser clients can supply a matching Origin header. The latest commit adds only sidebar hover/active styling, so it doesn't reduce the migration or endpoint risks.

I didn't approve because the sitewide production migration and remaining cost/operational exposure meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Brings the fumadocs site to parity with (and past) the Mintlify output:
- app/sitemap.ts — sitemap.xml covering all content + API-reference pages
  on the canonical domain (skips external-link stubs)
- app/robots.ts — robots.txt allowing indexing + pointing at the sitemap
  in production; disallows preview/branch deploys so they don't get indexed
- per-page canonical link + og:url on content and API pages
- root og:type=website, og:site_name=Kernel, twitter summary_large_image,
  and a site-wide fallback OG image (content pages still override)
- pin metadataBase to the canonical domain so canonical/OG image URLs
  resolve to docs.kernel.sh rather than a per-deploy *.vercel.app host

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 206 files (+4,122 / −449) and replaces Mintlify delivery with a self-hosted Next.js/Fumadocs app: new App Router pages/layouts, next.config.mjs rewrites/redirects, proxy.ts, package.json/bun.lock, vercel.json, search, OpenAPI rendering, and agent/markdown/OG endpoints. Most MDX moves are mechanical, but the runtime and deployment cutover still affect every docs page.

The public POST /api/chat path still invokes a billable Anthropic model from client-supplied message history. Origin matching, BotID, Vercel Firewall rate limiting, and a large input-size cap reduce some abuse paths, but the endpoint stays unauthenticated and Origin checks are forgeable by non-browser clients. Braintrust instrumentation also logs chat input metadata (including client IP) when configured, adding an operational/privacy surface. The latest SEO commit (sitemap, robots, canonical/OG metadata) does not shrink that blast radius.

I did not approve because the full-site infrastructure rewrite plus the public model-backed chat route meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread components/snippets/pricing-calculator.tsx
Comment thread app/(docs)/api-reference/[[...slug]]/page.tsx
Next shallow-merges metadata, so a page that sets openGraph drops the
root's og:type/og:site_name/image. Spread shared siteOpenGraph into each
page's openGraph so every page keeps og:type=website + og:site_name, and
give API pages the site-default OG image.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 206 files (+4,139 / −449) and replaces Mintlify delivery with a self-hosted Next.js/Fumadocs app: App Router pages/layouts, next.config.mjs rewrites/redirects, proxy.ts, package.json/bun.lock, vercel.json, search, OpenAPI rendering, and agent/markdown/OG endpoints. Most MDX moves are mechanical, but the runtime and deployment cutover still affect every docs page.

The public POST /api/chat path still invokes a billable Anthropic model from client-supplied message history. Origin matching, BotID, Vercel Firewall rate limiting, and a large input-size cap reduce some abuse paths, but the endpoint stays unauthenticated and Origin checks are forgeable by non-browser clients. Braintrust instrumentation also logs chat input metadata (including client IP) when configured, adding an operational/privacy surface.

The latest updates add production SEO surface (sitemap, robots, canonical/OG metadata) and spread shared Open Graph fields into per-page metadata. That does not shrink the migration blast radius and expands indexing/social-preview behavior for the cutover.

I did not approve because these infrastructure, sitewide UX, model-backed API, and SEO cutover changes meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread app/llms-full.txt/route.ts
The /og route only resolved content pages, so every API endpoint fell
back to the generic site image. Route api-reference image slugs to
apiSource and pre-generate them, so each endpoint gets its own titled OG
card (matching content pages and the previous Mintlify behavior).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 206 files (+4,161 / −449) and replaces Mintlify delivery with a self-hosted Next.js/Fumadocs app: App Router pages/layouts, next.config.mjs rewrites/redirects, proxy.ts, package.json/bun.lock, vercel.json, search, OpenAPI rendering, and agent/markdown/OG endpoints. Most MDX moves are mechanical, but the runtime and deployment cutover still affect every docs page.

The public POST /api/chat path still invokes a billable Anthropic model from client-supplied message history, with a new system prompt and server-side API key. Origin matching, BotID, Vercel Firewall rate limiting, and a large input-size cap reduce some abuse paths, but the endpoint stays unauthenticated and Origin checks are forgeable by non-browser clients. Braintrust instrumentation also logs chat input metadata (including client IP) when configured, adding an operational/privacy surface.

The latest update only wires per-page OG image generation for API-reference routes (app/og, getApiPageImage). That is a narrow SEO/preview correctness fix and does not shrink the migration blast radius.

I did not approve because these infrastructure, sitewide UX, model-backed API, and SEO cutover changes meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

…points

- /api/chat: wrap JSON.parse in try/catch so a malformed body returns
  400 instead of an uncaught 500
- llms-full.txt + llms.mdx: external-link stub pages (frontmatter url)
  have no markdown body — exclude them from the corpus and redirect the
  per-page .md endpoint to the real resource (308), matching how the HTML
  app, sitemap, and Ask AI index already treat them

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 206 files (+4,178 / −449) and replaces Mintlify delivery with a self-hosted Next.js/Fumadocs app: App Router pages/layouts, next.config.mjs rewrites/redirects, proxy.ts, package.json/bun.lock, vercel.json, search, OpenAPI rendering, SEO (sitemap/robots/canonical/OG), and agent/markdown endpoints. Most MDX moves are mechanical, but the runtime and deployment cutover still affect every docs page.

The public POST /api/chat path still invokes a billable Anthropic model from client-supplied message history, with a new system prompt and server-side API key. Origin matching, BotID, Vercel Firewall rate limiting, and a large input-size cap reduce some abuse paths, but the endpoint stays unauthenticated and Origin checks are forgeable by non-browser clients. Braintrust instrumentation also logs chat input metadata (including client IP) when configured, adding an operational/privacy surface.

The latest update only hardens chat JSON parsing (400 on malformed bodies) and skips external-link stubs in llms endpoints. That does not shrink the migration, cost, or operational blast radius.

I did not approve because the full-site infrastructure rewrite plus the unauthenticated model-backed endpoint meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread components/ai/search.tsx
// where localStorage is undefined
const [input, setInput] = useState(() =>
typeof window === 'undefined' ? '' : (localStorage.getItem(StorageKeyInput) ?? ''),
);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Ask AI draft never restores

Medium Severity

The Ask AI input reads localStorage inside the useState initializer with a server guard, but on SSR that initializer runs with window undefined and the state is fixed to ''. React reuses that state on hydration and does not re-run the initializer on the client, so a saved draft written via onChange never appears again after refresh or navigation.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4ccfdcc. Configure here.

Brings in 6 content commits from main (#465-#471). Two required manual
relocation into the migrated content/docs tree:

- chrome-policies: main renamed browsers/pools/policy-json.mdx ->
  browsers/chrome-policies.mdx and edited it; applied at
  content/docs/browsers/chrome-policies.mdx, dropped the old policy-json.
- integrations/claude: main added an integrations/claude/ subfolder
  (moved claude-agent-sdk + claude-managed-agents, added overview and
  claude-code-and-desktop); mirrored under content/docs/integrations/claude/.

style.css (Mintlify stylesheet) stays deleted — the migration replaced it
with app/global.css. Changelog, proxies CA-bundle docs, and integrations
overview auto-merged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Stale comment

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 208 files (+4,178 / −453) and replaces Mintlify delivery with a Next.js/Fumadocs application.

Evidence from the diff:

  • New production app stack: package.json, next.config.mjs, vercel.json, proxy.ts, instrumentation.ts, app layouts/pages, sitemap/robots/OG routes
  • New user-facing API surfaces: /api/chat (Anthropic streaming + system prompt + BotID/rate limits) and /api/search
  • Sitewide rendering/navigation rewrite: source loading, OpenAPI reference generation, MDX component layer, AI search UI
  • Broad content move into content/docs/ plus asset relocation under public/

Blast radius: High — affects the entire public docs site delivery path, routing/redirects, search, and a new LLM-backed chat endpoint.

Decision: Medium risk → comment only; not approving. No CODEOWNERS file found; no prior approval from this automation to revoke.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.

There are 8 total unresolved issues (including 6 from previous reviews).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 1d3f4a4. Configure here.

Comment thread next.config.mjs
destination: "/integrations/stripe-projects-browser",
permanent: false,
},
];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Incomplete docs.json redirect port

High Severity

Some redirects from the old docs.json were missed during the next.config.mjs port. This means /integrations/claude, /integrations/claude-agent-sdk, /integrations/claude-managed-agents, and /browsers/pools/policy-json now 404. This breaks internal links, including those in changelog.mdx to /browsers/pools/policy-json (now /browsers/chrome-policies).

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1d3f4a4. Configure here.

Comment thread components/snippets/pricing-calculator.tsx
Drop the direct @ai-sdk/anthropic provider (and ANTHROPIC_API_KEY) in
favor of the AI Gateway: pass a bare provider/model slug to streamText,
which the AI SDK routes via AI_GATEWAY_API_KEY. Default model is
openai/gpt-5.6-luna at high reasoning effort; override with CHAT_MODEL.
Bump maxOutputTokens 2048 -> 16000 so a reasoning pass can't truncate
the reply.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cursor cursor 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.

Risk assessment: Medium

This remains a sitewide production-platform migration, not a documentation-only change. The actual diff touches 208 files (+4,176 / −453) and replaces Mintlify delivery with a Next.js/Fumadocs application.

Evidence from the diff:

  • New production app stack: package.json, bun.lock, next.config.mjs (rewrites/redirects), vercel.json, proxy.ts, instrumentation.ts, App Router layouts/pages under app/
  • User-facing runtime surface: docs rendering, OpenAPI pages, search (app/api/search), AI chat (app/api/chat + components/ai/search.tsx), LLM markdown/OG/sitemap/robots endpoints
  • Latest sync: chat switched from a direct Anthropic provider to Vercel AI Gateway (AI_GATEWAY_API_KEY / CHAT_MODEL), with higher maxOutputTokens (16000) and high reasoning effort — still a public, gated LLM endpoint with cost/abuse blast radius
  • Most MDX moves are mechanical, but the hosting/runtime cutover affects every docs URL

Decision: Medium risk — comment only; not approving. No CODEOWNERS file present; no prior approval to revoke.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

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