Initialize Docusaurus documentation site with spec-driven structure, living docs integration, and SpecWeave-optimized configuration.
Initialize a Docusaurus documentation site with SpecWeave integration, Mermaid diagrams, and auto-generated sidebars. Use this to create professional docs that sync with your living specification files.
/plugin marketplace add anton-abyzov/specweave/plugin install sw-alternatives@specweaveInitialize a Docusaurus documentation site with spec-driven documentation structure, living docs integration, and SpecWeave-optimized configuration.
/sw-docs:init [options]
.specweave/docs/ living documentation--template <template> - Template type: classic, material, custom (default: classic)--typescript - Use TypeScript configuration (default: true)--mermaid - Enable Mermaid diagram support (default: true)--search - Add Algolia DocSearch or local search (default: local)--versioning - Enable documentation versioning (default: false)--output <path> - Output directory (default: ./docs-site)docs-site/
├── docs/ # Documentation content
│ ├── intro.md
│ ├── features/
│ ├── api/
│ └── guides/
├── blog/ # Optional blog
├── src/
│ ├── components/ # React components
│ ├── css/ # Custom styles
│ └── pages/ # Custom pages
├── static/ # Static assets
│ ├── img/
│ └── diagrams/
├── docusaurus.config.ts # Main configuration
├── sidebars.ts # Sidebar configuration
├── package.json
└── tsconfig.json
Automatically imports content from .specweave/docs/:
// docusaurus.config.ts
module.exports = {
plugins: [
[
'@docusaurus/plugin-content-docs',
{
id: 'specweave-docs',
path: '../.specweave/docs',
routeBasePath: 'specweave',
sidebarPath: './sidebars.ts',
},
],
],
};
Mermaid integration for .specweave/docs/architecture/:
# System Architecture
```mermaid
graph TB
A[Frontend] -->|API| B[Backend]
B -->|Query| C[Database]
B -->|Publish| D[Kafka]
\```
OpenAPI/Swagger integration:
// docusaurus.config.ts
plugins: [
[
'docusaurus-plugin-openapi-docs',
{
id: 'api',
docsPluginId: 'classic',
config: {
api: {
specPath: '../.specweave/docs/api/openapi.yaml',
outputDir: 'docs/api',
},
},
},
],
],
// docusaurus.config.ts
themeConfig: {
colorMode: {
defaultMode: 'dark',
respectPrefersColorScheme: true,
},
navbar: {
title: 'Project Name',
logo: {
src: 'img/logo.svg',
},
items: [
{
type: 'doc',
docId: 'intro',
label: 'Docs',
},
{
to: '/specweave',
label: 'Architecture',
},
{
to: '/api',
label: 'API',
},
{
href: 'https://github.com/your-org/your-repo',
label: 'GitHub',
position: 'right',
},
],
},
footer: {
copyright: `Copyright © ${new Date().getFullYear()} Your Company`,
},
}
plugins: [
'@docusaurus/plugin-content-docs',
'@docusaurus/plugin-content-blog',
'@docusaurus/plugin-content-pages',
'@docusaurus/theme-classic',
'@docusaurus/theme-mermaid',
'@docusaurus/plugin-sitemap',
],
After initialization:
Install Dependencies
cd docs-site && npm install
Start Dev Server
npm start
Build for Production
npm run build
Deploy
npm run serve # Preview production build
Create comprehensive user guides, feature docs, and tutorials.
Generate interactive API documentation from OpenAPI specs.
Document architecture, design decisions (ADRs), and technical specs.
Auto-sync SpecWeave living docs (features, user stories, modules).
Team documentation, runbooks, incident reports, postmortems.
// docusaurus.config.ts
module.exports = {
url: 'https://your-org.github.io',
baseUrl: '/your-repo/',
organizationName: 'your-org',
projectName: 'your-repo',
deploymentBranch: 'gh-pages',
};
// src/components/FeatureCard.tsx
export function FeatureCard({ title, description, icon }) {
return (
<div className="feature-card">
<div className="icon">{icon}</div>
<h3>{title}</h3>
<p>{description}</p>
</div>
);
}
// src/pages/index.tsx
import React from 'react';
import Layout from '@theme/Layout';
export default function Home() {
return (
<Layout title="Home" description="Project Documentation">
<main>
<h1>Welcome to Our Documentation</h1>
{/* Custom content */}
</main>
</Layout>
);
}
# Local search
npm install --save @easyops-cn/docusaurus-search-local
# Algolia DocSearch (requires approval)
# Add to docusaurus.config.ts:
themeConfig: {
algolia: {
appId: 'YOUR_APP_ID',
apiKey: 'YOUR_API_KEY',
indexName: 'YOUR_INDEX_NAME',
},
}
/sw-docs:docs-init
/sw-docs:docs-init --typescript --mermaid
/sw-docs:docs-init --template material --versioning
/sw-docs:init --output ./documentation
/sw-docs:generate - Generate docs from code/specs/sw-docs:view - Launch documentation server/sw-docs:build - Build static documentation sitePORT=3001 npm start
# Clear cache
npm run clear
npm run build
# Check for broken links
npm run build -- --debug