feat(docs): scaffold fumadocs next site (phase 1)#111
Merged
pratyush618 merged 2 commits intomasterfrom May 2, 2026
Merged
Conversation
Brings up `docs-next/` (Fumadocs 16 + Next.js 16 + MDX, static-export preset) alongside the existing Zensical site. IA skeleton in place but content ports happen in later phases. LLM routes (`/llms.txt`, `/llms-full.txt`, `/llms.mdx/...`) ship in the template — no custom JS.
Path-filtered to docs-next/. No deploy step yet — cutover lives in phase 7.
This was referenced May 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First phase of the docs migration off Zensical. Sets up
docs-next/(Fumadocs 16 + Next.js 16 + MDX, static-export preset) alongside the existing Zensical site. The Zensical site atdocs.byteveda.org/taskitokeeps shipping unchanged; nothing is removed or repointed in this PR.Replaces #110 (Docusaurus draft) — closed after revisiting the GH Pages constraint. Fumadocs' static export + built-in LLM routes give us all of phase 6 for free.
Why Fumadocs
The original plan recommended Fumadocs for four reasons; you initially asked for Docusaurus on GH Pages, then I confirmed Fumadocs static-exports cleanly to GH Pages. Picking Fumadocs back up because the LLM routes + Tailwind-first DX +
+next+fuma-docs-mdx+statictemplate wipe out three of the seven planned migration phases on day one.What's in here
docs-next/— Fumadocs scaffold with+next+fuma-docs-mdx+statictemplate, Biome linter, Orama search, Next-OG image generator. Versions:next16.2.4fumadocs-core/fumadocs-ui16.8.5fumadocs-mdx14.3.2react19.2.5@orama/orama3.1.18Static export config —
next.config.mjsships:GH Pages-ready out of the box. Output goes to
out/.LLM-friendly routes already wired by the Fumadocs template — these were "phase 6" in the original plan, free here:
/llms.txt— index of every page with title + description/llms-full.txt— full corpus as one Markdown document/llms.mdx/docs/[[...slug]]/content.md— raw MDX per page (replaces the hand-rolledcopy-markdown.js)/og/docs/[...slug]/image.png— auto-generated per-page OG image vianext-og/api/search— local Orama search endpoint (no Algolia signup)Taskito branding —
src/lib/shared.ts(appName + gitConfig pointing at ByteVeda/taskito), navbarlinksarray (Getting Started / Guides / Architecture / API / Changelog), rootmetadatawithmetadataBase: https://docs.byteveda.org/taskito.Custom landing page —
src/app/(home)/page.tsxrewritten with Taskito hero (title + tagline + Quickstart/Install CTAs) and a 3-card feature row (Brokerless / Rust-powered / Python-native). Real visual polish is phase 5.IA skeleton (33 stub MDX pages + 14
meta.jsonfiles):getting-started/× 3 (installation, quickstart, concepts)guides/× 9 sub-categories (core, reliability, advanced-execution, operations, observability, resources, workflows, integrations, extensibility) — folds in Resources, Workflows, Integrations from the Zensical top nav per the approved IAarchitecture/overview.mdxapi-reference/overview.mdxmore/× 4 (examples, comparison, faq, changelog) — collapses Zensical's Changelog + Changelog Archive splitEach stub has a Fumadocs
<Callout type="info">saying "Phase 1 stub — content port pending" so it's obvious nothing is final..github/workflows/docs-next.yml— build + typecheck + lint on PR (path-filtered todocs-next/**). No deploy yet — cutover lives in phase 7.What's NOT in here (next phases)
docs/into the stubs<APIMethod>— phase 3)LLM-friendly routes← already in templatePhase 6 gone, schedule shrinks
Original critical path was phase 1 + 6 + 7 (~3 days). With phase 6 absorbed into the template, it's now phase 1 + 7 (~1.5 days). Phases 2–5 still parallelizable post-cutover.
Test plan
pnpm install --frozen-lockfile— cleanpnpm types:check—✓ Types generated successfullypnpm lint— exit 0 (2 warnings on Fumadocs scaffold's!importantCSS, intentional, no errors)pnpm build— 66 static pages, no warnings, no errorsout/llms.txtandout/llms-full.txtpopulated with the IA tree/taskitobasePath;out/index.htmlandout/docs/...generatedBuild Docs (Next)job passes on this PRpnpm --dir docs-next devlocally and confirm all 5 nav buckets resolve, dark mode works,/llms.txtand/llms-full.txtreturn content