Repository layout
Everything DocuCommit stores is a plain file in your repository. There is no database and no index that has to be rebuilt from somewhere else — the tree below is the documentation.
docs/
├── 01-getting-started/
│ ├── index.md # the section's own landing page
│ ├── overview.md
│ └── install.md
├── 02-guides/
│ ├── index.md
│ └── basics.md
└── _attachments/ # images and files, never treated as pages
Folders are sections
Any folder is a section, and folders can nest as deeply as you like. Numeric prefixes such as
01- are a convention, not a requirement — they keep the order obvious in a file browser, while
the published order comes from the sort field in each page’s frontmatter.
index.md is the section landing page
A file named index.md inside a folder is that section’s own page: the thing a reader sees when
they open the section rather than a page within it. A section without an index.md still works;
it simply has no landing content of its own.
Frontmatter
Each page starts with a small YAML block:
---
title: Getting Started
sort: 1
tags:
- onboarding
- internal
---
# Getting Started
The body is ordinary Markdown from here down.
| Field | Purpose |
|---|---|
title | The display name, used in navigation and search results |
sort | Orders pages within their section; lower comes first |
tags | Feeds tag filters in search |
slug | Optional. Pins the URL when you need to preserve an existing link |
Two more fields appear in files the editor creates, and you should leave both alone: uuid,
which identifies a document across renames, and type, which marks a section’s index.md. The
editor maintains them.
Anything else you put in the frontmatter is preserved and ignored.
_attachments/
Images and uploaded files live in a folder named _attachments. It is excluded from the page
tree, so nothing inside it is ever rendered as a page. Because attachments sit beside the
Markdown in the same repository, a clone captures the whole knowledge base — text and assets
together.
Why this matters
The layout is the reason the usual migration questions do not apply here. Backup is
git clone. Search across everything is grep. Reading the docs with a script, an LLM, or a
coding agent needs no API — point it at a checkout. And if you ever stop using DocuCommit, you
keep exactly what you already had.