- No configuration required. Just setup the folder structure with a logo, favicon, and css file.
- Builds a static website that can be hosted anywhere.
- Simple search is provided by default out of the box.
- Support for single page with readme or multiple markdown pages in a docs folder.
- Full TypeScript support with typed configuration and IDE autocompletion.
- For more complex projects easily add a
docula.config.ts(TypeScript) ordocula.config.mjs(JavaScript) file to customize the build process with lifecycle hooks andDoculaConsolelogging. - Will generate a sitemap.xml, robots.txt, and
feed.xmlfor your site. - Automatically generates
llms.txtandllms-full.txtfor LLM-friendly indexing of docs, API reference, and changelog content. - OpenAPI / Swagger support for auto-generating an interactive API reference page.
- Uses Github release notes and file-based changelog entries to generate a changelog with individual pages, pagination, and preview text.
- Uses Github to show contributors and link to their profiles.
- Light, dark, and system theme modes with a built-in toggle.
- Easy styling customization via
variables.csswith no template editing required. - Watch mode with auto-rebuild for local development.
- Getting Started
- Configuration
- CLI
- Templates
- Partial Templates
- Multiple Pages
- Assets
- Styling
- Custom Scripts
- API Reference
- LLM Files
- Announcements
- Changelog
- GitHub Integration
- GitHub Token
- Helper Utilities
- Header Links
- Caching
- Cookie Auth
- Robots & Sitemap
- Standalone Binary
- Open Source Examples
- Code of Conduct and Contributing
- Security
- License - MIT
You can build Docula as a standalone binary that runs without Node.js installed. This uses Node.js Single Executable Applications (SEA) to embed the runtime and all dependencies into a single executable.
Requires Node.js >= 25.7.0 to build (the resulting binary does not need Node.js to run). The build uses tsdown's exe option, which wraps Node.js's Single Executable Applications feature added in Node 25.7.
pnpm install
pnpm build:binaryThis produces a platform-specific binary at dist/docula (or dist/docula.exe on Windows).
- Embeds all built-in templates (modern, classic) into the bundle as base64
- Bundles all source code and dependencies into a single CJS file via tsdown
- Uses tsdown's built-in
exeoption to create a Node.js SEA binary — blob generation, injection, and (on macOS hosts) ad-hoc code signing are handled automatically
After building, test it locally:
# Show help
./dist/docula help
# Show version
./dist/docula version
# Initialize a new project
./dist/docula init -s ./my-site
# Build a site
./dist/docula build -s ./my-site -o ./my-site/distThe CI workflow (.github/workflows/build-binaries.yaml) builds each platform natively on its own runner. Native builds avoid the cross-compile signing pitfall on Apple Silicon, where unsigned Mach-O binaries are killed on launch.
| Platform | Runner | Artifact |
|---|---|---|
| Linux x64 | ubuntu-latest |
docula-linux-x64 |
| macOS ARM64 | macos-latest |
docula-macos-arm64 |
| Windows x64 | windows-latest |
docula-windows-x64 |
Binaries are uploaded as build artifacts on every run and attached to GitHub releases automatically.
See Docula in action with these open source projects that use it for their documentation:
- Cacheable.org - High-performance caching library for Node.js with layered caching support (Source)
- Keyv.org - Simple key-value storage with support for multiple backends (Source)
- Docula.org - Docula's own documentation site, built with Docula (Source)
Code of Conduct and Contributing guidelines.
We take the security of Docula seriously and have multiple layers of protection in place:
- Aikido Security: Continuous scanning of our codebase, dependencies, and infrastructure for vulnerabilities. Review our public audit report by clicking the badge above.
- Pull Request Scans: Every pull request against
mainis automatically scanned for security issues before merging. - CodeQL Analysis: GitHub CodeQL static analysis runs on every push and pull request targeting
main. - npm Package Provenance: Releases are published with npm provenance for cryptographically verifiable links to source and build.
For full details, see SECURITY.md or our Security Guidelines.
MIT © Jared Wray