@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,62 @@
1
+ ---
2
+ id: guide.agent-friendliness
3
+ title: Agent-friendly documentation
4
+ summary: See how interactive docs become readable Markdown, then discover pages
5
+ and verify their contents.
6
+ type: explanation
7
+ area: discovery
8
+ subarea: discovery-agents
9
+ canonical: /publish/agent-friendliness
10
+ ---
11
+
12
+ # Agent-friendly documentation
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) > Search, chat, and agent access > Agent-friendly documentation
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/agent-friendliness.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Read first**
27
+
28
+ - [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) — Know which HTML, Markdown, and manifest files the build writes.
29
+
30
+ **Next steps**
31
+
32
+ - [Connect an MCP client](https://www.shoalrun.com/publish/mcp.md) — Connect a tool-capable client to bundled or built documentation.
33
+
34
+ - [Content negotiation](https://www.shoalrun.com/publish/content-negotiation.md) — Serve the Markdown twin when an agent asks for it.
35
+
36
+ Shoalrun lets people use an interactive documentation page while agents read a Markdown copy of the same instructions. Tabs, closed disclosures, and reader choices should not make essential content disappear from that copy.
37
+
38
+ The build checks that it knows how to turn each component into readable Markdown. If it does not, it stops with an error. Each generated Markdown page also has a SHA-256 digest, a fingerprint of its bytes. An agent can compare it with the fetched file to verify that the bytes match the published manifest.
39
+
40
+ Try the example below. Switch the client tab, open **Retry detail**, and choose a reader. Then compare what is visible with the Markdown underneath, which retains both clients, the retry advice, and both reader sections. You can also open [this page's actual Markdown](https://www.shoalrun.com/publish/agent-friendliness.md).
41
+
42
+ ## Try the page controls
43
+
44
+ ### Command line
45
+
46
+ Send the request from a terminal.
47
+
48
+ ### Application
49
+
50
+ Send the request from application code.
51
+
52
+ ### Retry detail
53
+
54
+ Retry only after checking whether the first request succeeded.
55
+
56
+ **For Reader: UI reader.**
57
+
58
+ Open the activity screen to inspect the result.
59
+
60
+ **For Reader: Developer.**
61
+
62
+ Inspect the response status and returned identifier.
@@ -0,0 +1,50 @@
1
+ ---
2
+ id: guide.agent-friendliness
3
+ title: Agent-friendly documentation
4
+ summary: See how interactive docs become readable Markdown, then discover pages
5
+ and verify their contents.
6
+ type: explanation
7
+ area: discovery
8
+ subarea: discovery-agents
9
+ canonical: /publish/agent-friendliness
10
+ ---
11
+
12
+ # Agent-friendly documentation
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) > Search, chat, and agent access > Agent-friendly documentation
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/agent-friendliness.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Read first**
27
+
28
+ - [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) — Know which HTML, Markdown, and manifest files the build writes.
29
+
30
+ **Next steps**
31
+
32
+ - [Connect an MCP client](https://www.shoalrun.com/publish/mcp.md) — Connect a tool-capable client to bundled or built documentation.
33
+
34
+ - [Content negotiation](https://www.shoalrun.com/publish/content-negotiation.md) — Serve the Markdown twin when an agent asks for it.
35
+
36
+ Shoalrun lets people use an interactive documentation page while agents read a Markdown copy of the same instructions. Tabs, closed disclosures, and reader choices should not make essential content disappear from that copy.
37
+
38
+ The build checks that it knows how to turn each component into readable Markdown. If it does not, it stops with an error. Each generated Markdown page also has a SHA-256 digest, a fingerprint of its bytes. An agent can compare it with the fetched file to verify that the bytes match the published manifest.
39
+
40
+ Try the example below. Switch the client tab, open **Retry detail**, and choose a reader. Then compare what is visible with the Markdown underneath, which retains both clients, the retry advice, and both reader sections. You can also open [this page's actual Markdown](https://www.shoalrun.com/publish/agent-friendliness.md).
41
+
42
+ ## Use the transport your client supports
43
+
44
+ A fetch-only agent can read the published files over HTTP. It needs no CLI, repository access, JavaScript, or MCP connection. Hosts must serve Markdown with the correct media type and apply content negotiation at HTML page URLs. Missing Markdown pages return HTTP `404` with compact recovery links. The [hosting and negotiation reference](https://www.shoalrun.com/publish/content-negotiation.md) describes the contract; verify it on the deployed host.
45
+
46
+ The Shoalrun npm package also bundles this framework's own documentation. `shoalrun docs search` and `shoalrun docs read` use that bundle by default; `--site DIRECTORY` selects another built site. These are local tools for users with the package, not requirements imposed on public readers.
47
+
48
+ `shoalrun docs mcp` exposes the local search/read core over stdio. You can also [connect to this site’s public HTTP MCP endpoint](https://www.shoalrun.com/connect/mcp.md). The local read tool applies a token budget and can truncate a response; fetch the published twin when you need complete bytes for digest verification. See [the MCP reference](https://www.shoalrun.com/publish/mcp.md) for its current contract.
49
+
50
+ Shoalrun does not automatically generate a reader skill for every site. Its maintained authoring skills guide an author's existing agent through writing and validation; teams remain responsible for reviewing their instructions. The [non-goals](https://www.shoalrun.com/non-goals.md) explain that boundary.
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: guide.agent-friendliness
3
+ title: Agent-friendly documentation
4
+ summary: See how interactive docs become readable Markdown, then discover pages
5
+ and verify their contents.
6
+ type: explanation
7
+ area: discovery
8
+ subarea: discovery-agents
9
+ canonical: /publish/agent-friendliness
10
+ ---
11
+
12
+ # Agent-friendly documentation
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) > Search, chat, and agent access > Agent-friendly documentation
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/agent-friendliness.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Read first**
27
+
28
+ - [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) — Know which HTML, Markdown, and manifest files the build writes.
29
+
30
+ **Next steps**
31
+
32
+ - [Connect an MCP client](https://www.shoalrun.com/publish/mcp.md) — Connect a tool-capable client to bundled or built documentation.
33
+
34
+ - [Content negotiation](https://www.shoalrun.com/publish/content-negotiation.md) — Serve the Markdown twin when an agent asks for it.
35
+
36
+ Shoalrun lets people use an interactive documentation page while agents read a Markdown copy of the same instructions. Tabs, closed disclosures, and reader choices should not make essential content disappear from that copy.
37
+
38
+ The build checks that it knows how to turn each component into readable Markdown. If it does not, it stops with an error. Each generated Markdown page also has a SHA-256 digest, a fingerprint of its bytes. An agent can compare it with the fetched file to verify that the bytes match the published manifest.
39
+
40
+ Try the example below. Switch the client tab, open **Retry detail**, and choose a reader. Then compare what is visible with the Markdown underneath, which retains both clients, the retry advice, and both reader sections. You can also open [this page's actual Markdown](https://www.shoalrun.com/publish/agent-friendliness.md).
41
+
42
+ ## Verify the page and detect changes
43
+
44
+ Page identity is the stable document ID plus channel, version, and language. Different publication variants can share an ID, so comparing IDs alone can confuse their records.
45
+
46
+ The manifest exposes three distinct signals:
47
+
48
+ | Signal | What it establishes |
49
+ | -------------------- | ------------------------------------------------------------------------------------------------------------ |
50
+ | Page `digest` | SHA-256 of the complete generated Markdown bytes. Compare it with the bytes you fetched. |
51
+ | Page `contentDigest` | A resolved article-content fingerprint used for freshness tracking. It is not the hash of the Markdown file. |
52
+ | Top-level `buildId` | Identity of the assembled publication, including pages, contracts, assets, and metadata. |
53
+
54
+ An author-set `verified` date is also available in the manifest. It records supplied review metadata, separately from `updated`; it is not proof that an external reviewer approved the page.
55
+
56
+ For a long-lived client, save the sync snapshot and poll the small build-information file. An unchanged build ID means the saved inventory still applies. When the ID changes, compare the current snapshot with the saved one and refresh added or changed pages. Remove records that disappeared. The comparison includes route moves, metadata changes, and removed publication variants.
57
+
58
+ The local command is `shoalrun docs changes CURRENT-SNAPSHOT --since PREVIOUS-SNAPSHOT`. Static hosts retain no snapshot history; clients keep their own baseline. If a deployment changes between the manifest and page requests, retry until the fetched Markdown matches its advertised digest. The [published outputs reference](https://www.shoalrun.com/publish/output.md) gives the fields, comparison procedure, and limits.
@@ -0,0 +1,68 @@
1
+ ---
2
+ id: guide.agent-friendliness
3
+ title: Agent-friendly documentation
4
+ summary: See how interactive docs become readable Markdown, then discover pages
5
+ and verify their contents.
6
+ type: explanation
7
+ area: discovery
8
+ subarea: discovery-agents
9
+ canonical: /publish/agent-friendliness
10
+ ---
11
+
12
+ # Agent-friendly documentation
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) > Search, chat, and agent access > Agent-friendly documentation
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/agent-friendliness.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Read first**
27
+
28
+ - [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) — Know which HTML, Markdown, and manifest files the build writes.
29
+
30
+ **Next steps**
31
+
32
+ - [Connect an MCP client](https://www.shoalrun.com/publish/mcp.md) — Connect a tool-capable client to bundled or built documentation.
33
+
34
+ - [Content negotiation](https://www.shoalrun.com/publish/content-negotiation.md) — Serve the Markdown twin when an agent asks for it.
35
+
36
+ Shoalrun lets people use an interactive documentation page while agents read a Markdown copy of the same instructions. Tabs, closed disclosures, and reader choices should not make essential content disappear from that copy.
37
+
38
+ The build checks that it knows how to turn each component into readable Markdown. If it does not, it stops with an error. Each generated Markdown page also has a SHA-256 digest, a fingerprint of its bytes. An agent can compare it with the fetched file to verify that the bytes match the published manifest.
39
+
40
+ Try the example below. Switch the client tab, open **Retry detail**, and choose a reader. Then compare what is visible with the Markdown underneath, which retains both clients, the retry advice, and both reader sections. You can also open [this page's actual Markdown](https://www.shoalrun.com/publish/agent-friendliness.md).
41
+
42
+ ## What an agent reads
43
+
44
+ Here is the Markdown generated from the example above. An agent does not need to click the tabs, expand the disclosure, or choose a reader to get these instructions.
45
+
46
+ ```md
47
+ ### Command line
48
+
49
+ Send the request from a terminal.
50
+
51
+ ### Application
52
+
53
+ Send the request from application code.
54
+
55
+ ### Retry detail
56
+
57
+ Retry only after checking whether the first request succeeded.
58
+
59
+ **For Reader: UI reader.**
60
+
61
+ Open the activity screen to inspect the result.
62
+
63
+ **For Reader: Developer.**
64
+
65
+ Inspect the response status and returned identifier.
66
+ ```
67
+
68
+ The labels become headings or ordinary text. The controls themselves are omitted. This site's test compares the example's generated Markdown with the text shown here so they cannot drift apart unnoticed. The [reader views reference](https://www.shoalrun.com/author/reader-views.md) explains how authors configure those choices.
@@ -0,0 +1,60 @@
1
+ ---
2
+ id: guide.agent-friendliness
3
+ title: Agent-friendly documentation
4
+ summary: See how interactive docs become readable Markdown, then discover pages
5
+ and verify their contents.
6
+ type: explanation
7
+ area: discovery
8
+ subarea: discovery-agents
9
+ canonical: /publish/agent-friendliness
10
+ ---
11
+
12
+ # Agent-friendly documentation
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) > Search, chat, and agent access > Agent-friendly documentation
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/agent-friendliness.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Read first**
27
+
28
+ - [Publishing and agent representations](https://www.shoalrun.com/publish/output.md) — Know which HTML, Markdown, and manifest files the build writes.
29
+
30
+ **Next steps**
31
+
32
+ - [Connect an MCP client](https://www.shoalrun.com/publish/mcp.md) — Connect a tool-capable client to bundled or built documentation.
33
+
34
+ - [Content negotiation](https://www.shoalrun.com/publish/content-negotiation.md) — Serve the Markdown twin when an agent asks for it.
35
+
36
+ Shoalrun lets people use an interactive documentation page while agents read a Markdown copy of the same instructions. Tabs, closed disclosures, and reader choices should not make essential content disappear from that copy.
37
+
38
+ The build checks that it knows how to turn each component into readable Markdown. If it does not, it stops with an error. Each generated Markdown page also has a SHA-256 digest, a fingerprint of its bytes. An agent can compare it with the fetched file to verify that the bytes match the published manifest.
39
+
40
+ Try the example below. Switch the client tab, open **Retry detail**, and choose a reader. Then compare what is visible with the Markdown underneath, which retains both clients, the retry advice, and both reader sections. You can also open [this page's actual Markdown](https://www.shoalrun.com/publish/agent-friendliness.md).
41
+
42
+ ## What happens to an unsupported component?
43
+
44
+ A component needs rendering support for both HTML and Markdown. The compiler calls that support an **adapter**. If a page uses an unknown component such as the one below, Shoalrun stops rather than publishing a Markdown file that silently loses its contents.
45
+
46
+ ```mdx
47
+ <UnregisteredPanel>
48
+
49
+ This instruction must not disappear.
50
+
51
+ </UnregisteredPanel>
52
+ ```
53
+
54
+ Running `shoalrun check docs.config.yaml` reports a diagnostic containing:
55
+
56
+ ```text
57
+ <UnregisteredPanel> has no semantic/Markdown adapter
58
+ ```
59
+
60
+ The example is displayed as code here so you can read it. A test also runs it as an actual component, checks that compilation fails, and verifies that the previous successful output remains intact. This check establishes how unsupported components are handled; it does not prove that every supported component or authored instruction is correct.
@@ -0,0 +1,219 @@
1
+ ---
2
+ id: guide.api-references
3
+ title: Add an OpenAPI API
4
+ summary: Import a local OpenAPI file, author an operation page, review its
5
+ public content, and build HTML and Markdown.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-contracts
9
+ canonical: /publish/api-references
10
+ ---
11
+
12
+ # Add an OpenAPI API
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) > Document an API > Add an OpenAPI API
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Add one authored API reference to the project created in the [quickstart](https://www.shoalrun.com/start.md). This walkthrough uses a fictional Notes API as its example. You will register an operation, write its introduction, add it to navigation, review the imported content, and verify its published files.
23
+
24
+ Run commands from the documentation project directory created in the quickstart, where `@shoalrun/cli` is installed. The commands use that local package. Check [OpenAPI support and limits](https://www.shoalrun.com/api-docs/support.md) before importing a larger specification.
25
+
26
+ ## Put the spec in your project
27
+
28
+ Create `apis/notes/openapi.yaml` with this complete fictional API. It documents a response without calling a live service:
29
+
30
+ ```yaml title="apis/notes/openapi.yaml"
31
+ openapi: 3.1.0
32
+ info: { title: Example Notes API, version: 1.0.0 }
33
+ paths:
34
+ /notes:
35
+ post:
36
+ operationId: createNote
37
+ summary: Create a note
38
+ responses:
39
+ '201':
40
+ description: The note was created.
41
+ content:
42
+ application/json:
43
+ schema:
44
+ type: object
45
+ required: [id]
46
+ properties:
47
+ id: { type: string, description: The new note identifier. }
48
+ examples:
49
+ created:
50
+ summary: A created note
51
+ value: { id: note_123 }
52
+ ```
53
+
54
+ OpenAPI 3.0 or 3.1 YAML and JSON files are accepted. There is no required directory name; a spec can also reference other local files.
55
+
56
+ ## Register the operation
57
+
58
+ Add this top-level entry to your existing `docs.config.yaml`:
59
+
60
+ ```yaml title="docs.config.yaml"
61
+ apis: { $include: ./config/api.yaml }
62
+ ```
63
+
64
+ Create the `config` directory if needed and add `config/api.yaml`:
65
+
66
+ ```yaml title="config/api.yaml"
67
+ notes:
68
+ source:
69
+ kind: file
70
+ path: ../apis/notes/openapi.yaml
71
+ focused: true
72
+ operations:
73
+ - id: notes.create
74
+ sourceOperationId: createNote
75
+ reference: reference.create-note
76
+ ```
77
+
78
+ `source.path` is relative to the config fragment that declares it. `notes` names this API, and `sourceOperationId` selects the spec's `operationId`. The stable operation ID `notes.create` connects the operation to authored pages; `reference` names the page that will present it. `focused: true` publishes a [one-operation contract](https://www.shoalrun.com/api-docs/focused-contracts.md).
79
+
80
+ For your own API, if the source lives at a public HTTPS URL, import it into a local snapshot first. Replace the example URL below with your actual OpenAPI URL:
81
+
82
+ ```sh
83
+ npx --no-install shoalrun api import https://api.example.com/openapi.yaml --output apis/remote
84
+ ```
85
+
86
+ Point `source.path` at `../apis/remote/openapi.yaml` from `config/api.yaml`. Commit the snapshot and its `source-lock.json`. Normal builds use those local files and make no network request. To check for upstream changes, run `api refresh apis/remote --output apis/remote-next`. If the source changed, the command reports the changed hashes and writes a complete new snapshot while keeping `apis/remote` intact. Point `source.path` to `../apis/remote-next/openapi.yaml`, inspect a new `api review` candidate, and pin its digest before building. The [CLI reference](https://www.shoalrun.com/cli.md) lists import limits.
87
+
88
+ ## Author the reference page
89
+
90
+ Create `content/create-note.mdx`:
91
+
92
+ ```mdx title="content/create-note.mdx"
93
+ ---
94
+ id: reference.create-note
95
+ title: Create a note
96
+ summary: Create a note in the fictional Notes API.
97
+ type: api-reference
98
+ slug: /example-api/create-note
99
+ channel: production
100
+ version: current
101
+ language: en
102
+ operations: [notes.create]
103
+ access: { policy: public }
104
+ ---
105
+
106
+ This fictional operation returns the identifier of a new note. Its response
107
+ schema and named example are generated from the local OpenAPI file.
108
+ ```
109
+
110
+ The page ID must match the registry's `reference` value. An `api-reference` page lists exactly one operation. The compiler appends the method, path, parameters, authentication, schemas, and examples to your authored introduction.
111
+
112
+ Append this entry to the existing `navigation` array in `docs.config.yaml`:
113
+
114
+ ```yaml
115
+ - id: notes-create
116
+ doc: reference.create-note
117
+ ```
118
+
119
+ If your project includes navigation from another file, add the entry there. Save the page and navigation before the review so the candidate contains the page you intend to publish.
120
+
121
+ ## Review imported content before publishing
122
+
123
+ Shoalrun requires `publicReview.digest` for every API whose content appears in a public page, embed, or focused contract. A missing or stale digest stops a normal build. Generate a local candidate in a fresh temporary directory:
124
+
125
+ ```sh
126
+ API_REVIEW_DIR="$(mktemp -d /tmp/shoalrun-api-review.XXXXXX)"
127
+ npx --no-install shoalrun api review docs.config.yaml --output "$API_REVIEW_DIR"
128
+ ```
129
+
130
+ The command builds the candidate and reports each API's digest, page URLs, focused contracts, full-source downloads, and input hashes. Inspect the candidate files for private operations, fields, descriptions, examples, and credentials. For this example, check the Create a note HTML and Markdown page and its linked focused contract.
131
+
132
+ Copy the reported digest for `notes` into `config/api.yaml` alongside `source` and `operations`:
133
+
134
+ ```yaml
135
+ notes:
136
+ publicReview:
137
+ digest: <paste-the-reported-notes-digest>
138
+ # Keep source and operations here.
139
+ ```
140
+
141
+ Replace the angle-bracket placeholder with the actual digest. Keep the candidate local and remove it after review. The digest records what you reviewed; it does not determine whether content is safe. Changing source bytes, selected operations or embeds, focused contracts, or full-source publication requires another review. Changing only authored page copy does not.
142
+
143
+ ## Build and verify the output
144
+
145
+ ```sh
146
+ npx --no-install shoalrun build docs.config.yaml site-dist
147
+ npx --no-install shoalrun api focused-audit site-dist
148
+ npx --no-install shoalrun serve site-dist --port 8765
149
+ ```
150
+
151
+ Open `http://127.0.0.1:8765/example-api/create-note/` and choose **Create a note** in the sidebar. Confirm the introduction, `POST /notes`, the `201` response with its required `id` field, and the named example. Open `http://127.0.0.1:8765/example-api/create-note.md` to check the same details as Markdown. Follow the focused contract link and check that it contains only this operation and its required contract data.
152
+
153
+ The HTML uses a reference column and an API data panel at wide widths; on narrow screens the panel follows the article. The Markdown twin contains every property, variant, enum choice, and named example in reading order. JSON shapes use type placeholders; they are not runnable payloads. Generated request commands have not been executed.
154
+
155
+ For a larger live example of the documentation layout, see the [fictional Create a note reference](https://www.shoalrun.com/example-api/create-note.md). Its `archivedAt` response field is both **always present** and **nullable**: presence and nullability describe different things. A field marked **may be absent** can be omitted entirely.
156
+
157
+ Next, [generate and select more API pages](https://www.shoalrun.com/api-docs/generate.md).
158
+
159
+ ## What readers get
160
+
161
+ An authored reference adds editorial context to the operation contract. A [generated reference](https://www.shoalrun.com/example-api/generated/get-note-cbedb319.md) includes the same contract details without an MDX introduction. For tasks spanning several operations, write a linked guide such as [Write a note](https://www.shoalrun.com/example-api/write-note.md). These fictional examples do not imply a live API or tested requests.
162
+
163
+ Response status and media type share a heading row. Descriptions remain visible above property disclosures; enum choices appear below field descriptions. Markdown includes all of this without interactive controls. OpenAPI `deprecated: true` sets the page's status to deprecated; conflicting authored status values fail the build.
164
+
165
+ ## Next steps
166
+
167
+ ### Publish several versions
168
+
169
+ [Put multiple versions on one site](https://www.shoalrun.com/publish/publications.md) explains sources for each publication and stable operation bindings across versions.
170
+
171
+ ### Map extension values to Shoalrun status
172
+
173
+ Use the [extension mappings reference](https://www.shoalrun.com/publish/openapi-extension-mappings.md) to map vendor `x-*` values to status badges.
174
+
175
+ ### Describe filters that do not use their OpenAPI parameter name
176
+
177
+ The [query syntax example](https://www.shoalrun.com/api-docs/generate.md) configures direct query expressions and generated cURL.
178
+
179
+ ### Generate many pages selectively
180
+
181
+ [Generate and select API pages](https://www.shoalrun.com/api-docs/generate.md) covers include/exclude lists, stable generated IDs, webhooks, interactive selection, and tag navigation.
182
+
183
+ ### Use a template for editorial context
184
+
185
+ [API reference templates](https://www.shoalrun.com/api-docs/generate.md) add editorial prompts without duplicating contract fields.
186
+
187
+ ### Add useful examples
188
+
189
+ [Named examples and generated commands](https://www.shoalrun.com/api-docs/generate.md) explains example selection, JSON shapes, and cURL behavior.
190
+
191
+ ### Link guides to API references
192
+
193
+ [Related API references](https://www.shoalrun.com/api-docs/generate.md) connects guides and references in both directions using stable page IDs.
194
+
195
+ ## Inspect the machine-readable contract
196
+
197
+ [Focused contracts](https://www.shoalrun.com/api-docs/focused-contracts.md) retain transitive schemas, examples, and security schemes for one operation. To publish the full source instead, set `source.publish: true`. That also enables focused contracts. A discovery endpoint must use HTTPS and needs `site.origin`; see [configuration](https://www.shoalrun.com/config.md).
198
+
199
+ ## Preview a small API reference
200
+
201
+ Compare the authored [Create a note](https://www.shoalrun.com/example-api/create-note.md) and generated [Get a note](https://www.shoalrun.com/example-api/generated/get-note-cbedb319.md) with their [fictional source](https://www.shoalrun.com/api/notes/production/current/openapi.yaml), Markdown twins, and focused contracts.
202
+
203
+ The [Cedar Parcel styling lab](https://www.shoalrun.com/example-api/cedar.md) exercises direct query filters, conditional bodies, JSON and file responses, server and authentication overrides, extension mappings, and a webhook.
204
+
205
+ ## Related reading
206
+
207
+ ### Next steps
208
+
209
+ - [ApiExample and ApiSchema](https://www.shoalrun.com/author/components/api-embeds.md) — Include named examples and selected schemas in your guides.
210
+
211
+ ### Reference while working
212
+
213
+ - [Focused OpenAPI contracts](https://www.shoalrun.com/api-docs/focused-contracts.md) — Give tools one operation and its required schemas.
214
+
215
+ ### Related topics
216
+
217
+ - [Create a note](https://www.shoalrun.com/example-api/create-note.md) — A finished operation page built from a small, fictional OpenAPI file.
218
+
219
+ - [Compose and maintain recipes](https://www.shoalrun.com/author/recipe-drafts.md) — Configure the stable operation ID and review the OpenAPI source used by an API ingredient draft.
@@ -0,0 +1,65 @@
1
+ ---
2
+ id: guide.api-references
3
+ title: Add an OpenAPI API
4
+ summary: Import a local OpenAPI file, author an operation page, review its
5
+ public content, and build HTML and Markdown.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-contracts
9
+ canonical: /publish/api-references
10
+ ---
11
+
12
+ # Add an OpenAPI API
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) > Document an API > Add an OpenAPI API
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/api-references.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [ApiExample and ApiSchema](https://www.shoalrun.com/author/components/api-embeds.md) — Include named examples and selected schemas in your guides.
29
+
30
+ Add one authored API reference to the project created in the [quickstart](https://www.shoalrun.com/start.md). This walkthrough uses a fictional Notes API as its example. You will register an operation, write its introduction, add it to navigation, review the imported content, and verify its published files.
31
+
32
+ Run commands from the documentation project directory created in the quickstart, where `@shoalrun/cli` is installed. The commands use that local package. Check [OpenAPI support and limits](https://www.shoalrun.com/api-docs/support.md) before importing a larger specification.
33
+
34
+ ## Author the reference page
35
+
36
+ Create `content/create-note.mdx`:
37
+
38
+ ```mdx title="content/create-note.mdx"
39
+ ---
40
+ id: reference.create-note
41
+ title: Create a note
42
+ summary: Create a note in the fictional Notes API.
43
+ type: api-reference
44
+ slug: /example-api/create-note
45
+ channel: production
46
+ version: current
47
+ language: en
48
+ operations: [notes.create]
49
+ access: { policy: public }
50
+ ---
51
+
52
+ This fictional operation returns the identifier of a new note. Its response
53
+ schema and named example are generated from the local OpenAPI file.
54
+ ```
55
+
56
+ The page ID must match the registry's `reference` value. An `api-reference` page lists exactly one operation. The compiler appends the method, path, parameters, authentication, schemas, and examples to your authored introduction.
57
+
58
+ Append this entry to the existing `navigation` array in `docs.config.yaml`:
59
+
60
+ ```yaml
61
+ - id: notes-create
62
+ doc: reference.create-note
63
+ ```
64
+
65
+ If your project includes navigation from another file, add the entry there. Save the page and navigation before the review so the candidate contains the page you intend to publish.
@@ -0,0 +1,48 @@
1
+ ---
2
+ id: guide.api-references
3
+ title: Add an OpenAPI API
4
+ summary: Import a local OpenAPI file, author an operation page, review its
5
+ public content, and build HTML and Markdown.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-contracts
9
+ canonical: /publish/api-references
10
+ ---
11
+
12
+ # Add an OpenAPI API
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) > Document an API > Add an OpenAPI API
19
+
20
+ **Updated: 2026-10-27.**
21
+
22
+ Parent page: [Full Markdown page](/publish/api-references.md)
23
+
24
+ **Page reading path** — these links apply to the full page.
25
+
26
+ **Next steps**
27
+
28
+ - [ApiExample and ApiSchema](https://www.shoalrun.com/author/components/api-embeds.md) — Include named examples and selected schemas in your guides.
29
+
30
+ Add one authored API reference to the project created in the [quickstart](https://www.shoalrun.com/start.md). This walkthrough uses a fictional Notes API as its example. You will register an operation, write its introduction, add it to navigation, review the imported content, and verify its published files.
31
+
32
+ Run commands from the documentation project directory created in the quickstart, where `@shoalrun/cli` is installed. The commands use that local package. Check [OpenAPI support and limits](https://www.shoalrun.com/api-docs/support.md) before importing a larger specification.
33
+
34
+ ## Build and verify the output
35
+
36
+ ```sh
37
+ npx --no-install shoalrun build docs.config.yaml site-dist
38
+ npx --no-install shoalrun api focused-audit site-dist
39
+ npx --no-install shoalrun serve site-dist --port 8765
40
+ ```
41
+
42
+ Open `http://127.0.0.1:8765/example-api/create-note/` and choose **Create a note** in the sidebar. Confirm the introduction, `POST /notes`, the `201` response with its required `id` field, and the named example. Open `http://127.0.0.1:8765/example-api/create-note.md` to check the same details as Markdown. Follow the focused contract link and check that it contains only this operation and its required contract data.
43
+
44
+ The HTML uses a reference column and an API data panel at wide widths; on narrow screens the panel follows the article. The Markdown twin contains every property, variant, enum choice, and named example in reading order. JSON shapes use type placeholders; they are not runnable payloads. Generated request commands have not been executed.
45
+
46
+ For a larger live example of the documentation layout, see the [fictional Create a note reference](https://www.shoalrun.com/example-api/create-note.md). Its `archivedAt` response field is both **always present** and **nullable**: presence and nullability describe different things. A field marked **may be absent** can be omitted entirely.
47
+
48
+ Next, [generate and select more API pages](https://www.shoalrun.com/api-docs/generate.md).