finds.dev← search

// the find

fuma-nama/fumadocs

★ 12,173 · TypeScript · MIT · updated Jun 2026

The beautiful & flexible React.js docs framework.

Fumadocs is a documentation framework for React apps, primarily targeting Next.js but expanding to Vite-based setups (TanStack Start, React Router, Waku). It handles the full docs stack: MDX processing, sidebar/nav generation, full-text and semantic search, OpenAPI rendering, and i18n. Aimed at teams building product docs who want a polished result without wiring everything together manually.

Support for multiple search backends out of the box (Flexsearch, Algolia, Orama, Typesense, Mixedbread, Trieve) — you pick the one that fits your scale without rewriting glue code. The headless/UI split is real: fumadocs-core gives you the logic layer and you can drop the fumadocs-ui opinionated skin or bring your own. OpenAPI and AsyncAPI doc generation from spec files is a genuinely useful escape hatch for API teams who don't want to handwrite reference pages. Active release cadence — the blog shows consistent major versions (v12–v16 in the content tree) and the repo pushed today, so this isn't abandonware.

ESM-only is a hard requirement that will block adoption in any monorepo still carrying CJS packages — the migration tax is real and the README buries this. The framework leans heavily on Next.js App Router conventions; the Vite adapter support is newer and the directory tree shows it's thinner (fewer examples, less docs coverage). Customization surface is wide but the abstraction layers (source API, page tree, collections) have a learning curve that isn't obvious from the README — you'll spend time in the docs to understand how content flows through the pipeline before you can deviate from defaults. No built-in auth/gating for private docs sections; the access control guide exists but it's manual wiring.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →