Build artifacts
canofold build writes .canofold/dist by default. A full build writes to a temporary directory and atomically replaces the existing output only after success, so a failed build preserves the last successful site.
- index.html
- 404.html
- canofold.css
- {locale}.json
- manifest.json
- *.jsonl
- llms.txt
- llms-full.txt
- sitemap.xml
- robots.txt
- redirects.json
- index.html
- index.md
Every built page has static HTML; adjacent Markdown source is emitted by default and can be disabled with markdownMirror: false. Native DOM owns basic interactions. React loads on demand for sortable tables, image previews, and galleries, while diagram clients are loaded by their plugins. KaTeX CSS and fonts are emitted only when the math plugin is enabled and a page contains math.
Page index.html | Always | Static page containing the complete rendered body |
Page index.md | markdownMirror enabled | Markdown or MDX source used by the build after source extensions run |
assets/canofold.css | Always | Site shell, semantic tokens, and configured styles |
assets/canofold-markdown/* | A page needs browser behavior and no Demo engine is configured | Built-in native enhancer and lazy rich interactions |
assets/canofold-demos/* | A Demo engine is configured | Shared Vite graph for the native enhancer, component Demos, their chunks, and imported CSS |
assets/fonts/* | The math plugin is enabled and at least one page contains math | Complete KaTeX WOFF2 font set |
search/* | The default compact provider is enabled | Version- and locale-scoped single-file indexes |
pagefind/* | pagefind() is configured | Chunked locale/version-aware index |
robots.txt | Always | Search crawler policy |
sitemap.xml | siteUrl is configured | Absolute public URL list |
redirects.json | Redirects are configured | Hosting-platform redirect manifest |
ai/pages.json | ai.pageIndex enabled | Basic AI page index scoped by ai.versions |
ai/manifest.json, ai/content/* | ai.fullContent enabled | Versioned and bounded AI corpus shards |
Other ai/*, llms*.txt | Corresponding AI option is enabled | Optional AI and retrieval formats |
The built-in compact provider writes search/; the optional Pagefind plugin writes pagefind/ instead. robots.txt is always generated. sitemap.xml requires siteUrl; search indexes, redirects, Markdown mirrors, AI files, and llms*.txt follow their corresponding configuration.
robots.txt writes Allow: / by default. With seo: { robots: 'disallow' }, it writes Disallow: / and omits the Sitemap declaration. This file only expresses crawler preference; private sites still need hosting-level protection for every artifact.
Each build also writes .canofold/cache/build-report.json outside the deployable directory. It records page, locale and version counts; build mode, cache hit, changed pages and duration; each built-in output's enabled state, planned and actual paths, file count, bytes and missing paths; additional outputs; and paths removed since the previous valid build. removalBaseline: false means there was no previous manifest to compare. The report contains no document bodies and is not deployed as a public page.

