| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Docs straight from the source.
Sourcey turns OpenAPI, MCP, Doxygen XML, godoc, rustdoc, and Markdown into one static HTML site you own: reference, guides, changelog, roadmap, and llms.txt from the same build, deployable anywhere.
Everything renders at build time: no dashboard, no runtime, no API calls to render your own documentation.
npx sourcey initLive demo · Documentation · GitHub
The full Sourcey binary handles OpenAPI, MCP, Doxygen, godoc, rustdoc, MkDocs, and Markdown sources.
| Path | Command | Requires |
|---|---|---|
| npm | npm install -g sourcey | Node 20+ |
| Homebrew | brew tap sourcey/tap && brew install sourcey | macOS / Linuxbrew |
| Docker | docker run -v "$PWD":/docs sourcey/sourcey | Docker |
| Nix | nix run github:sourcey/sourcey | Nix (flakes) |
Then sourcey init to scaffold a new project, or sourcey build against an existing one. See docs/install.md for full Docker invocations (init / dev / build), the --host flag for containerized dev, Linuxbrew notes, and Nix profile install.
For Go-only consumers without a JavaScript toolchain, sourcey-godoc ships as a separate native binary. It produces static Go docs sites or portable godoc.json snapshots.
| Path | Command |
|---|---|
| Go | go install github.com/sourcey/sourcey/go/sourcey-godoc/cmd/sourcey-godoc@latest |
| Homebrew | brew install sourcey/tap/sourcey-godoc |
| Scoop | scoop bucket add sourcey https://github.com/sourcey/scoop-bucket && scoop install sourcey-godoc |
The rustdoc() adapter consumes nightly rustdoc JSON through the sourcey companion crate and its sourcey-rustdoc converter, so CI can build Rust API docs from a committed snapshot on a stable toolchain. See docs/adapters/rustdoc.md.
# Scaffold a project (detects OpenAPI specs and Doxyfiles)
npx sourcey init
# Dev server with hot reload
sourcey dev
# Build static HTML to dist/
sourcey build
# Quick build from a single OpenAPI spec
sourcey build api.yaml -o dist/In CI, the sourcey/build-docs GitHub Action runs the build and deploys to GitHub Pages; see deploying.
Astro sites can mount Sourcey directly instead of running a separate docs CI job. The integration reads the same sourcey.config.ts, derives Sourcey's public siteUrl and baseUrl from Astro's site/base plus routeBase, serves docs in Astro dev, and writes docs into Astro's final build output.
// astro.config.ts
import { defineConfig } from "astro/config";
import sourcey from "sourcey/astro";
export default defineConfig({
site: "https://sourcey.com",
integrations: [
sourcey({
config: "./sourcey.config.ts",
routeBase: "/docs",
}),
],
});You can also share an imported config object when you want one config module to feed both the CLI and Astro:
import { defineConfig } from "astro/config";
import sourcey from "sourcey/astro";
import docs from "./sourcey.config";
export default defineConfig({
site: "https://sourcey.com",
integrations: [sourcey({ config: docs, configDir: ".", routeBase: "/docs" })],
});Create sourcey.config.ts in your project root:
import { defineConfig, openapi } from "sourcey";
export default defineConfig({
name: "My API",
navigation: {
tabs: [{ tab: "API Reference", source: openapi("./openapi.yaml") }],
},
});Each tab has one source, usually created with markdown(), mkdocs(), openapi(), mcp(), doxygen(), godoc(), or rustdoc(). Pages are referenced by slug (e.g. "quickstart" resolves to quickstart.md). See docs/configuration.md for theme, navbar, footer, logo, and full tab options.
Render Go package docs as a tab inside your Sourcey site, branded and styled with the rest of your documentation. Native toolchain extraction (go list + go/parser + go/doc) feeds the same renderer as your OpenAPI, MCP, and Markdown tabs, so signatures, examples from *_test.go, and source links sit alongside your guides instead of bouncing readers to pkg.go.dev.
Live: scafld's Go API reference →
{ tab: "Go API", source: godoc(".") }The shorthand expands to { module: ".", packages: ["./..."], mode: "auto", includeTests: true }. Live mode uses the host Go toolchain; snapshot mode reads a committed godoc.json and needs no Go on the build host. See docs/configuration.md for packages, mode, goEnv, sourceBasePath, and includeUnexported.
Guides support rich components in standard markdown:
<Steps>
<Step title="Install">Run `npm install sourcey`</Step>
<Step title="Configure">Create `sourcey.config.ts`</Step>
<Step title="Build">Run `sourcey build`</Step>
</Steps>
<CardGroup cols={2}>
<Card title="API Reference" icon="book" href="/api">Full endpoint docs</Card>
<Card title="Guides" icon="map" href="/docs">Step-by-step tutorials</Card>
</CardGroup>
<AccordionGroup>
<Accordion title="How does auth work?">We use API keys and OAuth2.</Accordion>
</AccordionGroup>All visual configuration lives under theme. Colors, fonts, layout dimensions, and a preset that controls page structure:
theme: {
preset: "api-first",
colors: { primary: "#f59e0b", light: "#fbbf24", dark: "#d97706" },
fonts: { sans: "'Lexend', sans-serif", mono: "'Fira Code', monospace" },
layout: { sidebar: "16rem", content: "48rem" },
css: ["./brand.css"],
}Presets control layout structure: "default" (sidebar + TOC), "minimal" (single centered column), "api-first" (three-column with persistent code panels). Everything else applies on top.
sourcey dev Dev server (reads sourcey.config.ts)
sourcey build Build site (reads sourcey.config.ts)
sourcey build api.yaml Quick build from a single spec
sourcey validate api.yaml Validate a spec file
sourcey godoc --out godoc.json Snapshot a Go module's docs to JSON
sourcey-godoc generate --out site Standalone Go CLI for static godoc sitesRun sourcey <command> --help for flags.
git clone https://github.com/sourcey/sourcey.git
cd sourcey && npm install
npm run build && npm test
cd go/sourcey-godoc && go test ./... && go vet ./...
# Run the in-repo docs site against your working copy
cd docs && npx tsx ../src/cli.ts devAGPL-3.0. Free to use, self-host, and modify. If you run Sourcey as a hosted service, you open-source your stack.
Commercial licensing available; contact sourcey.com.
| Back | FazBrowse Home | New Git URL |