Introduction to Doom
Doom is a documentation development tool built on top of Rspress, designed to provide developers with a complete documentation solution. Originally developed for internal use at Alauda, Doom has grown into a feature-rich documentation generator that handles everything from development to deployment.Doom stands for “Doctor Doom making docs” - a powerful tool that takes care of all your documentation needs.
What is Doom?
Doom is a CLI tool that transforms Markdown and MDX files into beautiful, interactive documentation websites. Built on the solid foundation of Rspress and powered by Rsbuild, Doom provides an out-of-the-box experience with rich built-in plugins and features.Core Features
Convention-Based Navigation
Automatically generates a configurable sidebar from your file structure with customizable ordering through frontmatter weight properties.
Multilingual Support
Built-in support for multiple languages (English, Chinese, Russian) with automatic directory-based language routing and i18n utilities.
Full-Text Search
Static document search built-in, with optional Algolia integration for advanced search capabilities.
AI-Powered Translation
Automatic documentation translation using Azure OpenAI with intelligent term recognition and context-aware translations.
API Documentation
First-class support for Kubernetes API, Custom Resource Definitions (CRDs), and OpenAPI specifications with automatic rendering.
PDF Export
Export your entire documentation or specific sections to beautifully formatted PDF files with table of contents and bookmarks.
Why Choose Doom?
Built for Technical Documentation
Doom is specifically designed for technical documentation with features that developers need:- MDX Support: Write Markdown with the power of React components
- Type Safety: Full TypeScript support with type checking for MDX files
- Code Highlighting: Powered by Shiki with support for numerous languages and themes
- Reference System: Link and embed content from external repositories
- Version Management: Multi-version documentation support with easy version switching
Convention Over Configuration
Doom follows the principle of “convention over configuration”:Developer Experience
Doom provides an excellent developer experience:- Fast Development: Hot module replacement and lazy compilation for instant feedback
- Linting & Quality: Built-in ESLint and CSpell integration for documentation quality
- CLI Workflow: Comprehensive CLI with commands for dev, build, translate, export, and lint
- Scaffolding: Generate new pages and sections from templates
Technology Stack
Rspress
Modern documentation framework built on Rsbuild
Rsbuild
Fast Rust-based bundler for optimal performance
React
Component-based UI with MDX support
TypeScript
Full type safety for configuration and components
Azure OpenAI
AI-powered translation capabilities
Playwright
Headless browser automation for PDF export
Use Cases
Doom excels in various documentation scenarios:Product Documentation
Create comprehensive product documentation with:- Multi-version support for different product releases
- Multilingual content for global audiences
- API reference documentation
- Interactive examples and code snippets
Internal Documentation
Build internal knowledge bases with:- Permission documentation generation
- Reference linking across repositories
- Internal route filtering
- Custom branding and themes
API Documentation
Document APIs with automatic generation from:- OpenAPI/Swagger specifications
- Kubernetes Custom Resource Definitions
- Standard Kubernetes API resources
- Advanced REST APIs
What’s Next?
Install Doom
Get Doom installed on your system and set up your first project.Installation Guide →
Quick Start
Create your first documentation site and learn the basics.Quick Start →
Explore Features
Dive deeper into Doom’s powerful features and capabilities.View Documentation →
Community & Support
Doom is open source and maintained by Alauda:- GitHub: github.com/alauda/doom
- Documentation: doom.js.org
- License: MIT
- Node Version: Requires Node.js 20.19.0 or higher