Skip to content

Migrate docs from Mintlify to fumadocs#457

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

Migrate docs from Mintlify to fumadocs#457
masnwilliams wants to merge 28 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 swap plus a new /api/chat endpoint that uses an Anthropic API key and abuse controls; API reference URL slugs and search coverage may differ from production Mintlify.

Overview
Replaces Mintlify with a self-hosted fumadocs (Next.js) docs app (bun dev / bun run build, Biome lint). MDX stays under content/docs/; docs.json still drives the sidebar via lib/tree.ts, with Mintlify MDX tags mapped in components/mdx.tsx and a remark pass for CodeGroup / fence titles.

New site capabilities: Orama-backed /api/search, Ask AI (/api/chat — Anthropic, flexsearch tool, same-origin + BotID + Vercel rate limits, Braintrust tracing), llms.txt / per-page markdown routes, OG images, and OpenAPI reference pages from the same Stainless spec (custom response UI; playground off by default). Brand/layout moves into app/global.css (Kernel colors, lowercase prose, square corners).

Content touch-ups: drop old snippet import paths on a few pages; snippets become real React components (CopyPromptButton, PricingCalculator, YouTubeVideo).

Reviewed by Cursor Bugbot for commit 1a81b29. 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, Comment Jul 23, 2026 6:14pm

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
const [actualOpen, setActualOpen] = useState(open);
useHotKey();

if (open && !actualOpen) setActualOpen(open);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

setState during render in panel

Medium Severity

AISearchPanel calls setActualOpen(open) directly in the render path when open && !actualOpen. Updating state while rendering violates React’s rules and can cause extra renders or warnings, especially under Strict Mode.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 6ed79ee. Configure here.

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

Comment thread app/api/chat/route.ts
Comment thread proxy.ts
Override the MDX img component with fumadocs' ImageZoom so screenshots,
diagrams, and demo gifs are click-to-zoom. Uses the built-in component +
its stylesheet — no custom image handling.

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

The actual diff changes 201 files with 3,999 additions and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, raw-markdown and OG endpoints, a new dependency/build stack, and Vercel configuration. Although most MDX changes are mechanical moves, the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The PR also adds a public, billable Anthropic-backed chat endpoint with BotID, dashboard-managed firewall rate limiting, request/output bounds, and Braintrust telemetry that can send user message content, client IP, model output, and usage data to a third party. The latest update only enables click-to-zoom rendering for content images; it doesn't reduce the migration, privacy, cost, or operational surface.

I didn't approve because the sitewide runtime/infrastructure migration and the external model and telemetry integrations meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread app/api/chat/route.ts
if (doc) search.add(doc);
}

return search;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Chat rebuilds search every cold start

Medium Severity

Each serverless instance starts createSearchServer() at module load and awaits getText("processed") for every docs page before flexsearch is usable. First Ask AI requests on a cold worker can block on hundreds of page extractions with no shared or build-time index.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 240ffc7. Configure here.

Comment thread components/snippets/pricing-calculator.tsx
const response = ctx.schema.resolve(responses[status]);
const contentTypes = response.content ? Object.entries(response.content) : [];
const [mediaType, media] = contentTypes[0] ?? [];
const schema = media ? ctx.schema.resolve(media).schema : undefined;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

API response drops extra media

Medium Severity

The custom API response UI always takes the first entry from response.content and never lets readers switch media types. Operations with multiple response body types (for example JSON and an error schema) show only the first type’s schema.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 240ffc7. Configure here.

The 50k-char guard was returning 413 after a handful of turns (stateless
chat re-sends full history + verbose answers). Raise to 400k chars
(~100k tokens, ~half of Haiku's context) — a coarse abuse ceiling that
real multi-turn conversations stay under, with rate limit + spend cap as
the real cost bounds.

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

The actual diff changes 201 files with 4,001 additions and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, raw-markdown and OG endpoints, a new dependency/build stack, and Vercel configuration. Although most MDX changes are mechanical moves, the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The PR also adds a public, billable Anthropic-backed chat endpoint with BotID, dashboard-managed firewall rate limiting, and Braintrust telemetry that can transmit user message content, client IP, model output, and usage data to a third party. The latest update raises the accepted message-history size from 50,000 to 400,000 characters, increasing the possible per-request model cost and JSON parsing load while the rate-limit policy remains external to this diff.

I didn't approve because the sitewide runtime/infrastructure migration and the external model, cost-control, and telemetry surfaces meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

The filled saturated badges (white text on bright green/blue/red/orange)
read as off-brand and loud. Switch to muted tint backgrounds + coloured
text, matching the subtle prod badges — keeps the get/post/del semantic
without the in-your-face fills.

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

The actual diff changes 201 files with 4,002 additions and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, raw-markdown and OG endpoints, a new dependency/build stack, and Vercel configuration. Although most MDX changes are mechanical moves, the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The PR also adds a public, billable Anthropic-backed chat endpoint with BotID, dashboard-managed firewall rate limiting, a 400,000-character request-history allowance, and Braintrust telemetry that can transmit user message content, client IP, model output, and usage data to a third party. The latest update only changes API method-badge colors; it doesn't reduce the migration, privacy, cost, or operational surface.

I didn't approve because the sitewide runtime/infrastructure migration and the external model, cost-control, and telemetry surfaces meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

- chat: return 403 (not 500) on a malformed Origin header, and reject an
  oversized body by Content-Length before parsing it
- llms-full.txt: use allSettled so one failing page can't drop the whole
  corpus
- markdown: bound the streaming render cache (FIFO) so a long streamed
  answer can't grow it without limit
- Ask AI input: guard the localStorage read for the server render pass
- pricing calculator: clamp number inputs so an empty field can't emit
  NaN totals, and hydrate from shared-link query params on mount
- api-reference: exclude from the .md/.mdx rewrites and markdown
  negotiation so those pages serve HTML instead of rewriting to a 404
  (generated from the OpenAPI spec, they have no markdown source)

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

The actual diff changes 201 files with 4,064 additions and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, raw-markdown and OG endpoints, a new dependency/build stack, and Vercel configuration. Although most MDX changes are mechanical moves, the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The PR also adds a public Anthropic-backed chat endpoint, a new system prompt, BotID and dashboard-managed firewall controls, and Braintrust telemetry that logs user message content and client IP while auto-instrumenting model output and usage. The latest update adds malformed-Origin and request-size guards and fixes several rendering/route issues, but it doesn't reduce the migration, privacy, cost, or operational surface.

I didn't approve because the sitewide runtime/infrastructure migration and the new external model and telemetry integrations meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Brings in the latest content edits from main — the FAQ 'Unsupported
Websites' → bot-detection reframing (#459) and the per-browser-type
Stripe pricing updates. Rename detection carried them onto the migrated
content/docs paths; no code overlap, build + lint green.

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

The actual diff changes 201 files with 4,064 additions and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, raw-markdown and OG endpoints, a new dependency/build stack, and Vercel configuration. Although most MDX changes are mechanical moves, the runtime and deployment cutover affects every docs page and has a broad user-facing blast radius.

The PR also adds a public Anthropic-backed chat endpoint, a new system prompt, BotID and dashboard-managed firewall controls, and Braintrust telemetry that logs user message content and client IP while auto-instrumenting model output and usage. The latest update changes browser-automation guidance and Stripe Projects pricing documentation only; it doesn't reduce the migration, privacy, cost, or operational surface.

I didn't approve because the sitewide runtime/infrastructure migration and the external model and telemetry integrations meet the Medium-risk threshold.

Open in Web View Automation 

Sent by Cursor Automation: Assign PR reviewers

Comment thread app/api/chat/route.ts Outdated
Comment thread app/api/chat/route.ts
masnwilliams and others added 2 commits July 23, 2026 18:10
- size cap: read the raw body and check its length before JSON.parse
  instead of trusting Content-Length (absent on chunked requests), so an
  oversized body is rejected without being parsed and the cap can't be
  skipped by omitting the header
- Ask AI index: skip external-link stub pages (frontmatter `url`, no
  real body) so search no longer returns empty internal URLs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Carries main's latest content onto the migrated content/docs paths:
- pricing feature matrix 'Browser telemetry' row (#460)
- new audit-logs pages, info/ + reference/cli/ (#416), relocated into
  content/docs via directory-rename detection; docs.json nav 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.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

There are 7 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 1a81b29. Configure here.

Comment thread app/api/chat/route.ts
if (rawBody.length > MAX_INPUT_CHARS) {
return new Response("Payload Too Large", { status: 413 });
}
const reqJson = JSON.parse(rawBody);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Malformed chat JSON crashes

Medium Severity

The chat handler's POST function performs JSON.parse on the request body without error handling. This means any invalid JSON payload will cause an uncaught exception and a 500 response.

Fix in Cursor Fix in Web

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

@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

The actual diff changes 203 files and replaces the production delivery stack for the entire documentation site with a Next.js/Fumadocs application. It adds sitewide routing and rendering, generated OpenAPI pages, search, markdown/OG endpoints, a new dependency/build stack, and Vercel 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 PR also adds a public Anthropic-backed chat endpoint with a new system prompt, a server-side API key, BotID, dashboard-managed firewall controls, a 400,000-character request allowance, and Braintrust telemetry that logs user message content and client IP while instrumenting model output and usage. The latest update improves raw-body size enforcement and adds audit-log documentation, but it doesn't reduce the migration, privacy, cost, or operational surface.

I didn't approve because the sitewide runtime/infrastructure migration and the external model and telemetry integrations meet the Medium-risk threshold.

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