Alternative

Docusaurus, without the React runtime.

Docusaurus is Meta's React-based docs framework: MDX-native, battle-tested, and the default for a huge share of dev-tool docs. It also hydrates every page into a single-page app and has no first-party OpenAPI, Doxygen, or godoc. Sourcey builds the same kinds of docs from more sources, as static HTML that ships no framework JavaScript.

Comparison

Side by side.

Both are free and open source. They build documentation from different inputs and ship very different amounts of JavaScript.

Docusaurus Sourcey
OpenAPI reference Plugin Native
Doxygen / C++ docs No Native
godoc / Go docs No Native
MCP server docs No Native
Static HTML output Yes Yes
Client-side framework React (hydrated) None
Content format MDX (React) Markdown and MDX (static)
Config format JS / TS TypeScript
Interactive React components Yes No
License MIT AGPL-3.0
Pricing Free Free
Why switch

Where the two differ.

01

It is a React app, not a static site

Docusaurus builds to HTML, then hydrates into a client-side React single-page app. Meaningful JavaScript ships to every reader, every page. That is the cost of its interactivity, and it shows up in payload and in Lighthouse. Sourcey ships no framework runtime: static HTML with a little vanilla JavaScript for search and navigation, nothing to hydrate.

Docusaurus pages are React components; the build emits a hydrated SPA. Sourcey compiles to static HTML at build time and ships no client framework, which is why it can hold 100/100 on a docs site without tuning.

02

No first-party API or code reference

Docusaurus has no native OpenAPI, Doxygen, godoc, rustdoc, or MCP support. OpenAPI is handled by a strong third-party plugin; C++ and Go reference are not really in the ecosystem. If your product has a REST API, a C++ SDK, and a Go module, you are assembling and version-matching plugins. Sourcey reads all of those first-party, in one config.

The most-used OpenAPI option for Docusaurus is the community docusaurus-plugin-openapi-docs. Sourcey treats OpenAPI, MCP, Doxygen XML, godoc, and rustdoc as built-in source types.

03

MDX is power and coupling

Docusaurus pages are MDX, so you can drop live React components inline. That is genuinely powerful for interactive docs, and it couples your content to React. Sourcey reads Markdown and MDX too, but its components (tabs, cards, steps, callouts) compile to static HTML instead of shipping a React runtime, so the content stays portable and the output stays static.

What Sourcey produces
Sourcey documentation output

A live Sourcey build: the Cheese Store API as static HTML, with no React runtime shipped to the reader.

Migration

Bring your Markdown. Add the reference.

Plain Markdown transfers cleanly. MDX pages that embed React components need rework, because Sourcey output is static.

01

Init

Creates sourcey.config.ts and detects any OpenAPI specs in the project.

npx sourcey init
02

Move your docs

Markdown content moves over directly. MDX with inline React components becomes Sourcey directives (tabs, cards, callouts, steps) or plain Markdown.

03

Add API and code reference

Point a tab at your OpenAPI spec, Doxygen XML, or Go package. This is the part Docusaurus needed plugins or could not do.

import { defineConfig, openapi, markdown } from "sourcey";

export default defineConfig({
  name: "Your Project",
  navigation: {
    tabs: [
      { tab: "Guides", source: markdown({ groups: [] }) },
      { tab: "API Reference", slug: "api", source: openapi("./openapi.yaml") },
    ],
  },
});
04

Build

Static HTML with no React runtime. Deploy anywhere.

$ npx sourcey build

Sourcey: building documentation site
  Output: dist/
FAQ

Common questions.

Does Sourcey support inline React components like Docusaurus MDX?

No. Sourcey reads .md and .mdx files and an MDX-style component syntax, but it compiles those components to static HTML rather than running React in the browser. You get rich static components (tabs, cards, accordions, steps, code groups), not live React widgets. If your docs genuinely need interactive React inline, Docusaurus is the right tool.

Can I bring my Docusaurus content?

Markdown transfers directly. MDX files that import and render React components need to be converted to Sourcey directives or plain Markdown. Navigation moves from sidebars.js into sourcey.config.ts.

What does Sourcey do that Docusaurus does not?

First-party OpenAPI, MCP, Doxygen, godoc, and rustdoc in one build; zero framework JavaScript in the output; and llms.txt generated alongside the HTML. Docusaurus is React/MDX content-first; Sourcey is multi-source reference-plus-guides.

Is Docusaurus a bad choice?

No. It is the most adopted open-source docs framework for a reason, and for content sites that want React interactivity it is excellent. The question is sources and output model: if you need generated API and code reference as static HTML, Sourcey covers ground Docusaurus does not.

Sourcey

Own your docs.

Open source under AGPL. Self-host it, fork it, run it on your own infrastructure.

Fork the demo →