Repository navigation
docs(website): migrate docs site from Starlight to Cloudflare Nimbus - #42
Conversation
- scaffold @cloudflare/nimbus-docs 0.18.1 (bun, static output) into website/: layouts, components, routes, styles, AGENT.md/CLAUDE.md, nimbus.json; drop @astrojs/starlight, starlight-theme-black and astro.config.mjs - astro.config.ts keeps the site URL, title and GitHub/edit links; the sidebar autogenerates Guides/Services/Reference from directories ordered by sidebar.order - rebuild the splash home page as src/pages/index.astro because Nimbus has no hero template - sync-services.ts now emits services/*.mdx, since Nimbus renders ::: admonitions only in MDX - drop the unused partials collection and Render component - exclude website/src/** from root ESLint so upstream template upgrades (nimbus-docs diff --apply) apply cleanly - keep the Astro ^7.4.0 security bump and drop the now-unused postcss-selector-parser override - deployment stays on the Cloudflare Pages project `emulate`
📖 Docs preview deployed
Commit: 0a65673 |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Compatibility | 7 minor |
| ErrorProne | 13 medium 27 high |
| Security | 3 critical 19 high |
🟢 Metrics 428 complexity · 0 duplication
Metric Results Complexity 428 Duplication 0
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
All reported issues were addressed across 128 files
Architecture diagram
sequenceDiagram
participant User as User Browser
participant Pages as Cloudflare Pages
participant Astro as Astro Build (via Nimbus)
participant Content as Content Collections
participant Skills as Skills Repo
participant Search as Pagefind Index
Note over User,Search: Static Docs Site Runtime (Nimbus)
User->>Pages: GET / (home)
Pages-->>User: index.astro (CTAs, cards)
User->>Pages: GET /guides/configuration/
Pages->>Astro: Render [...slug].astro route
Astro->>Content: Load docs collection entry
Content-->>Astro: MDX content + frontmatter
Astro->>Astro: Apply sidebar order + autogenerate nav
Astro-->>Pages: Static HTML + CSS + JS
Pages-->>User: Full page (with TOC + sidebar)
Note over User,Pages: NEW: Agent Interfaces
User->>Pages: GET /guides/configuration/index.md
Pages-->>User: Markdown version of page
User->>Pages: GET /llms.txt
Pages-->>User: Concatenated docs index for agents
Note over User,Search: Pagefind Search
User->>Pages: Click search (Ctrl+K)
Pages-->>User: Search dialog opens
User->>Search: Query "config"
Search-->>User: Results (via pagefind JS)
User->>Pages: Click result
Pages-->>User: Navigate to page
Note over User,Pages: OG Image Generation
User->>Pages: GET /og/guides/configuration.png
Pages->>Astro: Generate via astro-og-canvas
Astro-->>Pages: PNG response
Pages-->>User: OG image
Note over Skills,Content: Content Sync (CI/Deploy)
Skills->>Content: sync-services.ts (mdx generation)
Content-->>Skills: services/*.mdx files
Note over Astro,Content: Build-time: nimbus-docs lint + astro check
alt Production build
Astro->>Search: Generate static index
Astro->>Pages: Deploy via wrangler
else Preview/Dev
Astro->>User: astro dev server
end
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
[Medium impact] The PR appears safe to merge, with the earlier non-blocking heading visibility issue still present. SummaryMigrates the docs website from Starlight to Nimbus while keeping Cloudflare Pages deployment.
Reviews (2) · Last reviewed commit: "chore(website): apply AI code review sug..." · Reviewed by Greptile |
Document the Cloudflare Pages config in AGENT.md's audit rule, use the scoped bunx @cloudflare/nimbus-docs command in the README, retitle the home-page card to match its list, and drop the direct canvaskit-wasm dependency that duplicated astro-og-canvas's own copy.
|



Summary
Replace Astro Starlight with Cloudflare Nimbus (
@cloudflare/nimbus-docs0.18.1) for thewebsite/docs site. Nimbus adds Markdown versions of pages,llms.txt, per-page OG images, and Pagefind search, and the existing content carries over.What changed
website/: layouts, components, routes, styles,AGENT.md/CLAUDE.md,nimbus.json. Removed@astrojs/starlight,starlight-theme-black, andastro.config.mjs.astro.config.tskeeps the site URL, title, and GitHub/edit links. The sidebar autogenerates Guides / Services / Reference from directories, ordered by the existingsidebar.orderfrontmatter.index.mdx) is rebuilt assrc/pages/index.astro: CTAs, four feature cards, quick start, attribution footer.scripts/sync-services.tsnow writesservices/*.mdx, because Nimbus renders:::noteadmonitions only in MDX (in.mdthey rendered literally). The CI freshness check still passes.partialscollection andRendercomponent (removes a build warning)./llms.txtand/llms-full.txt, per-page OG images, Pagefind search, light/dark toggle, sitemap.Scope
Docs site only. Deployment is unchanged: Cloudflare Pages project
emulateviawrangler pages deploy. The Nimbus template defaults to Workers; switching is not part of this PR.Tradeoffs
website/src/**. Autofix rewrote 1,500+ lines of scaffolded files, which would breaknimbus-docs diff --applyupgrades.astro.config.tsand scripts stay linted.^7.4.0security bump (the template pins 7.3.1) and dropped the no-longer-installedpostcss-selector-parseroverride.Blast radius
Limited to
website/and the root ESLint config. No emulator or package code changes.Review tip: most of the diff under
website/src/components/ui,layouts,pages, andstylesis unmodified Nimbus scaffold output. The hand-written parts areastro.config.ts,src/pages/index.astro,scripts/sync-services.ts,package.json,README.md,eslint.config.ts, and thecontent.config.ts/components.tsedits.Verification
bun install --frozen-lockfile;bun scripts/sync-services.tsleaves no diff.bun run build(22 pages, no warnings);bun run typecheck(0 errors/warnings);bun run lint:docsclean;bunx nimbus-docs checkall ok.websiteclean;bun auditreports no vulnerabilities./services/kakao/checked visually in a browser viaastro preview.Related issue
No linked issue.
Checklist
bun run test) — N/A: docs site only; no package code or tests changed, verified by build,astro check, andnimbus-docs checkbun run lint)BREAKING CHANGE:note is includedSummary by cubic
Replaces the Astro Starlight–based docs site in
website/with Cloudflare's Nimbus framework (@cloudflare/nimbus-docs0.18.1). All existing pages carry over, and the site gains Pagefind search, per-page Markdown versions,llms.txt/llms-full.txt, per-page OG images, a light/dark toggle, and a sitemap.website/; Starlight, the black theme, andastro.config.mjsare removed.AGENT.md/CLAUDE.mddocument the Cloudflare Pages config and upgrade workflow, and the README now uses the scopedbunx @cloudflare/nimbus-docscommand.guides,services, andreferencedirectories, honoring each page'ssidebar.order.src/pages/index.astrowith the same CTAs and feature cards.scripts/sync-services.tsnow writesservices/*.mdxso:::noteadmonitions render; the CI freshness check still passes.website/src/**sonimbus-docs diff --applyupgrades stay clean; config and scripts remain linted.^7.4.0security bump is kept; the now-unusedpostcss-selector-parseroverride and the directcanvaskit-wasmdependency are dropped.Written for commit 0a65673. Summary will update on new commits.