@shoalrun/cli 0.0.0-stage → 0.1.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1012) hide show
  1. package/AUTHORING.md +269 -0
  2. package/CHANGELOG.md +89 -0
  3. package/LICENSE +202 -0
  4. package/README.md +191 -2
  5. package/agent-docs/.well-known/shoalrun/navigation/docs-50f26fe22670.txt +24 -0
  6. package/agent-docs/.well-known/shoalrun/navigation/examples-tab-50f26fe22670.txt +22 -0
  7. package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +37 -0
  8. package/agent-docs/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt +22 -0
  9. package/agent-docs/SNAPSHOT.json +9 -0
  10. package/agent-docs/about.md +49 -0
  11. package/agent-docs/api-docs/focused-contracts.md +68 -0
  12. package/agent-docs/api-docs/generate.md +189 -0
  13. package/agent-docs/api-docs/generate.sections/add-useful-examples.md +47 -0
  14. package/agent-docs/api-docs/generate.sections/choose-generated-references-or-mdx.md +50 -0
  15. package/agent-docs/api-docs/generate.sections/describe-filters-that-do-not-use-their-openapi-parameter-name.md +52 -0
  16. package/agent-docs/api-docs/generate.sections/generate-many-pages-selectively.md +71 -0
  17. package/agent-docs/api-docs/generate.sections/link-guides-to-api-references.md +48 -0
  18. package/agent-docs/api-docs/generate.sections/map-extension-values-to-shoalrun-status.md +52 -0
  19. package/agent-docs/api-docs/generate.sections/override-generated-reference-order-in-navigation.md +60 -0
  20. package/agent-docs/api-docs/generate.sections/related-reading.md +38 -0
  21. package/agent-docs/api-docs/generate.sections/use-a-template-for-editorial-context.md +45 -0
  22. package/agent-docs/api-docs/support.md +97 -0
  23. package/agent-docs/author/add-page.md +126 -0
  24. package/agent-docs/author/agent-overview.md +59 -0
  25. package/agent-docs/author/agent-workflow.md +65 -0
  26. package/agent-docs/author/agents.md +53 -0
  27. package/agent-docs/author/analytics.md +286 -0
  28. package/agent-docs/author/analytics.sections/adapter-exports-and-consent.md +51 -0
  29. package/agent-docs/author/analytics.sections/built-in-events.md +52 -0
  30. package/agent-docs/author/analytics.sections/configure-an-adapter.md +51 -0
  31. package/agent-docs/author/analytics.sections/custom-interactions.md +57 -0
  32. package/agent-docs/author/analytics.sections/event-format.md +59 -0
  33. package/agent-docs/author/analytics.sections/html-markdown-and-agents.md +42 -0
  34. package/agent-docs/author/analytics.sections/inspect-events-locally.md +36 -0
  35. package/agent-docs/author/analytics.sections/map-events-to-your-service.md +42 -0
  36. package/agent-docs/author/analytics.sections/posthog-example.md +126 -0
  37. package/agent-docs/author/analytics.sections/related-reading.md +42 -0
  38. package/agent-docs/author/authoring-agent.md +102 -0
  39. package/agent-docs/author/coding-agent.md +90 -0
  40. package/agent-docs/author/components/action-link.md +47 -0
  41. package/agent-docs/author/components/api-embeds.md +271 -0
  42. package/agent-docs/author/components/api-embeds.sections/apiexample.md +121 -0
  43. package/agent-docs/author/components/api-embeds.sections/html-markdown-and-agents.md +37 -0
  44. package/agent-docs/author/components/api-embeds.sections/related-reading.md +37 -0
  45. package/agent-docs/author/components/badge.md +80 -0
  46. package/agent-docs/author/components/breadcrumbs.md +57 -0
  47. package/agent-docs/author/components/callout.md +135 -0
  48. package/agent-docs/author/components/cards.md +168 -0
  49. package/agent-docs/author/components/cards.sections/add-a-lucide-icon.md +50 -0
  50. package/agent-docs/author/components/cards.sections/build-a-collection.md +69 -0
  51. package/agent-docs/author/components/cards.sections/curate-a-reading-list.md +66 -0
  52. package/agent-docs/author/components/cards.sections/html-markdown-and-agents.md +37 -0
  53. package/agent-docs/author/components/cards.sections/link-to-one-document.md +45 -0
  54. package/agent-docs/author/components/cards.sections/override-card-text.md +58 -0
  55. package/agent-docs/author/components/cards.sections/related-reading.md +43 -0
  56. package/agent-docs/author/components/code-blocks.md +121 -0
  57. package/agent-docs/author/components/collapsible.md +103 -0
  58. package/agent-docs/author/components/cookbook-chooser.md +90 -0
  59. package/agent-docs/author/components/custom/react.md +190 -0
  60. package/agent-docs/author/components/custom/react.sections/html-markdown-and-agents.md +36 -0
  61. package/agent-docs/author/components/custom/react.sections/interactive-react-example.md +88 -0
  62. package/agent-docs/author/components/custom/react.sections/registration.md +41 -0
  63. package/agent-docs/author/components/custom/react.sections/related-reading.md +30 -0
  64. package/agent-docs/author/components/custom/react.sections/share-the-model-with-the-browser.md +47 -0
  65. package/agent-docs/author/components/custom/react.sections/where-the-content-lives.md +100 -0
  66. package/agent-docs/author/components/custom.md +183 -0
  67. package/agent-docs/author/components/definition-list.md +56 -0
  68. package/agent-docs/author/components/diagrams/d2-gallery.md +861 -0
  69. package/agent-docs/author/components/diagrams/d2-gallery.sections/basic-shapes.md +163 -0
  70. package/agent-docs/author/components/diagrams/d2-gallery.sections/flows-and-structures.md +375 -0
  71. package/agent-docs/author/components/diagrams/d2-gallery.sections/html-markdown-and-agents.md +33 -0
  72. package/agent-docs/author/components/diagrams/d2-gallery.sections/layout-engines.md +169 -0
  73. package/agent-docs/author/components/diagrams/d2-gallery.sections/related-reading.md +37 -0
  74. package/agent-docs/author/components/diagrams/d2-gallery.sections/sequences-and-grids.md +123 -0
  75. package/agent-docs/author/components/diagrams/d2-gallery.sections/styles-and-code.md +125 -0
  76. package/agent-docs/author/components/diagrams/pele-gallery.md +1317 -0
  77. package/agent-docs/author/components/diagrams/pele-gallery.sections/charts-and-planning.md +341 -0
  78. package/agent-docs/author/components/diagrams/pele-gallery.sections/flowchart-shapes.md +269 -0
  79. package/agent-docs/author/components/diagrams/pele-gallery.sections/flows-and-behavior.md +273 -0
  80. package/agent-docs/author/components/diagrams/pele-gallery.sections/html-markdown-and-agents.md +31 -0
  81. package/agent-docs/author/components/diagrams/pele-gallery.sections/related-reading.md +35 -0
  82. package/agent-docs/author/components/diagrams/pele-gallery.sections/specialized-diagrams.md +229 -0
  83. package/agent-docs/author/components/diagrams/pele-gallery.sections/systems-and-structures.md +291 -0
  84. package/agent-docs/author/components/diagrams.md +163 -0
  85. package/agent-docs/author/components/doc-link.md +62 -0
  86. package/agent-docs/author/components/fields.md +123 -0
  87. package/agent-docs/author/components/file-tree.md +88 -0
  88. package/agent-docs/author/components/images.md +105 -0
  89. package/agent-docs/author/components/info-hint.md +65 -0
  90. package/agent-docs/author/components/kbd.md +47 -0
  91. package/agent-docs/author/components/math.md +43 -0
  92. package/agent-docs/author/components/only.md +69 -0
  93. package/agent-docs/author/components/progress.md +57 -0
  94. package/agent-docs/author/components/related-reading.md +52 -0
  95. package/agent-docs/author/components/steps.md +127 -0
  96. package/agent-docs/author/components/tables.md +68 -0
  97. package/agent-docs/author/components/tabs.md +133 -0
  98. package/agent-docs/author/components/timeline.md +80 -0
  99. package/agent-docs/author/components/tooltips.md +62 -0
  100. package/agent-docs/author/components/walkthroughs.md +392 -0
  101. package/agent-docs/author/components/walkthroughs.sections/attributes.md +45 -0
  102. package/agent-docs/author/components/walkthroughs.sections/build-up-code.md +133 -0
  103. package/agent-docs/author/components/walkthroughs.sections/choose-a-layout.md +141 -0
  104. package/agent-docs/author/components/walkthroughs.sections/explain-one-file.md +126 -0
  105. package/agent-docs/author/components/walkthroughs.sections/html-markdown-and-agents.md +38 -0
  106. package/agent-docs/author/components/walkthroughs.sections/related-reading.md +36 -0
  107. package/agent-docs/author/components/walkthroughs.sections/syntax.md +51 -0
  108. package/agent-docs/author/components/walkthroughs.sections/take-code-from-a-file.md +34 -0
  109. package/agent-docs/author/components.md +81 -0
  110. package/agent-docs/author/content.md +74 -0
  111. package/agent-docs/author/cookbooks.md +119 -0
  112. package/agent-docs/author/css.md +241 -0
  113. package/agent-docs/author/css.sections/borders-fields-and-navigation-tokens.md +70 -0
  114. package/agent-docs/author/css.sections/core-color-tokens.md +71 -0
  115. package/agent-docs/author/css.sections/html-markdown-and-agents.md +54 -0
  116. package/agent-docs/author/css.sections/page-attributes.md +69 -0
  117. package/agent-docs/author/css.sections/page-transitions.md +60 -0
  118. package/agent-docs/author/css.sections/responsive-behavior.md +58 -0
  119. package/agent-docs/author/css.sections/status-code-and-callout-tokens.md +89 -0
  120. package/agent-docs/author/css.sections/typography-shape-and-width-tokens.md +71 -0
  121. package/agent-docs/author/custom-metadata.md +177 -0
  122. package/agent-docs/author/custom-metadata.sections/add-a-custom-page-field.md +68 -0
  123. package/agent-docs/author/custom-metadata.sections/choose-text-for-each-surface.md +54 -0
  124. package/agent-docs/author/custom-metadata.sections/preview-changes-to-metadata-providers.md +33 -0
  125. package/agent-docs/author/custom-metadata.sections/read-metadata-from-a-project-module.md +57 -0
  126. package/agent-docs/author/custom-metadata.sections/related-reading.md +29 -0
  127. package/agent-docs/author/design-templates.md +49 -0
  128. package/agent-docs/author/design-writing-guides.md +73 -0
  129. package/agent-docs/author/frontmatter-reference.md +150 -0
  130. package/agent-docs/author/frontmatter-reference.sections/choose-a-publication-and-visibility.md +44 -0
  131. package/agent-docs/author/frontmatter-reference.sections/control-output-details.md +41 -0
  132. package/agent-docs/author/frontmatter-reference.sections/global-defaults-and-enforced-values.md +31 -0
  133. package/agent-docs/author/frontmatter-reference.sections/html-markdown-and-agents.md +31 -0
  134. package/agent-docs/author/frontmatter-reference.sections/identify-and-route-a-page.md +40 -0
  135. package/agent-docs/author/frontmatter-reference.sections/point-agents-to-it.md +37 -0
  136. package/agent-docs/author/frontmatter-reference.sections/project-defined-fields.md +41 -0
  137. package/agent-docs/author/frontmatter-reference.sections/related-reading.md +35 -0
  138. package/agent-docs/author/frontmatter-reference.sections/use-the-local-files-while-authoring.md +33 -0
  139. package/agent-docs/author/frontmatter-reference.sections/when-the-files-update.md +31 -0
  140. package/agent-docs/author/frontmatter.md +255 -0
  141. package/agent-docs/author/frontmatter.sections/audience-badges.md +66 -0
  142. package/agent-docs/author/frontmatter.sections/give-deprecation-guidance.md +88 -0
  143. package/agent-docs/author/frontmatter.sections/global-defaults-and-enforced-values.md +75 -0
  144. package/agent-docs/author/frontmatter.sections/optional-native-fields.md +90 -0
  145. package/agent-docs/author/frontmatter.sections/publication-fields.md +85 -0
  146. package/agent-docs/author/frontmatter.sections/publishing-policy.md +71 -0
  147. package/agent-docs/author/frontmatter.sections/related-metadata-tasks.md +72 -0
  148. package/agent-docs/author/frontmatter.sections/related-reading.md +72 -0
  149. package/agent-docs/author/frontmatter.sections/required-after-inheritance.md +84 -0
  150. package/agent-docs/author/frontmatter.sections/seo-fields.md +79 -0
  151. package/agent-docs/author/frontmatter.sections/validation-rules.md +75 -0
  152. package/agent-docs/author/markdown-metadata.md +207 -0
  153. package/agent-docs/author/navigation.md +269 -0
  154. package/agent-docs/author/navigation.sections/arrange-authored-pages.md +58 -0
  155. package/agent-docs/author/navigation.sections/fill-an-api-tag-group.md +48 -0
  156. package/agent-docs/author/navigation.sections/hide-group-page-counts.md +45 -0
  157. package/agent-docs/author/navigation.sections/html-markdown-and-agents.md +40 -0
  158. package/agent-docs/author/navigation.sections/local-api-preview.md +47 -0
  159. package/agent-docs/author/navigation.sections/mix-guides-and-api-references.md +65 -0
  160. package/agent-docs/author/navigation.sections/optionally-split-a-large-menu-into-files.md +97 -0
  161. package/agent-docs/author/navigation.sections/reach-navigation-while-reading.md +38 -0
  162. package/agent-docs/author/navigation.sections/related-reading.md +44 -0
  163. package/agent-docs/author/navigation.sections/split-navigation-into-tabs.md +67 -0
  164. package/agent-docs/author/navigation.sections/subject-lifecycle-labels.md +42 -0
  165. package/agent-docs/author/reader-views.md +200 -0
  166. package/agent-docs/author/reader-views.sections/configure-the-choices.md +65 -0
  167. package/agent-docs/author/reader-views.sections/connect-your-own-control.md +59 -0
  168. package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +41 -0
  169. package/agent-docs/author/reader-views.sections/mark-pages.md +49 -0
  170. package/agent-docs/author/reader-views.sections/mark-sections-and-add-an-entry-choice.md +49 -0
  171. package/agent-docs/author/reader-views.sections/place-filter-controls.md +43 -0
  172. package/agent-docs/author/reader-views.sections/try-the-controls-here.md +64 -0
  173. package/agent-docs/author/recipe-drafts.md +181 -0
  174. package/agent-docs/author/recipe-drafts.sections/1-write-one-reusable-step.md +82 -0
  175. package/agent-docs/author/recipe-drafts.sections/2-list-the-steps-for-one-complete-goal.md +60 -0
  176. package/agent-docs/author/recipe-drafts.sections/3-generate-a-draft-and-review-it.md +55 -0
  177. package/agent-docs/author/recipe-drafts.sections/4-maintain-shoalrun-s-published-recipe-snapshots.md +66 -0
  178. package/agent-docs/author/recipe-drafts.sections/related-reading.md +45 -0
  179. package/agent-docs/author/recipe-drafts.sections/start-an-ingredient-from-an-api-example.md +50 -0
  180. package/agent-docs/author/recipes.md +127 -0
  181. package/agent-docs/author/recipes.sections/how-agents-use-this.md +50 -0
  182. package/agent-docs/author/recipes.sections/one-example-from-shoalrun.md +64 -0
  183. package/agent-docs/author/recipes.sections/related-reading.md +36 -0
  184. package/agent-docs/author/recipes.sections/try-a-complete-workflow.md +42 -0
  185. package/agent-docs/author/recipes.sections/use-recipes-for-task-oriented-how-tos.md +52 -0
  186. package/agent-docs/author/recipes.sections/what-changing-an-ingredient-updates.md +44 -0
  187. package/agent-docs/author/recipes.sections/what-each-file-does.md +48 -0
  188. package/agent-docs/author/recipes.sections/what-happens-and-when.md +45 -0
  189. package/agent-docs/author/related-reading.md +147 -0
  190. package/agent-docs/author/related-reading.sections/automatic-footers.md +35 -0
  191. package/agent-docs/author/related-reading.sections/declare-relationships.md +68 -0
  192. package/agent-docs/author/related-reading.sections/display-related-documents.md +54 -0
  193. package/agent-docs/author/related-reading.sections/html-markdown-and-agents.md +28 -0
  194. package/agent-docs/author/related-reading.sections/inspect-output-and-changes.md +32 -0
  195. package/agent-docs/author/related-reading.sections/reading-paths-in-section-markdown.md +32 -0
  196. package/agent-docs/author/related-reading.sections/related-reading.md +34 -0
  197. package/agent-docs/author/related-reading.sections/where-relationship-explanations-come-from.md +34 -0
  198. package/agent-docs/author/release-notes.md +153 -0
  199. package/agent-docs/author/search.md +299 -0
  200. package/agent-docs/author/search.sections/choose-a-provider.md +52 -0
  201. package/agent-docs/author/search.sections/cli-and-mcp-ranking-details.md +49 -0
  202. package/agent-docs/author/search.sections/hosted-semantic-search-limits.md +55 -0
  203. package/agent-docs/author/search.sections/html-markdown-and-agents.md +37 -0
  204. package/agent-docs/author/search.sections/lexical-search.md +78 -0
  205. package/agent-docs/author/search.sections/local-semantic-preview.md +43 -0
  206. package/agent-docs/author/search.sections/read-a-search-result-with-an-agent.md +41 -0
  207. package/agent-docs/author/search.sections/related-reading.md +45 -0
  208. package/agent-docs/author/search.sections/reuse-the-lexical-index.md +81 -0
  209. package/agent-docs/author/search.sections/turn-search-off.md +46 -0
  210. package/agent-docs/author/search.sections/use-the-search-box.md +39 -0
  211. package/agent-docs/author/search.sections/write-a-custom-provider.md +98 -0
  212. package/agent-docs/author/snippets.md +122 -0
  213. package/agent-docs/author/taxonomy.md +121 -0
  214. package/agent-docs/author/templates.md +231 -0
  215. package/agent-docs/author/templates.sections/built-in-feature-templates.md +52 -0
  216. package/agent-docs/author/templates.sections/built-in-templates.md +48 -0
  217. package/agent-docs/author/templates.sections/choose-formatting-enforcement-for-your-project.md +69 -0
  218. package/agent-docs/author/templates.sections/create-or-edit-a-project-template.md +76 -0
  219. package/agent-docs/author/templates.sections/keep-the-four-shapes-distinct.md +46 -0
  220. package/agent-docs/author/templates.sections/project-added-templates.md +39 -0
  221. package/agent-docs/author/templates.sections/related-reading.md +47 -0
  222. package/agent-docs/author/templates.sections/scaffold-a-page.md +53 -0
  223. package/agent-docs/author/templates.sections/short-cli-and-derived-values.md +56 -0
  224. package/agent-docs/author/templates.sections/what-every-template-gives-you.md +44 -0
  225. package/agent-docs/author/workspace/commands.md +92 -0
  226. package/agent-docs/author/workspace.md +104 -0
  227. package/agent-docs/author/writing-style.md +147 -0
  228. package/agent-docs/author/writing-style.sections/adapt-this-example.md +28 -0
  229. package/agent-docs/author/writing-style.sections/choose-components-by-reader-need.md +44 -0
  230. package/agent-docs/author/writing-style.sections/evidence-and-uncertainty.md +32 -0
  231. package/agent-docs/author/writing-style.sections/example-audience-and-scope.md +28 -0
  232. package/agent-docs/author/writing-style.sections/ingredients-recipes-and-cookbooks.md +36 -0
  233. package/agent-docs/author/writing-style.sections/page-purpose-and-structure.md +49 -0
  234. package/agent-docs/author/writing-style.sections/procedures-and-examples.md +32 -0
  235. package/agent-docs/author/writing-style.sections/related-reading.md +32 -0
  236. package/agent-docs/author/writing-style.sections/review-a-draft.md +30 -0
  237. package/agent-docs/author/writing-style.sections/reviewed-writing-examples.md +39 -0
  238. package/agent-docs/author/writing-style.sections/voice-and-explanations.md +39 -0
  239. package/agent-docs/changelog/2026-10-14-agent-readiness.md +29 -0
  240. package/agent-docs/changelog/2026-10-15-evaluation-builds.md +84 -0
  241. package/agent-docs/changelog/2026-10-16-navigation-layouts.md +72 -0
  242. package/agent-docs/changelog/2026-10-17-mcp-hosting.md +60 -0
  243. package/agent-docs/changelog/2026-10-18-search-and-tooltips.md +46 -0
  244. package/agent-docs/changelog/2026-10-19-visual-navigation.md +44 -0
  245. package/agent-docs/changelog/2026-10-25.md +45 -0
  246. package/agent-docs/changelog/2026-10-26.md +66 -0
  247. package/agent-docs/changelog/2026-10-27.md +85 -0
  248. package/agent-docs/changelog/authoring-preview.md +40 -0
  249. package/agent-docs/changelog/authoring-search.md +39 -0
  250. package/agent-docs/changelog/authoring-tools.md +34 -0
  251. package/agent-docs/changelog/working-tree-skill.md +38 -0
  252. package/agent-docs/changelog.md +115 -0
  253. package/agent-docs/chat/checks.md +175 -0
  254. package/agent-docs/chat/checks.sections/answer-ahead-of-time.md +38 -0
  255. package/agent-docs/chat/checks.sections/answer-for-one-audience.md +66 -0
  256. package/agent-docs/chat/checks.sections/answer-without-a-model.md +54 -0
  257. package/agent-docs/chat/checks.sections/follow-up-questions.md +54 -0
  258. package/agent-docs/chat/checks.sections/how-an-answer-is-checked.md +67 -0
  259. package/agent-docs/chat/checks.sections/questions-with-several-parts.md +44 -0
  260. package/agent-docs/chat/checks.sections/related-reading.md +42 -0
  261. package/agent-docs/chat/checks.sections/reuse-answers.md +50 -0
  262. package/agent-docs/chat/host.md +222 -0
  263. package/agent-docs/chat/host.sections/cap-the-daily-spend.md +78 -0
  264. package/agent-docs/chat/host.sections/keep-a-record-of-questions.md +64 -0
  265. package/agent-docs/chat/host.sections/related-reading.md +43 -0
  266. package/agent-docs/chat/passage-index.md +228 -0
  267. package/agent-docs/chat/passage-index.sections/build-the-index.md +72 -0
  268. package/agent-docs/chat/passage-index.sections/embed-passages.md +103 -0
  269. package/agent-docs/chat/passage-index.sections/how-the-default-chunker-splits-a-page.md +53 -0
  270. package/agent-docs/chat/passage-index.sections/limits.md +45 -0
  271. package/agent-docs/chat/passage-index.sections/passage-ids-and-links.md +52 -0
  272. package/agent-docs/chat/passage-index.sections/related-reading.md +42 -0
  273. package/agent-docs/chat/passage-index.sections/what-a-passage-contains.md +91 -0
  274. package/agent-docs/chat/prepared-answers.md +116 -0
  275. package/agent-docs/chat/settings.md +213 -0
  276. package/agent-docs/chat/settings.sections/choose-the-scorer.md +63 -0
  277. package/agent-docs/chat/settings.sections/configure-chat.md +80 -0
  278. package/agent-docs/chat/settings.sections/configure-retrieval.md +62 -0
  279. package/agent-docs/chat/settings.sections/related-reading.md +32 -0
  280. package/agent-docs/chat/settings.sections/send-extra-request-fields.md +42 -0
  281. package/agent-docs/chat/settings.sections/use-more-than-one-model.md +62 -0
  282. package/agent-docs/chat/settings.sections/when-the-scorer-is-down.md +42 -0
  283. package/agent-docs/chat/setup.md +97 -0
  284. package/agent-docs/chat.md +102 -0
  285. package/agent-docs/cli.md +445 -0
  286. package/agent-docs/cli.sections/audit-a-project-and-api-sources.md +102 -0
  287. package/agent-docs/cli.sections/author-pages.md +94 -0
  288. package/agent-docs/cli.sections/build-and-serve.md +144 -0
  289. package/agent-docs/cli.sections/inspect-config-and-operations.md +41 -0
  290. package/agent-docs/cli.sections/npm-scripts-in-this-repository.md +45 -0
  291. package/agent-docs/cli.sections/related-reading.md +33 -0
  292. package/agent-docs/cli.sections/search-and-chat.md +132 -0
  293. package/agent-docs/cli.sections/start-a-project.md +37 -0
  294. package/agent-docs/cli.sections/working-tree-authoring-tools.md +35 -0
  295. package/agent-docs/concepts.md +133 -0
  296. package/agent-docs/config/apis.md +136 -0
  297. package/agent-docs/config/content.md +264 -0
  298. package/agent-docs/config/content.sections/authoring.md +58 -0
  299. package/agent-docs/config/content.sections/badges.md +34 -0
  300. package/agent-docs/config/content.sections/callouts.md +34 -0
  301. package/agent-docs/config/content.sections/cookbooks.md +38 -0
  302. package/agent-docs/config/content.sections/frontmatter.md +75 -0
  303. package/agent-docs/config/content.sections/readerfilters.md +44 -0
  304. package/agent-docs/config/content.sections/related-reading.md +34 -0
  305. package/agent-docs/config/content.sections/relationships.md +76 -0
  306. package/agent-docs/config/content.sections/snippets.md +61 -0
  307. package/agent-docs/config/content.sections/templates.md +57 -0
  308. package/agent-docs/config/content.sections/variables.md +55 -0
  309. package/agent-docs/config/examples.md +362 -0
  310. package/agent-docs/config/examples.sections/feature-showcase.md +63 -0
  311. package/agent-docs/config/examples.sections/minimal-site.md +85 -0
  312. package/agent-docs/config/examples.sections/multilingual-help-center.md +115 -0
  313. package/agent-docs/config/examples.sections/parcel-api-documentation.md +158 -0
  314. package/agent-docs/config/examples.sections/related-reading.md +55 -0
  315. package/agent-docs/config/examples.sections/shared-company-preset.md +123 -0
  316. package/agent-docs/config/integrations.md +76 -0
  317. package/agent-docs/config/outputs.md +160 -0
  318. package/agent-docs/config/outputs.sections/exports.md +57 -0
  319. package/agent-docs/config/outputs.sections/metadata.md +42 -0
  320. package/agent-docs/config/outputs.sections/related-reading.md +34 -0
  321. package/agent-docs/config/publishing.md +219 -0
  322. package/agent-docs/config/publishing.sections/navigation.md +92 -0
  323. package/agent-docs/config/publishing.sections/redirects.md +79 -0
  324. package/agent-docs/config/publishing.sections/related-reading.md +33 -0
  325. package/agent-docs/config/site.md +193 -0
  326. package/agent-docs/config/site.sections/related-reading.md +33 -0
  327. package/agent-docs/config/site.sections/theme.md +74 -0
  328. package/agent-docs/config.md +195 -0
  329. package/agent-docs/configuration.md +386 -0
  330. package/agent-docs/configuration.sections/build-several-sites-from-shared-content.md +36 -0
  331. package/agent-docs/configuration.sections/change-inherited-lists-deliberately.md +76 -0
  332. package/agent-docs/configuration.sections/extract-a-section-with-include.md +75 -0
  333. package/agent-docs/configuration.sections/inspect-and-validate-changes.md +77 -0
  334. package/agent-docs/configuration.sections/related-reading.md +42 -0
  335. package/agent-docs/configuration.sections/separate-config-inheritance-from-page-metadata.md +54 -0
  336. package/agent-docs/configuration.sections/share-defaults-through-extends.md +121 -0
  337. package/agent-docs/configuration.sections/start-with-one-working-file.md +83 -0
  338. package/agent-docs/configuration.sections/understand-the-three-stages.md +59 -0
  339. package/agent-docs/configuration.sections/understand-where-paths-point.md +53 -0
  340. package/agent-docs/connect/mcp.md +85 -0
  341. package/agent-docs/contribute/agent-skills.md +72 -0
  342. package/agent-docs/cookbooks/authoring.md +72 -0
  343. package/agent-docs/cookbooks/site-workflows.md +63 -0
  344. package/agent-docs/cookbooks/welcome-email.md +59 -0
  345. package/agent-docs/documents.json +19807 -0
  346. package/agent-docs/example-api/cedar/create-enrollment-7af3e5d2.md +594 -0
  347. package/agent-docs/example-api/cedar/get-legacy-parcel-6758d051.md +122 -0
  348. package/agent-docs/example-api/cedar/get-parcel-edee10e6.md +122 -0
  349. package/agent-docs/example-api/cedar/list-parcels-0345fb5f.md +271 -0
  350. package/agent-docs/example-api/cedar/parcel-delivered-7d1ba6db.md +122 -0
  351. package/agent-docs/example-api/cedar/upload-manifest-1af17891.md +101 -0
  352. package/agent-docs/example-api/cedar.md +39 -0
  353. package/agent-docs/example-api/create-note.md +344 -0
  354. package/agent-docs/example-api/generated/get-note-cbedb319.md +165 -0
  355. package/agent-docs/example-api/write-note.md +55 -0
  356. package/agent-docs/explore.md +54 -0
  357. package/agent-docs/glossary.md +823 -0
  358. package/agent-docs/index.md +249 -0
  359. package/agent-docs/ingredients/audit-site.md +27 -0
  360. package/agent-docs/ingredients/build-site.md +29 -0
  361. package/agent-docs/ingredients/compile-framework.md +28 -0
  362. package/agent-docs/ingredients/complete-page.md +30 -0
  363. package/agent-docs/ingredients/inspect-agent-bundle.md +28 -0
  364. package/agent-docs/ingredients/inspect-build.md +41 -0
  365. package/agent-docs/ingredients/preview-site.md +31 -0
  366. package/agent-docs/ingredients/refresh-agent-bundle.md +29 -0
  367. package/agent-docs/ingredients/scaffold-page.md +28 -0
  368. package/agent-docs/non-goals.md +58 -0
  369. package/agent-docs/provenance.json +10 -0
  370. package/agent-docs/publish/agent-discovery.md +79 -0
  371. package/agent-docs/publish/agent-friendliness.md +201 -0
  372. package/agent-docs/publish/agent-friendliness.sections/discover-a-page-with-a-small-context-budget.md +61 -0
  373. package/agent-docs/publish/agent-friendliness.sections/distinguish-examples-from-a-real-service.md +48 -0
  374. package/agent-docs/publish/agent-friendliness.sections/evidence-has-a-scope.md +46 -0
  375. package/agent-docs/publish/agent-friendliness.sections/keep-shared-instructions-complete.md +48 -0
  376. package/agent-docs/publish/agent-friendliness.sections/related-reading.md +52 -0
  377. package/agent-docs/publish/agent-friendliness.sections/secret-handshake.md +50 -0
  378. package/agent-docs/publish/agent-friendliness.sections/try-the-page-controls.md +62 -0
  379. package/agent-docs/publish/agent-friendliness.sections/use-the-transport-your-client-supports.md +50 -0
  380. package/agent-docs/publish/agent-friendliness.sections/verify-the-page-and-detect-changes.md +58 -0
  381. package/agent-docs/publish/agent-friendliness.sections/what-an-agent-reads.md +68 -0
  382. package/agent-docs/publish/agent-friendliness.sections/what-happens-to-an-unsupported-component.md +60 -0
  383. package/agent-docs/publish/api-references.md +219 -0
  384. package/agent-docs/publish/api-references.sections/author-the-reference-page.md +65 -0
  385. package/agent-docs/publish/api-references.sections/build-and-verify-the-output.md +48 -0
  386. package/agent-docs/publish/api-references.sections/inspect-the-machine-readable-contract.md +36 -0
  387. package/agent-docs/publish/api-references.sections/next-steps.md +62 -0
  388. package/agent-docs/publish/api-references.sections/preview-a-small-api-reference.md +38 -0
  389. package/agent-docs/publish/api-references.sections/put-the-spec-in-your-project.md +62 -0
  390. package/agent-docs/publish/api-references.sections/register-the-operation.md +64 -0
  391. package/agent-docs/publish/api-references.sections/related-reading.md +42 -0
  392. package/agent-docs/publish/api-references.sections/review-imported-content-before-publishing.md +54 -0
  393. package/agent-docs/publish/api-references.sections/what-readers-get.md +38 -0
  394. package/agent-docs/publish/audit.md +160 -0
  395. package/agent-docs/publish/audit.sections/add-project-tests.md +57 -0
  396. package/agent-docs/publish/audit.sections/check-agent-evaluation-reports.md +52 -0
  397. package/agent-docs/publish/audit.sections/check-before-pushing.md +80 -0
  398. package/agent-docs/publish/audit.sections/connect-a-documentation-test-suite.md +54 -0
  399. package/agent-docs/publish/audit.sections/read-the-report.md +67 -0
  400. package/agent-docs/publish/audit.sections/related-reading.md +47 -0
  401. package/agent-docs/publish/content-export.md +208 -0
  402. package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +40 -0
  403. package/agent-docs/publish/content-export.sections/check-the-result.md +27 -0
  404. package/agent-docs/publish/content-export.sections/export-selected-pages.md +113 -0
  405. package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +29 -0
  406. package/agent-docs/publish/content-export.sections/prerequisites.md +29 -0
  407. package/agent-docs/publish/content-export.sections/related-reading.md +35 -0
  408. package/agent-docs/publish/content-export.sections/review-exported-api-material.md +44 -0
  409. package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +34 -0
  410. package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +43 -0
  411. package/agent-docs/publish/content-negotiation.md +121 -0
  412. package/agent-docs/publish/content-negotiation.sections/hosting-contract.md +60 -0
  413. package/agent-docs/publish/content-negotiation.sections/missing-pages.md +51 -0
  414. package/agent-docs/publish/content-negotiation.sections/related-reading.md +45 -0
  415. package/agent-docs/publish/content-negotiation.sections/validators-and-manifest-links.md +49 -0
  416. package/agent-docs/publish/content-negotiation.sections/verify-the-deployed-url.md +62 -0
  417. package/agent-docs/publish/content-negotiation.sections/what-if-the-host-cannot-negotiate.md +47 -0
  418. package/agent-docs/publish/content-negotiation.sections/what-shoalrun-builds-and-what-the-host-does.md +49 -0
  419. package/agent-docs/publish/content-negotiation.sections/why-this-matters.md +47 -0
  420. package/agent-docs/publish/deployment-check.md +72 -0
  421. package/agent-docs/publish/evals.md +175 -0
  422. package/agent-docs/publish/evals.sections/add-the-audit-hook.md +63 -0
  423. package/agent-docs/publish/evals.sections/check-the-report.md +36 -0
  424. package/agent-docs/publish/evals.sections/define-a-task-file.md +47 -0
  425. package/agent-docs/publish/evals.sections/diagnose-a-different-build.md +42 -0
  426. package/agent-docs/publish/evals.sections/prepare-a-report-for-the-built-site.md +39 -0
  427. package/agent-docs/publish/evals.sections/related-reading.md +36 -0
  428. package/agent-docs/publish/evals.sections/run-and-review-the-tasks.md +54 -0
  429. package/agent-docs/publish/evals.sections/shoalrun-s-own-example.md +42 -0
  430. package/agent-docs/publish/host-adapters.md +60 -0
  431. package/agent-docs/publish/manni.md +227 -0
  432. package/agent-docs/publish/manni.sections/check-the-result.md +40 -0
  433. package/agent-docs/publish/manni.sections/how-this-site-uses-manni.md +83 -0
  434. package/agent-docs/publish/manni.sections/optional-custom-policies.md +42 -0
  435. package/agent-docs/publish/manni.sections/prerequisites.md +40 -0
  436. package/agent-docs/publish/mcp-analytics.md +356 -0
  437. package/agent-docs/publish/mcp-analytics.sections/adapter-exports.md +50 -0
  438. package/agent-docs/publish/mcp-analytics.sections/enable-analytics.md +45 -0
  439. package/agent-docs/publish/mcp-analytics.sections/event-fields-and-service-mappings.md +53 -0
  440. package/agent-docs/publish/mcp-analytics.sections/optionally-collect-intent-and-group-calls.md +62 -0
  441. package/agent-docs/publish/mcp-analytics.sections/optionally-identify-the-client-and-model.md +54 -0
  442. package/agent-docs/publish/mcp-analytics.sections/related-reading.md +36 -0
  443. package/agent-docs/publish/mcp-analytics.sections/safeguards-and-limits.md +46 -0
  444. package/agent-docs/publish/mcp.md +190 -0
  445. package/agent-docs/publish/mcp.sections/check-budgets-and-errors.md +52 -0
  446. package/agent-docs/publish/mcp.sections/choose-the-documentation-source.md +51 -0
  447. package/agent-docs/publish/mcp.sections/configure-the-client.md +55 -0
  448. package/agent-docs/publish/mcp.sections/generate-a-vercel-endpoint.md +50 -0
  449. package/agent-docs/publish/mcp.sections/related-reading.md +42 -0
  450. package/agent-docs/publish/mcp.sections/search-then-read.md +53 -0
  451. package/agent-docs/publish/mcp.sections/serve-a-public-endpoint-on-node.md +79 -0
  452. package/agent-docs/publish/mcp.sections/verify-the-connection.md +40 -0
  453. package/agent-docs/publish/mcp.sections/why-offer-mcp-for-public-docs.md +42 -0
  454. package/agent-docs/publish/openapi-extension-mappings.md +84 -0
  455. package/agent-docs/publish/output.md +220 -0
  456. package/agent-docs/publish/output.sections/api-contracts.md +48 -0
  457. package/agent-docs/publish/output.sections/code-highlighting.md +38 -0
  458. package/agent-docs/publish/output.sections/current-limits.md +40 -0
  459. package/agent-docs/publish/output.sections/incremental-sync.md +69 -0
  460. package/agent-docs/publish/output.sections/manifest-records-and-sections.md +46 -0
  461. package/agent-docs/publish/output.sections/navigation-section-indexes.md +42 -0
  462. package/agent-docs/publish/output.sections/page-formats.md +46 -0
  463. package/agent-docs/publish/output.sections/published-output-contract.md +58 -0
  464. package/agent-docs/publish/output.sections/reader-appearance-and-controls.md +44 -0
  465. package/agent-docs/publish/output.sections/related-reading.md +34 -0
  466. package/agent-docs/publish/output.sections/response-identity.md +38 -0
  467. package/agent-docs/publish/output.sections/site-files.md +64 -0
  468. package/agent-docs/publish/output.sections/validate-an-existing-build-locally.md +48 -0
  469. package/agent-docs/publish/output.sections/where-files-go.md +49 -0
  470. package/agent-docs/publish/publications.md +153 -0
  471. package/agent-docs/publish/revisions.md +104 -0
  472. package/agent-docs/publish/seo.md +119 -0
  473. package/agent-docs/publish/single-source-sites.md +168 -0
  474. package/agent-docs/publish/troubleshooting.md +112 -0
  475. package/agent-docs/publish/vercel.md +130 -0
  476. package/agent-docs/publish/vercel.sections/check-the-deployment.md +54 -0
  477. package/agent-docs/publish/vercel.sections/include-an-mcp-endpoint.md +38 -0
  478. package/agent-docs/publish/vercel.sections/prepare-your-project.md +52 -0
  479. package/agent-docs/publish/vercel.sections/related-reading.md +38 -0
  480. package/agent-docs/publish.md +95 -0
  481. package/agent-docs/recipes/add-page.md +194 -0
  482. package/agent-docs/recipes/add-page.sections/audit-the-shoalrun-docs-project.md +40 -0
  483. package/agent-docs/recipes/add-page.sections/before-you-start.md +32 -0
  484. package/agent-docs/recipes/add-page.sections/build-the-shoalrun-docs-site.md +42 -0
  485. package/agent-docs/recipes/add-page.sections/check-agent-search-and-page-lookup.md +42 -0
  486. package/agent-docs/recipes/add-page.sections/check-the-built-page-artifacts.md +54 -0
  487. package/agent-docs/recipes/add-page.sections/check-the-outcome.md +28 -0
  488. package/agent-docs/recipes/add-page.sections/complete-the-guide-and-add-navigation.md +42 -0
  489. package/agent-docs/recipes/add-page.sections/install-the-site-dependencies.md +41 -0
  490. package/agent-docs/recipes/add-page.sections/regenerate-the-agent-documentation-bundle.md +43 -0
  491. package/agent-docs/recipes/add-page.sections/related-reading.md +30 -0
  492. package/agent-docs/recipes/add-page.sections/scaffold-a-new-guide.md +42 -0
  493. package/agent-docs/recipes/audit-docs.md +121 -0
  494. package/agent-docs/recipes/build-docs.md +104 -0
  495. package/agent-docs/recipes/preview-hybrid-search.md +84 -0
  496. package/agent-docs/recipes/preview-page.md +123 -0
  497. package/agent-docs/recipes/queue-email.md +49 -0
  498. package/agent-docs/recipes/refresh-agent-docs.md +127 -0
  499. package/agent-docs/recipes/send-welcome-email.md +92 -0
  500. package/agent-docs/reference/agent-skills.md +73 -0
  501. package/agent-docs/search-and-chat.md +87 -0
  502. package/agent-docs/search-index.json +1 -0
  503. package/agent-docs/start.md +201 -0
  504. package/agent-docs/start.sections/add-the-page-to-navigation.md +50 -0
  505. package/agent-docs/start.sections/build-and-check-both-outputs.md +50 -0
  506. package/agent-docs/start.sections/build-this-site.md +35 -0
  507. package/agent-docs/start.sections/check-writing-style.md +35 -0
  508. package/agent-docs/start.sections/create-a-page.md +105 -0
  509. package/agent-docs/start.sections/make-it-yours.md +37 -0
  510. package/agent-docs/start.sections/migrating-from-github-packages.md +35 -0
  511. package/agent-docs/start.sections/prerequisites.md +37 -0
  512. package/agent-docs/start.sections/related-reading.md +45 -0
  513. package/agent-docs/start.sections/start-your-own-project.md +53 -0
  514. package/agent-docs/status.md +75 -0
  515. package/agent-docs/styling/color-modes.md +89 -0
  516. package/agent-docs/styling/footer.md +69 -0
  517. package/agent-docs/styling/header.md +67 -0
  518. package/agent-docs/styling/layouts.md +197 -0
  519. package/agent-docs/styling/layouts.sections/build-a-landing-page.md +61 -0
  520. package/agent-docs/styling/layouts.sections/build-a-splash-page.md +88 -0
  521. package/agent-docs/styling/layouts.sections/control-navigation-tabs.md +51 -0
  522. package/agent-docs/styling/layouts.sections/customize-the-hero.md +50 -0
  523. package/agent-docs/styling/layouts.sections/hero.md +83 -0
  524. package/agent-docs/styling/layouts.sections/html-markdown-and-agents.md +40 -0
  525. package/agent-docs/styling/layouts.sections/related-reading.md +42 -0
  526. package/agent-docs/styling/palettes.md +144 -0
  527. package/agent-docs/styling/share-images.md +109 -0
  528. package/agent-docs/styling/themes.md +128 -0
  529. package/agent-docs/styling/try.md +94 -0
  530. package/agent-docs/what-is-shoalrun.md +56 -0
  531. package/assets/analytics.js +72 -0
  532. package/assets/ask-widget.js +320 -0
  533. package/assets/code-samples.js +28 -0
  534. package/assets/components.js +32 -0
  535. package/assets/cookbook-chooser.js +170 -0
  536. package/assets/copy-markdown.js +24 -0
  537. package/assets/example-panel.js +77 -0
  538. package/assets/file-tree.js +49 -0
  539. package/assets/image-viewer.js +41 -0
  540. package/assets/mode.js +26 -0
  541. package/assets/navigation.js +233 -0
  542. package/assets/reader-filters.js +305 -0
  543. package/assets/reader.js +111 -0
  544. package/assets/search-highlight.js +32 -0
  545. package/assets/search-lexical.js +66 -0
  546. package/assets/search.js +150 -0
  547. package/assets/table-filter.js +63 -0
  548. package/assets/tabs.js +80 -0
  549. package/assets/theme-preview.css +17 -0
  550. package/assets/theme-preview.js +135 -0
  551. package/assets/theme-switcher.js +113 -0
  552. package/assets/tooltips.js +81 -0
  553. package/assets/walkthrough.js +233 -0
  554. package/dist/agent-discovery.d.ts +11 -0
  555. package/dist/agent-discovery.js +37 -0
  556. package/dist/analytics.d.ts +2 -0
  557. package/dist/analytics.js +13 -0
  558. package/dist/answer-cache.d.ts +24 -0
  559. package/dist/answer-cache.js +55 -0
  560. package/dist/answer-cards.d.ts +71 -0
  561. package/dist/answer-cards.js +148 -0
  562. package/dist/api-embeds.d.ts +22 -0
  563. package/dist/api-embeds.js +84 -0
  564. package/dist/api-identity.d.ts +6 -0
  565. package/dist/api-identity.js +7 -0
  566. package/dist/api-materialize.d.ts +12 -0
  567. package/dist/api-materialize.js +120 -0
  568. package/dist/api-publication-plan.d.ts +86 -0
  569. package/dist/api-publication-plan.js +187 -0
  570. package/dist/api-publication-review.d.ts +23 -0
  571. package/dist/api-publication-review.js +58 -0
  572. package/dist/api-selection.d.ts +21 -0
  573. package/dist/api-selection.js +84 -0
  574. package/dist/api.d.ts +74 -0
  575. package/dist/api.js +782 -0
  576. package/dist/artifact-bundle.d.ts +96 -0
  577. package/dist/artifact-bundle.js +306 -0
  578. package/dist/ask-function.d.ts +19 -0
  579. package/dist/ask-function.js +139 -0
  580. package/dist/ask-handler.d.ts +38 -0
  581. package/dist/ask-handler.js +157 -0
  582. package/dist/ask-log-kv.d.ts +14 -0
  583. package/dist/ask-log-kv.js +69 -0
  584. package/dist/ask-log.d.ts +106 -0
  585. package/dist/ask-log.js +159 -0
  586. package/dist/ask-setup.d.ts +43 -0
  587. package/dist/ask-setup.js +99 -0
  588. package/dist/ask.d.ts +152 -0
  589. package/dist/ask.js +532 -0
  590. package/dist/audit.d.ts +29 -0
  591. package/dist/audit.js +171 -0
  592. package/dist/authored-change.d.ts +22 -0
  593. package/dist/authored-change.js +47 -0
  594. package/dist/authoring-api.d.ts +18 -0
  595. package/dist/authoring-api.js +15 -0
  596. package/dist/authoring-findings.d.ts +31 -0
  597. package/dist/authoring-findings.js +104 -0
  598. package/dist/authoring-guidance.d.ts +15 -0
  599. package/dist/authoring-guidance.js +57 -0
  600. package/dist/authoring-preview.d.ts +24 -0
  601. package/dist/authoring-preview.js +160 -0
  602. package/dist/authoring-project-command.d.ts +7 -0
  603. package/dist/authoring-project-command.js +52 -0
  604. package/dist/authoring-project.d.ts +104 -0
  605. package/dist/authoring-project.js +287 -0
  606. package/dist/authoring-review-command.d.ts +1 -0
  607. package/dist/authoring-review-command.js +68 -0
  608. package/dist/authoring-review.d.ts +72 -0
  609. package/dist/authoring-review.js +71 -0
  610. package/dist/authoring-snapshot.d.ts +66 -0
  611. package/dist/authoring-snapshot.js +293 -0
  612. package/dist/authoring-validation-command.d.ts +1 -0
  613. package/dist/authoring-validation-command.js +54 -0
  614. package/dist/authoring-validation.d.ts +101 -0
  615. package/dist/authoring-validation.js +348 -0
  616. package/dist/badges.d.ts +16 -0
  617. package/dist/badges.js +57 -0
  618. package/dist/budget-store.d.ts +21 -0
  619. package/dist/budget-store.js +90 -0
  620. package/dist/budget.d.ts +45 -0
  621. package/dist/budget.js +128 -0
  622. package/dist/build-info.d.ts +10 -0
  623. package/dist/build-info.js +15 -0
  624. package/dist/callouts.d.ts +18 -0
  625. package/dist/callouts.js +63 -0
  626. package/dist/cards.d.ts +35 -0
  627. package/dist/cards.js +237 -0
  628. package/dist/chat-config.d.ts +117 -0
  629. package/dist/chat-config.js +400 -0
  630. package/dist/chat-pause.d.ts +1 -0
  631. package/dist/chat-pause.js +3 -0
  632. package/dist/chat.d.ts +46 -0
  633. package/dist/chat.js +78 -0
  634. package/dist/cli-discovery.d.ts +4 -0
  635. package/dist/cli-discovery.js +86 -0
  636. package/dist/cli.d.ts +2 -0
  637. package/dist/cli.js +750 -0
  638. package/dist/code-samples.d.ts +50 -0
  639. package/dist/code-samples.js +181 -0
  640. package/dist/compact-discovery.d.ts +15 -0
  641. package/dist/compact-discovery.js +78 -0
  642. package/dist/compiler-config.d.ts +67 -0
  643. package/dist/compiler-config.js +66 -0
  644. package/dist/compiler.d.ts +208 -0
  645. package/dist/compiler.js +524 -0
  646. package/dist/component-bundle.d.ts +4 -0
  647. package/dist/component-bundle.js +32 -0
  648. package/dist/component-content.d.ts +78 -0
  649. package/dist/component-content.js +47 -0
  650. package/dist/component-manifest.d.ts +15 -0
  651. package/dist/component-manifest.js +84 -0
  652. package/dist/component-names.d.ts +1 -0
  653. package/dist/component-names.js +1 -0
  654. package/dist/component-plugins.d.ts +28 -0
  655. package/dist/component-plugins.js +141 -0
  656. package/dist/component-transform.d.ts +10 -0
  657. package/dist/component-transform.js +697 -0
  658. package/dist/components.d.ts +2 -0
  659. package/dist/components.js +1 -0
  660. package/dist/config.d.ts +29 -0
  661. package/dist/config.js +149 -0
  662. package/dist/content-export-assets.d.ts +23 -0
  663. package/dist/content-export-assets.js +103 -0
  664. package/dist/content-export-command.d.ts +20 -0
  665. package/dist/content-export-command.js +57 -0
  666. package/dist/content-export-config.d.ts +16 -0
  667. package/dist/content-export-config.js +50 -0
  668. package/dist/content-export-render.d.ts +12 -0
  669. package/dist/content-export-render.js +132 -0
  670. package/dist/content-export.d.ts +30 -0
  671. package/dist/content-export.js +307 -0
  672. package/dist/content-filter.d.ts +4 -0
  673. package/dist/content-filter.js +16 -0
  674. package/dist/content-source.d.ts +100 -0
  675. package/dist/content-source.js +42 -0
  676. package/dist/content-workspace.d.ts +293 -0
  677. package/dist/content-workspace.js +69 -0
  678. package/dist/content.d.ts +41 -0
  679. package/dist/content.js +176 -0
  680. package/dist/cookbook-chooser.d.ts +19 -0
  681. package/dist/cookbook-chooser.js +56 -0
  682. package/dist/dev.d.ts +2 -0
  683. package/dist/dev.js +113 -0
  684. package/dist/diagram-svg.d.ts +1 -0
  685. package/dist/diagram-svg.js +44 -0
  686. package/dist/diagrams.d.ts +7 -0
  687. package/dist/diagrams.js +102 -0
  688. package/dist/docs-author.d.ts +86 -0
  689. package/dist/docs-author.js +380 -0
  690. package/dist/docs-command.d.ts +8 -0
  691. package/dist/docs-command.js +62 -0
  692. package/dist/docs-eval.d.ts +146 -0
  693. package/dist/docs-eval.js +231 -0
  694. package/dist/docs-mcp.d.ts +12 -0
  695. package/dist/docs-mcp.js +82 -0
  696. package/dist/docs-tool.d.ts +81 -0
  697. package/dist/docs-tool.js +7 -0
  698. package/dist/document-sync.d.ts +36 -0
  699. package/dist/document-sync.js +58 -0
  700. package/dist/documentation-core.d.ts +148 -0
  701. package/dist/documentation-core.js +160 -0
  702. package/dist/embeddings.d.ts +68 -0
  703. package/dist/embeddings.js +198 -0
  704. package/dist/focused-audit.d.ts +10 -0
  705. package/dist/focused-audit.js +69 -0
  706. package/dist/focused-openapi.d.ts +2 -0
  707. package/dist/focused-openapi.js +140 -0
  708. package/dist/fonts.d.ts +54 -0
  709. package/dist/fonts.js +92 -0
  710. package/dist/freshness.d.ts +7 -0
  711. package/dist/freshness.js +58 -0
  712. package/dist/frontmatter.d.ts +24 -0
  713. package/dist/frontmatter.js +342 -0
  714. package/dist/function-package.d.ts +1 -0
  715. package/dist/function-package.js +58 -0
  716. package/dist/highlight.d.ts +14 -0
  717. package/dist/highlight.js +114 -0
  718. package/dist/html-renderer.d.ts +10 -0
  719. package/dist/html-renderer.js +63 -0
  720. package/dist/icons.d.ts +8 -0
  721. package/dist/icons.js +40 -0
  722. package/dist/index-build.d.ts +55 -0
  723. package/dist/index-build.js +227 -0
  724. package/dist/ingredient-draft.d.ts +17 -0
  725. package/dist/ingredient-draft.js +94 -0
  726. package/dist/ingredient-workflow.d.ts +8 -0
  727. package/dist/ingredient-workflow.js +25 -0
  728. package/dist/init.d.ts +8 -0
  729. package/dist/init.js +66 -0
  730. package/dist/jev.d.ts +62 -0
  731. package/dist/jev.js +190 -0
  732. package/dist/link-audit.d.ts +12 -0
  733. package/dist/link-audit.js +146 -0
  734. package/dist/llms-discovery.d.ts +11 -0
  735. package/dist/llms-discovery.js +23 -0
  736. package/dist/markdown-sections.d.ts +15 -0
  737. package/dist/markdown-sections.js +60 -0
  738. package/dist/markdown-size.d.ts +7 -0
  739. package/dist/markdown-size.js +6 -0
  740. package/dist/mcp-analytics.d.ts +38 -0
  741. package/dist/mcp-analytics.js +35 -0
  742. package/dist/mcp-artifacts.d.ts +2 -0
  743. package/dist/mcp-artifacts.js +78 -0
  744. package/dist/mcp-client-metadata.d.ts +18 -0
  745. package/dist/mcp-client-metadata.js +69 -0
  746. package/dist/mcp-config.d.ts +23 -0
  747. package/dist/mcp-config.js +56 -0
  748. package/dist/mcp-http.d.ts +19 -0
  749. package/dist/mcp-http.js +157 -0
  750. package/dist/mcp-integrity.d.ts +3 -0
  751. package/dist/mcp-integrity.js +4 -0
  752. package/dist/mcp-node.d.ts +4 -0
  753. package/dist/mcp-node.js +68 -0
  754. package/dist/mcp-vercel-runtime.d.ts +3 -0
  755. package/dist/mcp-vercel-runtime.js +36 -0
  756. package/dist/mcp-vercel.d.ts +15 -0
  757. package/dist/mcp-vercel.js +65 -0
  758. package/dist/metadata-provider.d.ts +19 -0
  759. package/dist/metadata-provider.js +38 -0
  760. package/dist/negotiation.d.ts +10 -0
  761. package/dist/negotiation.js +35 -0
  762. package/dist/not-found.d.ts +16 -0
  763. package/dist/not-found.js +25 -0
  764. package/dist/output-commit.d.ts +1 -0
  765. package/dist/output-commit.js +133 -0
  766. package/dist/output-location.d.ts +3 -0
  767. package/dist/output-location.js +30 -0
  768. package/dist/page-materialization.d.ts +78 -0
  769. package/dist/page-materialization.js +132 -0
  770. package/dist/page-renderer.d.ts +71 -0
  771. package/dist/page-renderer.js +177 -0
  772. package/dist/palettes.d.ts +41 -0
  773. package/dist/palettes.js +160 -0
  774. package/dist/procedure-components.d.ts +2 -0
  775. package/dist/procedure-components.js +94 -0
  776. package/dist/project-navigation.d.ts +41 -0
  777. package/dist/project-navigation.js +190 -0
  778. package/dist/provider-http.d.ts +10 -0
  779. package/dist/provider-http.js +60 -0
  780. package/dist/publication-manifest.d.ts +229 -0
  781. package/dist/publication-manifest.js +53 -0
  782. package/dist/publication-plan.d.ts +34 -0
  783. package/dist/publication-plan.js +85 -0
  784. package/dist/publication-render.d.ts +71 -0
  785. package/dist/publication-render.js +92 -0
  786. package/dist/reader-filters.d.ts +30 -0
  787. package/dist/reader-filters.js +105 -0
  788. package/dist/recipe-draft.d.ts +17 -0
  789. package/dist/recipe-draft.js +147 -0
  790. package/dist/reference-audit.d.ts +18 -0
  791. package/dist/reference-audit.js +169 -0
  792. package/dist/remote-import.d.ts +62 -0
  793. package/dist/remote-import.js +292 -0
  794. package/dist/representation-tree.d.ts +3 -0
  795. package/dist/representation-tree.js +320 -0
  796. package/dist/retrieval-config.d.ts +30 -0
  797. package/dist/retrieval-config.js +83 -0
  798. package/dist/retrieval.d.ts +60 -0
  799. package/dist/retrieval.js +228 -0
  800. package/dist/scaffold.d.ts +39 -0
  801. package/dist/scaffold.js +167 -0
  802. package/dist/search-config.d.ts +8 -0
  803. package/dist/search-config.js +26 -0
  804. package/dist/search-handler.d.ts +16 -0
  805. package/dist/search-handler.js +111 -0
  806. package/dist/search-identifier.d.ts +3 -0
  807. package/dist/search-identifier.js +25 -0
  808. package/dist/search-literal.d.ts +1 -0
  809. package/dist/search-literal.js +28 -0
  810. package/dist/search-query.d.ts +54 -0
  811. package/dist/search-query.js +120 -0
  812. package/dist/search-results.d.ts +6 -0
  813. package/dist/search-results.js +45 -0
  814. package/dist/search-snippet.d.ts +11 -0
  815. package/dist/search-snippet.js +93 -0
  816. package/dist/search-synonyms.d.ts +8 -0
  817. package/dist/search-synonyms.js +46 -0
  818. package/dist/semantic-markdown.d.ts +10 -0
  819. package/dist/semantic-markdown.js +39 -0
  820. package/dist/server.d.ts +10 -0
  821. package/dist/server.js +223 -0
  822. package/dist/share-images.d.ts +24 -0
  823. package/dist/share-images.js +187 -0
  824. package/dist/site-path.d.ts +2 -0
  825. package/dist/site-path.js +15 -0
  826. package/dist/sitemap.d.ts +8 -0
  827. package/dist/sitemap.js +58 -0
  828. package/dist/snippets.d.ts +19 -0
  829. package/dist/snippets.js +84 -0
  830. package/dist/structured-model-output.d.ts +6 -0
  831. package/dist/structured-model-output.js +21 -0
  832. package/dist/subject-deprecation.d.ts +21 -0
  833. package/dist/subject-deprecation.js +57 -0
  834. package/dist/surface-text.d.ts +4 -0
  835. package/dist/surface-text.js +42 -0
  836. package/dist/taxonomy.d.ts +14 -0
  837. package/dist/taxonomy.js +88 -0
  838. package/dist/turnstile.d.ts +21 -0
  839. package/dist/turnstile.js +52 -0
  840. package/dist/vale.d.ts +28 -0
  841. package/dist/vale.js +103 -0
  842. package/dist/vercel-function.d.ts +21 -0
  843. package/dist/vercel-function.js +108 -0
  844. package/dist/vercel.d.ts +11 -0
  845. package/dist/vercel.js +103 -0
  846. package/dist/walkthrough.d.ts +25 -0
  847. package/dist/walkthrough.js +336 -0
  848. package/dist/yaml-value.d.ts +2 -0
  849. package/dist/yaml-value.js +36 -0
  850. package/example-configs/api-docs/README.md +59 -0
  851. package/example-configs/api-docs/apis/cedar-parcel.yaml +413 -0
  852. package/example-configs/api-docs/content/create-enrollment.mdx +11 -0
  853. package/example-configs/api-docs/content/overview.mdx +36 -0
  854. package/example-configs/api-docs/content/quickstart.mdx +52 -0
  855. package/example-configs/api-docs/docs.config.yaml +104 -0
  856. package/example-configs/faceted-sites/README.md +31 -0
  857. package/example-configs/faceted-sites/base.yaml +30 -0
  858. package/example-configs/faceted-sites/content/api.md +12 -0
  859. package/example-configs/faceted-sites/content/home.md +10 -0
  860. package/example-configs/faceted-sites/content/operations.md +12 -0
  861. package/example-configs/faceted-sites/developers.config.yaml +8 -0
  862. package/example-configs/faceted-sites/docs.config.yaml +7 -0
  863. package/example-configs/faceted-sites/europe.config.yaml +9 -0
  864. package/example-configs/minimal/content/install.mdx +12 -0
  865. package/example-configs/minimal/content/welcome.mdx +8 -0
  866. package/example-configs/minimal/docs.config.yaml +31 -0
  867. package/example-configs/multilingual/content/de/home.mdx +9 -0
  868. package/example-configs/multilingual/content/de/reset-password.mdx +9 -0
  869. package/example-configs/multilingual/content/home.mdx +10 -0
  870. package/example-configs/multilingual/content/reset-password.mdx +12 -0
  871. package/example-configs/multilingual/docs.config.yaml +61 -0
  872. package/example-configs/multilingual/snippets/contact.mdx +1 -0
  873. package/example-configs/notifications/apis/notifications.yaml +132 -0
  874. package/example-configs/notifications/content/cookbook.mdx +17 -0
  875. package/example-configs/notifications/content/get-message.mdx +14 -0
  876. package/example-configs/notifications/content/queue-email.mdx +42 -0
  877. package/example-configs/notifications/content/queue-push.mdx +33 -0
  878. package/example-configs/notifications/content/queue-sms.mdx +33 -0
  879. package/example-configs/notifications/content/send-email.mdx +14 -0
  880. package/example-configs/notifications/content/send-push.mdx +14 -0
  881. package/example-configs/notifications/content/send-sms.mdx +14 -0
  882. package/example-configs/notifications/content/start.mdx +13 -0
  883. package/example-configs/notifications/content/welcome-cookbook.mdx +21 -0
  884. package/example-configs/notifications/content/welcome-email.mdx +82 -0
  885. package/example-configs/notifications/demo.mjs +43 -0
  886. package/example-configs/notifications/docs.config.yaml +88 -0
  887. package/example-configs/notifications/ingredient-drafts/README.md +41 -0
  888. package/example-configs/notifications/ingredient-drafts/check-delivery.mdx +13 -0
  889. package/example-configs/notifications/ingredient-drafts/queue-welcome-email.mdx +48 -0
  890. package/example-configs/notifications/ingredient-specs/queue-welcome-email.yaml +7 -0
  891. package/example-configs/notifications/ingredients/check-delivery.mdx +42 -0
  892. package/example-configs/notifications/ingredients/queue-welcome-email.mdx +37 -0
  893. package/example-configs/notifications/recipe-drafts/send-welcome-email.mdx +91 -0
  894. package/example-configs/notifications/recipe-specs/send-welcome-email.yaml +11 -0
  895. package/example-configs/reference-stress/README.md +32 -0
  896. package/example-configs/reference-stress/apis/cedar-parcel.yaml +413 -0
  897. package/example-configs/reference-stress/content/enrollment-shapes.mdx +16 -0
  898. package/example-configs/reference-stress/content/overview.mdx +14 -0
  899. package/example-configs/reference-stress/docs.config.yaml +55 -0
  900. package/example-configs/shared-preset/shared/company-docs.yaml +46 -0
  901. package/example-configs/shared-preset/shared/runbook.mdx +7 -0
  902. package/example-configs/shared-preset/site/content/failed-invoices.mdx +15 -0
  903. package/example-configs/shared-preset/site/content/start.mdx +9 -0
  904. package/example-configs/shared-preset/site/docs.config.yaml +18 -0
  905. package/example-configs/showcase/README.md +20 -0
  906. package/example-configs/showcase/apis/cedar-parcel.yaml +413 -0
  907. package/example-configs/showcase/content/assets/collection.svg +1 -0
  908. package/example-configs/showcase/content/code.mdx +100 -0
  909. package/example-configs/showcase/content/create-enrollment.mdx +11 -0
  910. package/example-configs/showcase/content/features.mdx +39 -0
  911. package/example-configs/showcase/content/landing.mdx +36 -0
  912. package/example-configs/showcase/content/overview.mdx +42 -0
  913. package/example-configs/showcase/content/personalization.mdx +38 -0
  914. package/example-configs/showcase/content/preview.mdx +35 -0
  915. package/example-configs/showcase/content/procedures.mdx +88 -0
  916. package/example-configs/showcase/content/quickstart.mdx +64 -0
  917. package/example-configs/showcase/content/reading.mdx +99 -0
  918. package/example-configs/showcase/content/verify.mdx +27 -0
  919. package/example-configs/showcase/content/visuals.mdx +47 -0
  920. package/example-configs/showcase/content/workflows.mdx +12 -0
  921. package/example-configs/showcase/docs.config.yaml +149 -0
  922. package/example-configs/showcase/snippets/sandbox.mdx +1 -0
  923. package/examples/analytics/README.md +56 -0
  924. package/examples/analytics/inspector.js +25 -0
  925. package/examples/analytics/posthog.js +36 -0
  926. package/examples/components/comparison.mjs +8 -0
  927. package/examples/components/components.json +6 -0
  928. package/examples/components/copy-text/LICENSE.react-dom.txt +21 -0
  929. package/examples/components/copy-text/LICENSE.react.txt +21 -0
  930. package/examples/components/copy-text/LICENSE.scheduler.txt +21 -0
  931. package/examples/components/copy-text/browser.jsx +21 -0
  932. package/examples/components/copy-text/components.json +6 -0
  933. package/examples/components/copy-text/package-lock.json +41 -0
  934. package/examples/components/copy-text/package.json +9 -0
  935. package/examples/components/copy-text/plugin.mjs +5 -0
  936. package/examples/components/retry-budget/LICENSE.react-dom.txt +21 -0
  937. package/examples/components/retry-budget/LICENSE.react.txt +21 -0
  938. package/examples/components/retry-budget/LICENSE.scheduler.txt +21 -0
  939. package/examples/components/retry-budget/browser.jsx +50 -0
  940. package/examples/components/retry-budget/components.json +6 -0
  941. package/examples/components/retry-budget/model.js +22 -0
  942. package/examples/components/retry-budget/package-lock.json +41 -0
  943. package/examples/components/retry-budget/package.json +9 -0
  944. package/examples/components/retry-budget/plugin.mjs +31 -0
  945. package/examples/components/retry-budget/policy.json +9 -0
  946. package/examples/components/retry-budget/style.css +25 -0
  947. package/examples/diagrams/d2-gallery.json +138 -0
  948. package/examples/diagrams/gallery.json +236 -0
  949. package/examples/help-drawer/README.md +44 -0
  950. package/examples/help-drawer/app.js +53 -0
  951. package/examples/help-drawer/components/components.json +1 -0
  952. package/examples/help-drawer/components/support.mjs +10 -0
  953. package/examples/help-drawer/content/account.md +8 -0
  954. package/examples/help-drawer/content/billing.mdx +29 -0
  955. package/examples/help-drawer/content/keys.mdx +46 -0
  956. package/examples/help-drawer/content/settings.svg +1 -0
  957. package/examples/help-drawer/docs.config.yaml +30 -0
  958. package/examples/help-drawer/index.html +26 -0
  959. package/examples/help-drawer/preview.mjs +33 -0
  960. package/examples/mcp-analytics/README.md +59 -0
  961. package/examples/mcp-analytics/posthog.mjs +159 -0
  962. package/package.json +100 -4
  963. package/schemas/content-export.schema.json +55 -0
  964. package/skills/shoalrun-author/SKILL.md +52 -0
  965. package/skills/shoalrun-component-author/SKILL.md +24 -0
  966. package/skills/shoalrun-recipes/SKILL.md +25 -0
  967. package/skills/shoalrun-setup/SKILL.md +34 -0
  968. package/skills/shoalrun-walkthrough/SKILL.md +18 -0
  969. package/styles/fonts/figtree-LICENSE.txt +93 -0
  970. package/styles/fonts/figtree-italic.woff2 +0 -0
  971. package/styles/fonts/figtree.woff2 +0 -0
  972. package/styles/fonts/inter-LICENSE.txt +93 -0
  973. package/styles/fonts/inter-italic.woff2 +0 -0
  974. package/styles/fonts/inter.woff2 +0 -0
  975. package/styles/fonts/jetbrains-mono-LICENSE.txt +93 -0
  976. package/styles/fonts/jetbrains-mono.woff2 +0 -0
  977. package/styles/fonts/jost-LICENSE.txt +93 -0
  978. package/styles/fonts/jost-italic.woff2 +0 -0
  979. package/styles/fonts/jost.woff2 +0 -0
  980. package/styles/fonts/share/figtree-400.ttf +0 -0
  981. package/styles/fonts/share/figtree-700.ttf +0 -0
  982. package/styles/fonts/share/inter-400.ttf +0 -0
  983. package/styles/fonts/share/inter-700.ttf +0 -0
  984. package/styles/fonts/share/jetbrains-mono-700.ttf +0 -0
  985. package/styles/fonts/share/jost-italic-800.ttf +0 -0
  986. package/styles/fonts/share/metrics.json +1 -0
  987. package/styles/fonts/share/source-serif-4-400.ttf +0 -0
  988. package/styles/fonts/source-serif-4-LICENSE.txt +93 -0
  989. package/styles/fonts/source-serif-4-italic.woff2 +0 -0
  990. package/styles/fonts/source-serif-4.woff2 +0 -0
  991. package/styles/header.css +56 -0
  992. package/styles/site.css +825 -0
  993. package/styles/themes/ledger.css +93 -0
  994. package/styles/themes/palettes/amethyst.yaml +127 -0
  995. package/styles/themes/palettes/coral.yaml +127 -0
  996. package/styles/themes/palettes/harbor.yaml +127 -0
  997. package/styles/themes/palettes/ink.yaml +127 -0
  998. package/styles/themes/palettes/kelp.yaml +127 -0
  999. package/styles/themes/palettes/vice.yaml +127 -0
  1000. package/styles/themes/reef.css +68 -0
  1001. package/styles/themes/vice.css +56 -0
  1002. package/styles/tokens.css +91 -0
  1003. package/templates/api-reference.mdx +133 -0
  1004. package/templates/cookbook.mdx +38 -0
  1005. package/templates/explanation.mdx +76 -0
  1006. package/templates/guide.mdx +175 -0
  1007. package/templates/how-to.mdx +171 -0
  1008. package/templates/ingredient.mdx +53 -0
  1009. package/templates/recipe.mdx +76 -0
  1010. package/templates/reference.mdx +171 -0
  1011. package/templates/troubleshooting.mdx +159 -0
  1012. package/templates/tutorial.mdx +165 -0
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Published-output contract
37
+
38
+ This page is the consumer reference for Shoalrun's current published output. It describes the existing producer, not a general format that other generators must implement. The manifest and sync snapshot use `schemaVersion: 1`. Editorial revisions to this reference do not change that wire version.
39
+
40
+ The repository maintains JSON Schema 2020-12 definitions at `framework/schemas/manifest.schema.json` and `framework/schemas/sync.schema.json`. They specify required fields and known value shapes; this reference explains their meaning. Schema identifiers are stable names for local resolution, not a promise that a site hosts the schema files. Register both schemas together when validating a sync snapshot. They remain repository validation resources and are not added to site output.
41
+
42
+ Consumers must tolerate unknown properties. Optional fields may be absent; absence is not evidence of a negative claim. Removing a required field, changing a field's meaning, or making existing valid output incompatible requires a new wire version. Adding optional fields can retain version 1. Changes to a constrained value set also need compatibility review; accepting unknown properties does not mean a consumer accepts unknown enum values.
43
+
44
+ | Capability | Availability |
45
+ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
46
+ | HTML and Markdown pages | Every included public page has both representations. |
47
+ | Manifest, sync snapshot, build information, response headers, redirect inventory, and both text discovery indexes | Emitted by the build. Empty inventories are allowed. |
48
+ | Search indexes | Both full and compact indexes are emitted when search indexing is enabled. |
49
+ | Section resources | Emitted only for eligible sections of sufficiently long pages. |
50
+ | Focused contracts and published API sources | Emitted when configured for an API source. |
51
+ | Sitemap | Requires a site origin and enabled indexing. |
52
+ | Markdown negotiation, redirect responses, caching, and HTTP 404 status | Hosting behavior; the Node server and Vercel adapter implement it. Other hosts need matching rules. |
53
+
54
+ Routes include the configured base path and publication prefixes. Start at `llms.min.txt` under that base path, follow a matching topic index when present, then choose a page by its ID, title, and summary and fetch its Markdown URL. Fetch the manifest when you need structured metadata. Each compact index is limited to 2,000 `cl100k_base` tokens; total discovery cost depends on the number of indexes you read.
55
+
56
+ A document's identity is `(id, channel, version, language)`, not its title, URL, or array position. The same ID in two publications identifies two records. That tuple must be unique in both the manifest and sync snapshot. Cite it with the resource URL; for sections, also retain section identity and parent/section digests. A manifest array pointer is a link into that snapshot, not a permanent document identifier.
57
+
58
+ `indexable` describes indexing, not access. `demo: false` means unmarked, not a verified service. Missing or null `subjectLifecycle` does not mean stable. `verified` is an author's review date, not compiler or independent verification. `updated` records content freshness and can be a calendar date or a timestamp with a timezone. Reader filters control presentation, not authorization.
@@ -0,0 +1,44 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Reader appearance and controls
37
+
38
+ Choose a [theme preset](https://www.shoalrun.com/styling/themes.md), [palette](https://www.shoalrun.com/styling/palettes.md), and [color mode](https://www.shoalrun.com/styling/color-modes.md) in the `theme` config. For anything else, add a project stylesheet with `site.customCss`; the [CSS reference](https://www.shoalrun.com/author/css.md) lists the tokens and selectors it can override. You don't need to edit the framework's own stylesheets.
39
+
40
+ The layout uses three columns for endpoint pages on wide screens. At narrower widths the examples follow the article; on small screens navigation becomes a disclosure above the page. Use Enter or Space to open it. Navigation filtering matches labels, ancestors, methods, and paths; Escape clears the filter. The active page remains marked in navigation.
41
+
42
+ Code blocks scroll horizontally without widening the page. Keyboard users can focus them to scroll, and copy buttons provide success or failure feedback. Copying uses the code text, so syntax-color spans never enter the clipboard. Clipboard access requires browser support and a secure context such as HTTPS or localhost. Without it, readers can select and copy manually. Without JavaScript, code highlighting and native disclosures remain available and mobile navigation starts expanded.
43
+
44
+ The overview, authoring guide, and endpoint fixture were checked in headless Chrome at desktop and 320 CSS-pixel widths, including navigation keyboard controls and filtering. Clipboard-handler checks verified the exact text passed to the browser API; normal-browser clipboard copying was verified on September 25, 2026. Manual 400% browser zoom was verified on September 26, 2026. The maintainer confirmed completion of manual screen-reader verification on September 30, 2026. See [project status](https://www.shoalrun.com/status.md) for validation evidence and remaining release checks.
@@ -0,0 +1,34 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
25
+
26
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
27
+
28
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
29
+
30
+ ## Related reading
31
+
32
+ ### Next steps
33
+
34
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Response identity
37
+
38
+ Markdown responses link to their current manifest array entry with `rel="describedby"` and a JSON Pointer fragment. The Node server uses the exact Markdown digest as a strong ETag. A CDN can substitute its own validator; use the returned ETag for conditional requests and the manifest digest for byte verification. Focused contracts use their full content digest in the filename, so their responses can be cached as immutable for one year. Markdown and mutable JSON metadata require revalidation. The [HTTP reference](https://www.shoalrun.com/publish/content-negotiation.md) explains the response headers and conditional requests.
@@ -0,0 +1,64 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Site files
37
+
38
+ - `documents.json` is the document manifest. Its top-level keys are `schemaVersion`, `buildId`, `configDigest`, `dependencies`, `documents`, `operations`, `relationships`, `redirects`, and `apiSources`. Each entry in `documents` describes one page variant. `contentDigest` fingerprints resolved article content for freshness; `digest` is the SHA-256 of the complete generated Markdown bytes. Use `digest` to check a fetched Markdown twin for changes, and pair the stable ID with its publication variant when comparing records. A page with an author-set `verified` date exposes it independently of `updated`. It has the stable ID, type, title, summary, subjectLifecycle, publication variant, and HTML and Markdown URLs. Optional `subjectDeprecation` carries author-declared `deprecatedOn` and `sunsetOn` dates and resolved `replacement` and `migration` targets, each with `id`, `title`, `url`, and `markdownUrl`. A changelog entry can also expose optional `change` with an author-declared `kind`, an `affects` target list, and a `migration` target when supplied. Change targets use the same `id`, `title`, `url`, and `markdownUrl` shape; absence means unclassified. Deprecation guidance appears in HTML, full Markdown, and section Markdown; it describes the subject rather than retirement of the documentation resource. Every record has a boolean `demo`, set from `outputs.llms.fictionalPrefixes`. A true value identifies an author-declared fictional example. False means unmarked; it does not verify that an API is live. The full and compact search indexes carry the same flag. Optional `product`, `area`, and `subarea` categories appear when set. It also lists card targets and queries, snippet and API embed uses, focused contract details, and a content digest. When reader views are configured, the manifest also has top-level `readerFacets` and a resolved `readerFilters` map on each page. An empty map means the page is shared. `dependencies` lists the source files the build read, without local paths. Project files are relative to `docs.config.yaml`, framework files start with `shoalrun:`, and installed packages start with `package:`.
39
+
40
+ - `documents.sync.json` contains the build ID and compact page signatures for comparing saved snapshots. See **Incremental sync** below.
41
+
42
+ - `build-info.json` records the build ID, resolved config digest and, when supplied by the build command, the source commit and release label. It is public build provenance, not a version archive. See [use Git branches for separate docs sites](https://www.shoalrun.com/publish/revisions.md).
43
+
44
+ - `404.html` and `404.md` provide concise recovery links for missing pages. Node serving and Vercel routing preserve HTTP `404`; another static host needs an error-page rule. These files are omitted from the document manifest, sitemap, and search index.
45
+
46
+ - `redirects.json` lists each [redirect](https://www.shoalrun.com/config.md) as `from`, `to`, `markdownFrom`, `markdownTo`, and `status`. `markdownFrom` is the old page's `.md` URL, and it redirects to `markdownTo`. `shoalrun serve` and the Vercel build apply them; other hosts need their own rules.
47
+
48
+ - `resource-headers.json` declares MIME types for page and discovery routes, Markdown alternate links for HTML, and canonical HTML links for Markdown.
49
+
50
+ - `/llms.txt` points agents to pages, contracts, and manifests. Every Markdown twin links back to the compact `/llms.min.txt` index and `/documents.json`; the compact index links to the detailed `/llms.txt` index.
51
+
52
+ - `llms.min.txt` is the compact starting point for agents. Small sites list page variants directly; larger sites link to topic indexes grouped by publication and primary taxonomy area, or page type when no area is declared. Growing topics split automatically. Each index stays within 2,000 `cl100k_base` tokens. Page entries retain stable IDs, titles, summaries, Markdown URLs, and fictional-example labels. Follow index links until you reach a matching page. All published pages remain reachable, including pages outside navigation; the complete catalog and search index remain optional.
53
+
54
+ - `search-index.min.json` adds page headings to titles, summaries, IDs, types, publication variants, and URLs. It omits article text and reader segments. It is generated whenever the full search index is enabled. Both are static files, not query endpoints.
55
+
56
+ - `search-index.json` lists page IDs, HTML and Markdown URLs, titles, summaries, headings, and text for the [search box](https://www.shoalrun.com/author/search.md) and local search command. The default lexical provider needs it; a custom provider can opt in.
57
+
58
+ - `/assets/search-provider.js` is the search provider module, built-in or custom.
59
+
60
+ When `site.origin` is set and indexing is enabled, the build writes `/sitemap.xml` with canonical HTML page URLs, `/llms.txt`, and optional page `lastmod` values. Markdown twins are alternate representations; their HTTP `Link` header names the HTML page as canonical. They are omitted from the sitemap. `/robots.txt` advertises it. Both derive from the same published pages as `documents.json`; `seo.noindex` pages are omitted. Large sitemaps are split into direct child URL sitemaps under a single index. The manifest records `sitemap`, and each document records `indexable` and optional `updated`.
61
+
62
+ The local frontmatter inventory and JSON Schema are build outputs in `.shoalrun/` beside `docs.config.yaml`. They are available to authors and agents in the repository. A site can also publish its current field inventory on an authored page with `<FrontmatterReference />`, as [this documentation site does](https://www.shoalrun.com/author/frontmatter-reference.md).
63
+
64
+ After publishing, run the [deployment checker](https://www.shoalrun.com/publish/deployment-check.md) against the live origin to verify the host serves these formats and discovery files with the expected response headers.
@@ -0,0 +1,48 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Validate an existing build locally
37
+
38
+ This checker belongs to Shoalrun’s documentation repository; it is not an installed CLI command. From that repository with its dependencies installed, run:
39
+
40
+ ```sh
41
+ node scripts/check-output-contract.mjs docs/dist
42
+ ```
43
+
44
+ Replace `docs/dist` with an already-built site's directory. The checker loads both schemas locally and makes no network requests. It checks field shapes, unique document identities, manifest/sync correspondence, build/config identity agreement, record and metadata hashes, same-publication change/deprecation targets, section parent linkage, and exact Markdown byte counts, token counts, and digests. It also verifies referenced focused-contract bytes. Unknown fields remain allowed and participate in the applicable record or metadata hash.
45
+
46
+ The report has `status`, `findings`, and document/section counts. A failure exits nonzero. The command never rebuilds, writes output, evaluates model tasks, or checks live hosting. The existing repository built-site check includes this check, so run either path rather than duplicating it for unchanged output. Use the [deployment checker](https://www.shoalrun.com/publish/deployment-check.md) separately for HTTP behavior.
47
+
48
+ Passing checks establish the specified structure and consistency, not authored truth, semantic completeness, or a fresh evaluation grade. The build identity is compared across files, not recomputed from final stamped artifacts. This contract does not add `llms-full.txt`, a public evaluation report, signatures, or an offline release archive.
@@ -0,0 +1,49 @@
1
+ ---
2
+ id: guide.output
3
+ title: Publishing and agent representations
4
+ summary: Read the published-output contract for HTML, Markdown, manifests, and
5
+ incremental sync.
6
+ type: reference
7
+ area: publishing
8
+ subarea: publishing-builds
9
+ canonical: /publish/output
10
+ ---
11
+
12
+ # Publishing and agent representations
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Reference](https://www.shoalrun.com/.well-known/shoalrun/navigation/reference-tab-50f26fe22670.txt) (ID: reference-tab). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Reference](https://www.shoalrun.com/cli.md) > Output and presentation > Generated outputs
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/output.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — See how these files help agents discover and read the site.
29
+
30
+ `shoalrun build` turns accepted source pages and local OpenAPI files into a static site. A **publication** is one enabled channel, version, and language combination, such as production, v1, and English. The build includes a public page only in publications matching its frontmatter. It makes no model calls or remote requests.
31
+
32
+ For each included page, the build writes an HTML page for browsing. It also writes a **Markdown twin**, a generated `.md` copy that agents can read as text. The Markdown twin can start with a short YAML header. That header contains only the page metadata selected in project config, so agents get useful context without a long source header or internal notes. Shared content appears in both bodies; authors can also add content to either format alone with [Only](https://www.shoalrun.com/author/components/only.md).
33
+
34
+ The site also includes a **document manifest**, `documents.json`, which indexes the built pages and their URLs. Projects with an API source can publish operation pages and **focused contracts**, small OpenAPI files containing one operation and the definitions it needs.
35
+
36
+ ## Where files go
37
+
38
+ `shoalrun build <config> <output>` writes the site to the output directory. It builds in a temporary directory, then **deletes the output directory and replaces it**, so point it at a directory that holds only build output. To protect other folders, it replaces a directory only when it is new, empty, or an earlier build. Otherwise the build stops before deleting anything.
39
+
40
+ | Output | Path |
41
+ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
42
+ | HTML page | `<route>/index.html` |
43
+ | Markdown twin | `<route>.md`; a page at `/` gets `/index.md` |
44
+ | Framework and theme assets | `/assets/`: `site.css`, `tokens.css`, `header.css`, scripts, `themes/`, and, when used, `theme.css`, `palette.css`, and `project.css` |
45
+ | Diagram images | `/assets/diagrams/<engine>-<hash>-light.svg` and `-dark.svg`, named by a hash of the source so identical diagrams share a file |
46
+ | Published OpenAPI source | `/api/<apiId>/<channel>/<version>/<file>`, plus the local files it references |
47
+ | Focused contracts | `/api/operations/<channel>/<version>/<language>/<name>-<hash>.json` |
48
+
49
+ The `/api` and `/.well-known` paths are reserved for these files, so page slugs cannot use them. A [diagram](https://www.shoalrun.com/author/components/diagrams.md) in the Markdown twin keeps its title, summary, a link to the light SVG, and its fenced source.
@@ -0,0 +1,153 @@
1
+ ---
2
+ id: guide.publications
3
+ title: Share pages across documentation versions
4
+ summary: "Versioning one docs site without copying every page: share unchanged
5
+ pages, vary sections, and publish changed pages separately."
6
+ type: how-to
7
+ area: publishing
8
+ subarea: publishing-versions
9
+ canonical: /publish/publications
10
+ ---
11
+
12
+ # Share pages across documentation versions
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Share pages across documentation versions
19
+
20
+ **Updated: 2026-10-26.**
21
+
22
+ Say you support v1 and v2. Your setup instructions are mostly the same, but v2 has a new credential and one extra guide. You can keep the common instructions in **one source file**, show the right credential in each version, and publish the extra guide only in v2.
23
+
24
+ Shoalrun calls each channel, version, and language combination a **publication**. You choose which publications a build makes. A Git branch or tag chooses *which revision of the repository to build*; it does not automatically create a docs version. For separate sites such as stable and next, see [publish separate docs sites from Git](https://www.shoalrun.com/publish/revisions.md).
25
+
26
+ For separate sites selected by audience, product, region, or another configured facet, see [build sites from shared content](https://www.shoalrun.com/publish/single-source-sites.md). That workflow shares one content directory and uses a separate entry config and output directory for each site.
27
+
28
+ ## Choose which versions exist
29
+
30
+ This config publishes two versions at `/v1` and `/v2`:
31
+
32
+ ```yaml title="docs.config.yaml (fragment)"
33
+ publications:
34
+ defaults: { channel: production, version: v1, language: en }
35
+ channels:
36
+ production: { pathPrefix: "" }
37
+ versions:
38
+ v1: { pathPrefix: /v1 }
39
+ v2: { pathPrefix: /v2 }
40
+ enabled:
41
+ - { channel: production, version: v1, language: en }
42
+ - { channel: production, version: v2, language: en }
43
+ ```
44
+
45
+ `enabled` sets the combinations the build may publish. It does not create pages or fill gaps in them. The paths come from the prefixes above plus each page's `slug`.
46
+
47
+ ## Keep an unchanged page in one file
48
+
49
+ List the versions that should receive the page in its frontmatter. This one file creates `/v1/start` and `/v2/start`:
50
+
51
+ ```mdx title="content/start.mdx"
52
+ ---
53
+ id: guide.start
54
+ title: Get started
55
+ summary: Set up your first request.
56
+ type: guide
57
+ slug: /start
58
+ publications:
59
+ - { channel: production, version: v1 }
60
+ - { channel: production, version: v2 }
61
+ language: en
62
+ access: { policy: public }
63
+ ---
64
+
65
+ Install the client and create a project.
66
+ ```
67
+
68
+ The `publications` list is explicit: add a version when the page should appear there, and omit it when the page should not. Only enabled combinations are built. Keep the same `id` and `slug` in every publication so links and the Version menu can find the corresponding page. A shared file cannot also set page-level `channel` or `version`.
69
+
70
+ ## Change just one part of a shared page
71
+
72
+ Put version-specific content inside `<ForPublication>`. The rest of the page stays shared:
73
+
74
+ ```mdx
75
+ Create a project, then choose a credential.
76
+
77
+ <ForPublication version="v1">
78
+
79
+ Use a legacy key.
80
+
81
+ </ForPublication>
82
+
83
+ <ForPublication version="v2">
84
+
85
+ Use a scoped key. [Set permissions](doc:guide.permissions)
86
+
87
+ </ForPublication>
88
+ ```
89
+
90
+ You can select a `channel`, `version`, `language`, or a combination, such as `<ForPublication channel="sandbox" version="v2">`. Omitted attributes match any value. The block needs at least one attribute and ordinary block content. A `doc:` link inside a block resolves in that publication, so a v2-only target can live in a v2-only block.
91
+
92
+ If a whole page changes substantially, write separate source files with the same `id` and `slug`, each with its own `channel` and `version`. If a page exists only in v2, write only its v2 file. You do not need a blank v1 copy. The Version menu shows a matching page only where one was published.
93
+
94
+ | Source choice | Result |
95
+ | ---------------------------------------------------------- | ----------------------------------------------------------------------- |
96
+ | One file listing v1 and v2 | The same page appears at both paths. |
97
+ | One file listing v1 and v2, with `<ForPublication>` blocks | Shared text appears in both; each version gets its own selected blocks. |
98
+ | Two files with the same ID, one for each version | Each version gets different page content. |
99
+ | One file assigned only to v2 | The page appears only in v2. |
100
+
101
+ Run `shoalrun build docs.config.yaml dist` and inspect `dist/documents.json` for the actual pages and routes. Links, navigation, search, and the Version menu use those published variants. A link to a page missing from the current publication fails the build instead of sending readers to another version.
102
+
103
+ ## Give each API version its own contract
104
+
105
+ When API behavior differs by version, bind an OpenAPI file to each publication in `apis.<name>.publications`. The top-level API `source` belongs to `publications.defaults`. A shared guide can refer to the same stable operation ID in both versions; each version resolves that operation against its own API source. The build fails if a page needs an API operation but that publication has no source. See [API references](https://www.shoalrun.com/publish/api-references.md) for the config and [example configs](https://www.shoalrun.com/config/examples.md) for full projects.
106
+
107
+ ## What agents receive
108
+
109
+ Each published page has a Markdown copy at its route plus `.md`, such as `/v1/start.md` and `/v2/start.md`. These are separate artifacts built from the same source file. Each copy includes only its own `<ForPublication>` sections, so an agent reading v1 instructions does not see v2-only text. `documents.json`, `search-index.json`, and the site's agent discovery files list the published variants and their Markdown URLs. A missing version of a page has no Markdown copy or search result. [Published outputs](https://www.shoalrun.com/publish/output.md) lists those files.
110
+
111
+ For channel and prefix rules, see the [publication configuration reference](https://www.shoalrun.com/config.md).
112
+
113
+ ## Add a language
114
+
115
+ To add a language such as Japanese, add its combination to `enabled`, then write a translated file for each page with that `language`. The translated file reuses the page's `id` and `slug`, so it is another language of the same page:
116
+
117
+ ```yaml title="docs.config.yaml"
118
+ publications:
119
+ defaults: { channel: production, version: current, language: en }
120
+ channels:
121
+ production: { pathPrefix: "" }
122
+ versions:
123
+ current: { pathPrefix: "" }
124
+ enabled:
125
+ - { channel: production, version: current }
126
+ - { channel: production, version: current, language: ja }
127
+ ```
128
+
129
+ ```yaml title="content/install.ja.mdx"
130
+ ---
131
+ id: guide.install
132
+ title: インストール
133
+ summary: Acme のコマンドラインツールをインストールします。
134
+ slug: /install
135
+ language: ja
136
+ ---
137
+ ```
138
+
139
+ The Japanese page publishes at `/ja/install` with `lang="ja"`, and its Markdown copy is `/ja/install.md`. The default language keeps the ordinary route. Pages without a `language` are in the default language.
140
+
141
+ Shoalrun does not translate text. Your translation pipeline writes the files, one for each page and language. A page with no Japanese file has no Japanese version, and it gets no Markdown copy or search result there. To keep a language out of a build, leave it out of `enabled`.
142
+
143
+ ## Related reading
144
+
145
+ ### Reference while working
146
+
147
+ - [Configuration reference](https://www.shoalrun.com/config.md) — Look up publication defaults and route prefixes.
148
+
149
+ ### Related topics
150
+
151
+ - [Use Git branches for separate docs sites](https://www.shoalrun.com/publish/revisions.md) — Distinguish content editions from source revisions and retained builds.
152
+
153
+ - [Build separate sites from shared content](https://www.shoalrun.com/publish/single-source-sites.md) — Publish separate sites from one content source using facet selections.
@@ -0,0 +1,104 @@
1
+ ---
2
+ id: guide.release-revisions
3
+ title: Use Git branches for separate docs sites
4
+ summary: Build a chosen Git branch for each docs address, add links between
5
+ sites, and verify the deployed commit.
6
+ type: how-to
7
+ area: publishing
8
+ subarea: publishing-versions
9
+ canonical: /publish/revisions
10
+ ---
11
+
12
+ # Use Git branches for separate docs sites
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Use Git branches for separate docs sites
19
+
20
+ **Updated: 2026-10-26.**
21
+
22
+ A deployment takes the docs files from a Git branch or commit, builds them, and serves the result at an address you choose. Your host or CI service chooses the source and destination. Branch names have no special meaning to Shoalrun.
23
+
24
+ For example, either of these mappings can work:
25
+
26
+ | Workflow | Source | Docs address |
27
+ | ---------------------- | --------- | -------------------------- |
28
+ | Sandbox and production | `sandbox` | `sandbox-docs.example.com` |
29
+ | Sandbox and production | `main` | `docs.example.com` |
30
+ | Next and stable | `next` | `next-docs.example.com` |
31
+ | Next and stable | `stable` | `docs.example.com` |
32
+
33
+ You can use another branch name, a tag, or a fixed commit. You can also use [path-based versions within one build](https://www.shoalrun.com/publish/publications.md) instead of separate sites. Branches choose *which files to build*; publications choose *which editions those files produce*.
34
+
35
+ ## Build and deploy each source
36
+
37
+ Set `site.origin` in each site's config to its public HTTPS origin. A site at `next-docs.example.com`, for example, uses `site.origin: https://next-docs.example.com`. Commit the pages, API sources, and publication settings for that site.
38
+
39
+ After the deployment job checks out its chosen source, build it with the full commit hash:
40
+
41
+ ```sh
42
+ shoalrun build docs.config.yaml site-dist --source-commit "$(git rev-parse HEAD)"
43
+ ```
44
+
45
+ Deploy all of `site-dist/` to the address assigned to that source. Configure this source-to-address rule in your host or CI service; Shoalrun does not deploy files or infer a branch from `channel`. See [deploy your documentation](https://www.shoalrun.com/publish.md) for hosting options. If two separate domains should both serve `/start`, use an empty channel `pathPrefix` in each site's config.
46
+
47
+ ## Add another site to the Version menu
48
+
49
+ Add an external site when readers should be able to move between addresses. In the current site's `publications` section, keep its existing `defaults`, `channels`, `versions`, and `enabled` entries, and add:
50
+
51
+ ```yaml title="docs.config.yaml (fragment)"
52
+ publications:
53
+ externalSites:
54
+ - label: Next docs
55
+ baseUrl: https://next-docs.example.com
56
+ ```
57
+
58
+ This adds **Next docs** to the Version menu on every page. The link opens that site's root. Add the corresponding link in the other site's config if readers should be able to switch back. `baseUrl` can be another domain or an address with a path, such as `https://docs.example.com/next/`.
59
+
60
+ To keep a reader on the *matching page*, provide a local snapshot of the other site's built `documents.json`:
61
+
62
+ ```yaml title="docs.config.yaml (fragment)"
63
+ publications:
64
+ externalSites:
65
+ - label: Next docs
66
+ baseUrl: https://next-docs.example.com
67
+ manifest: ./config/next-documents.json
68
+ ```
69
+
70
+ Shoalrun matches stable document IDs and uses the other site's published paths. Only pages in that manifest appear in the menu. Copy or refresh the manifest as part of your release process when pages change. This extra step is optional; the direct site link above is enough for a simple branch switcher.
71
+
72
+ A `baseUrl` with a path changes where the menu points. Hosting a *whole standalone build* under a path also requires the host to handle Shoalrun's root-level assets and discovery files. [Path prefixes inside one build](https://www.shoalrun.com/publish/publications.md) already work without that hosting setup.
73
+
74
+ ## What agents receive
75
+
76
+ Each deployed site has its own Markdown pages, `documents.json`, search index, and agent discovery files, built from that site's selected Git revision. An agent using the stable site reads its stable artifacts; an agent using the next site reads its next artifacts. The external Version menu helps human readers navigate between sites, but it does not combine their manifests or Markdown copies. Preserve a built release or its tagged source if agents must be able to consult it later. See [published outputs](https://www.shoalrun.com/publish/output.md) for the file list.
77
+
78
+ ## Check the deployed source
79
+
80
+ Each build writes its source commit to `/build-info.json`. Run the [post-deploy checker](https://www.shoalrun.com/publish/deployment-check.md) with the full hash selected by that site's deployment job:
81
+
82
+ ```sh
83
+ npm --prefix framework run deploy:check -- https://next-docs.example.com/ --source-commit "$DEPLOYED_COMMIT"
84
+ ```
85
+
86
+ The checker fails if the address serves a different commit or if its published HTML and Markdown routes fail their HTTP checks. Run it for each site. For a durable release record, tag the source commit and retain the built output with `/build-info.json`; a branch moves as new commits arrive.
87
+
88
+ ## Related reading
89
+
90
+ ### Read first
91
+
92
+ - [How Shoalrun works](https://www.shoalrun.com/concepts.md) — Understand publications, channels, and versions.
93
+
94
+ ### Next steps
95
+
96
+ - [Check a deployed site](https://www.shoalrun.com/publish/deployment-check.md) — Check each deployed revision before you release it.
97
+
98
+ ### Related topics
99
+
100
+ - [Share pages across documentation versions](https://www.shoalrun.com/publish/publications.md) — Distinguish content editions from source revisions and retained builds.
101
+
102
+ ### Often confused with
103
+
104
+ - [Write release notes and changelog entries](https://www.shoalrun.com/author/release-notes.md) — Release notes tell readers what changed; release revisions choose which Git revision of the docs to build and deploy.