Overture Docs is a centralized documentation site built with Docusaurus that aggregates and renders Markdown content from /docs directories across our GitHub repositories. It transforms distributed documentation into a cohesive and easy to navigate knowledge base.
Note
This repository is documented in detail on the Overture Docs site linked here (to be linked once live)
- clone the repository with the submodules:
git clone --recurse-submodules https://github.com/overture-stack/docs.gitTip
Already cloned the repo? You can still get the submodules by running: git submodule update --init --recursive
- Install required dependencies:
npm ci
Start the server
npm start
Important
Docusaurus requires node version 18 or higher
- 
Docusaurus: We use Docusaurus to render the site, providing a sleek and navigable interface for our documentation. 
- 
Markdown Files: All documentation content is stored as markdown files in the /website/docsdirectory.
- 
Git Submodules: We use Git submodules to store and track all our GitHub repositories within one main repository. All submodules can be found in the submodulefolder.
- 
Symlinks: Only the necessary documentation files are symlinked from the submodules in the submodulefolder to the/website/docsdirectory. This allows us to import only the required markdown content that Docusaurus needs.
.
├── /submodules/               # Core Repository Submodules
│   ├── /.github/             # GitHub configurations, workflows and standards docs
│   ├── /arranger/            # Arranger repository
│   ├── /lectern/             # Lectern repository
│   ├── /lyric/               # Lyric repository
│   ├── /maestro/             # Maestro repository
│   ├── /score/               # Score repository
│   ├── /song/                # Song repository
│   └── /stage/               # Stage repository
│        └── /docs/           # Repository-specific documentation (found in every submodule repo)
│
└── /website/                  # Documentation Website
    ├── /community/           # Community resources and guidelines
    ├── /docs/                # Aggregated documentation (symlinked from submodules)
    ├── /guides/              # Overture platform user guides
    └── /src/                 # Website source code
        ├── /components/      # React components
        ├── /css/            # Component-specific styles
        ├── /theme/          # Global theme configuration and styling
        └── /pages/          # Static page content
- /submodules/: Contains all Overture core repositories as Git submodules
- /website/: Houses the Docusaurus-powered documentation website
- /community/: Community-focused content and resources
- /docs/: Central location for all documentation, automatically linked from repository submodules
- /guides/: Comprehensive platform guides and tutorials
- /src/: Website implementation files including custom components, styling, and page content
 
- 
A Centralized Resource for Decentralized Documentation: A single, easy-to-navigate hub displaying all our developer documentation while keeping all documentation markdown files within their respective repositories. 
- 
Consistent: Enables us to easily ensure all documentation follows the same standards across different projects. 
- 
Easy to Maintain: Updates to any of the individual project repositories /docsfolders are automatically reflected here.
- 
Robust Error Handling: Docusaurus has excellent error catching, particularly for broken and missing links, reducing the need for manual testing. 
Tip
The Overture Docs repo contains everything, therefore finding & tracking links and content across all our repos has never been easier.

