Project Structure
Understand how Docgo organizes config, source documents, public assets, and generated output.
Docgo projects are intentionally small. A typical project has one config file, one docs directory, and one public assets directory.
Recommended layout
my-docs/
docgo.config.mjs
head.html
public/
favicon.png
logo.png
og.png
docs/
index.mdx
guide/
getting-started.mdx
configuration.mdx
dist/Config file
docgo.config.mjs controls site metadata, navigation, sidebars, i18n,
versioning, SEO, theme behavior, and plugins.
import { defineConfig } from '@kyechan99/docgo';
export default defineConfig({
title: 'My Docs',
description: 'My product documentation',
});Docs directory
docsDir defaults to docs. Docgo discovers every **/*.md and **/*.mdx
file inside that directory.
When i18n and versioning are configured, the recommended path shape is:
docs/{locale}/{version}/{page}.mdxFor example:
docs/en/latest/guide/getting-started.mdx
docs/en/v1/guide/getting-started.mdx
docs/ko/latest/guide/getting-started.mdxPublic assets
Files in public are copied to the output root during docgo build.
Use this folder for favicons, logos, Open Graph images, downloadable files, and other static assets referenced by docs or config.
Output directory
outDir defaults to dist. Each build removes and recreates the output
directory.
Do not put source-only files in dist; treat it as generated output.
Markdown mirrors
Docgo writes a raw markdown mirror beside each HTML route. For example:
/guide/getting-started -> dist/guide/getting-started/index.html
/guide/getting-started.md -> dist/guide/getting-started.mdThe theme uses these markdown mirrors for the page action menu:
- Copy Markdown Link
- View as Markdown
- Open in ChatGPT
- Open in Claude
