The docs folder
What goes in it
| File | What it becomes |
|---|---|
Any .md file | A page. |
A .png, .jpg, .jpeg, .gif, .webp or .svg file | An image pages can show. Its contents must match its extension. |
latitude10.docs.json | The site's settings, below. Optional. |
skill.md | Your own agent skill, in place of the one we write. |
Anything else is left out with a warning. macOS's .DS_Store, ._ files and __MACOSX/ are left out silently.
latitude10.docs.json
| Key | What it sets |
|---|---|
title | The site's name. Without it, the project's name. |
description | One line about the site, for llms.txt and skill.md. |
logo | The path of an image in the folder. If it isn't there, a warning. |
accent | A colour for links and highlights. If it's too faint to read on the light or dark theme, that theme keeps the default, with a warning. |
nav | The sidebar: a list of groups, each { "group": "Name", "pages": ["path/without/md"] }. |
reference | { "title": "…" }, the name of the reference's section. |
An unknown key gets a warning. A key of the wrong type, or a file that isn't JSON, refuses the push.
With nav, every page that isn't hidden should be in it: one that's left out gets a warning, and so does a name with no page. Without nav, pages are grouped by their top folder, each group with its index first, then by order, then by path.
Front matter
A page may start with front matter between two --- lines:
| Field | What it does |
|---|---|
title | The page's title. Without it, the page's first # heading, or else its file name. |
description | The page's summary, for search engines and llms.txt. |
order | A whole number that sorts the page within its group when there's no nav. |
hidden | true serves the page but leaves it out of the sidebar. |
Other fields are ignored.
Page addresses
A page's address is its path without .md, in lowercase, with spaces as dashes: Guides/Web Hooks.md is /guides/web-hooks. An index.md is its folder's address, and the root index.md is the home page. Two files that would share an address refuse the push.
The site serves these paths itself, so a page there would never show, and gets a warning: mcp, reference, _search, _theme.css, llms.txt, llms-full.txt, sitemap.xml and robots.txt, and anything under v/, preview/, _assets/, .well-known/ or mcp/.
What refuses a push
| Refusal | Status | Why |
|---|---|---|
| Not gzip | 422 | The body isn't a .tar.gz archive. |
| Too large | 413 | The folder, unpacked, is over your plan's bundle size. |
| Too many pages | 413 | It has more pages than your plan builds. |
| Bad path | 422 | A path leaves the folder, or an entry is a link or a special file. |
| Collision | 422 | Two files would be the same page. |
| Bad config | 422 | latitude10.docs.json isn't valid. |
The sizes and page counts per plan are in Plans and limits.
Where this comes from
app/docs/_lib/bundle.tsapp/docs/_lib/build.tsapp/api/registry/v1/docs/route.ts