DocgoDocgo
Latest

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.

project tree
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.

docgo.config.mjs
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:

localized source path
docs/{locale}/{version}/{page}.mdx

For example:

resolved source files
docs/en/latest/guide/getting-started.mdx
docs/en/v1/guide/getting-started.mdx
docs/ko/latest/guide/getting-started.mdx

Public 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.

![Product screenshot](/images/screenshot.png)

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.md

The theme uses these markdown mirrors for the page action menu:

  • Copy Markdown Link
  • View as Markdown
  • Open in ChatGPT
  • Open in Claude
Edit this page

Last updated: