@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,236 @@
1
+ [
2
+ {
3
+ "id": "flowchart",
4
+ "title": "Flowchart",
5
+ "summary": "Follow decisions and retry paths.",
6
+ "source": "flowchart TD\n Draft[Draft page] --> Check{Checks pass?}\n Check -->|Yes| Publish[Publish]\n Check -->|No| Revise[Revise page]\n Revise --> Draft"
7
+ },
8
+ {
9
+ "id": "sequence",
10
+ "title": "Sequence",
11
+ "summary": "Trace messages between an agent and documentation tools.",
12
+ "source": "sequenceDiagram\n participant Agent\n participant Docs\n Agent->>Docs: search_docs\n Docs-->>Agent: Page IDs\n Agent->>Docs: get_page\n Docs-->>Agent: Markdown and citation"
13
+ },
14
+ {
15
+ "id": "class",
16
+ "title": "Class",
17
+ "summary": "Describe types, fields, and relationships.",
18
+ "source": "classDiagram\n class Page {\n +String title\n +String slug\n +render()\n }\n class Section {\n +String heading\n }\n Page \"1\" *-- \"many\" Section"
19
+ },
20
+ {
21
+ "id": "er",
22
+ "title": "Entity relationship",
23
+ "summary": "Show entities and relationship cardinality.",
24
+ "source": "erDiagram\n PROJECT ||--o{ PAGE : contains\n PAGE ||--o{ SECTION : contains\n PAGE {\n string id PK\n string title\n }\n SECTION {\n string heading\n }"
25
+ },
26
+ {
27
+ "id": "state",
28
+ "title": "State",
29
+ "summary": "Explain a document lifecycle.",
30
+ "source": "stateDiagram-v2\n [*] --> Draft\n Draft --> Review\n Review --> Draft : revise\n Review --> Published : approve\n Published --> [*]"
31
+ },
32
+ {
33
+ "id": "gantt",
34
+ "title": "Gantt",
35
+ "summary": "Schedule work against explicit dates.",
36
+ "source": "gantt\n title Documentation release\n dateFormat YYYY-MM-DD\n section Preparation\n Draft guides :a, 2026-10-01, 3d\n Review guides :b, after a, 2d\n section Release\n Publish :after b, 1d"
37
+ },
38
+ {
39
+ "id": "git",
40
+ "title": "Git graph",
41
+ "summary": "Illustrate branches, commits, and merges.",
42
+ "source": "gitGraph\n commit id: \"Start\"\n branch guide\n checkout guide\n commit id: \"Draft\"\n checkout main\n merge guide\n commit id: \"Publish\""
43
+ },
44
+ {
45
+ "id": "pie",
46
+ "title": "Pie",
47
+ "summary": "Compare proportions with explicit values.",
48
+ "source": "pie title Example traffic channels\n \"Direct\" : 45\n \"Search\" : 35\n \"Referral\" : 20"
49
+ },
50
+ {
51
+ "id": "mindmap",
52
+ "title": "Mindmap",
53
+ "summary": "Organize related documentation topics.",
54
+ "source": "mindmap\n root((Documentation))\n Authoring\n Pages\n Components\n Publishing\n Builds\n Hosting"
55
+ },
56
+ {
57
+ "id": "kanban",
58
+ "title": "Kanban",
59
+ "summary": "Group tasks by workflow stage.",
60
+ "source": "kanban\n todo[To do]\n setup[Configure project]\n review[Review]\n draft[Review guide]\n done[Done]\n install[Install tools]"
61
+ },
62
+ {
63
+ "id": "timeline",
64
+ "title": "Timeline",
65
+ "summary": "Place milestones in chronological order.",
66
+ "source": "timeline\n title Documentation rollout\n Week 1 : Draft guides\n Week 2 : Review examples : Test installation\n Week 3 : Publish documentation"
67
+ },
68
+ {
69
+ "id": "journey",
70
+ "title": "User journey",
71
+ "summary": "Show the stages and participants in a reader journey.",
72
+ "source": "journey\n title Find an answer\n section Discover\n Search docs: 4: Reader\n Open guide: 5: Reader\n section Apply\n Try example: 4: Reader\n Check result: 5: Reader"
73
+ },
74
+ {
75
+ "id": "quadrant",
76
+ "title": "Quadrant chart",
77
+ "summary": "Compare work along two dimensions.",
78
+ "source": "quadrantChart\n title Example priorities\n x-axis Low effort --> High effort\n y-axis Low impact --> High impact\n quadrant-1 Plan\n quadrant-2 Start\n quadrant-3 Defer\n quadrant-4 Reconsider\n Navigation: [0.25, 0.8]\n Rewrite: [0.8, 0.65]\n Cleanup: [0.2, 0.2]"
79
+ },
80
+ {
81
+ "id": "xychart",
82
+ "title": "XY chart",
83
+ "summary": "Compare values on labeled axes.",
84
+ "source": "xychart-beta\n title \"Example weekly builds\"\n x-axis [W1, W2, W3, W4]\n y-axis \"Builds\" 0 --> 50\n bar [12, 24, 32, 41]\n line [10, 20, 28, 35]"
85
+ },
86
+ {
87
+ "id": "requirement",
88
+ "title": "Requirement",
89
+ "summary": "Connect an implementation element to a requirement.",
90
+ "source": "requirementDiagram\n requirement readable {\n id: 1\n text: Preserve essential instructions\n risk: low\n verifymethod: test\n }\n element markdown {\n type: renderer\n }\n markdown - satisfies -> readable"
91
+ },
92
+ {
93
+ "id": "sankey",
94
+ "title": "Sankey",
95
+ "summary": "Show how quantities flow between groups.",
96
+ "source": "sankey-beta\n Sources,Guides,30\n Sources,Reference,20\n Guides,Readers,25\n Guides,Agents,5\n Reference,Readers,10\n Reference,Agents,10"
97
+ },
98
+ {
99
+ "id": "architecture",
100
+ "title": "Architecture",
101
+ "summary": "Connect services using built-in symbols.",
102
+ "source": "architecture-beta\n group docs(cloud)[Documentation]\n service app(server)[Site] in docs\n service store(database)[Content] in docs\n app:R -- L:store"
103
+ },
104
+ {
105
+ "id": "c4",
106
+ "title": "C4",
107
+ "summary": "Describe a system and its users at a high level.",
108
+ "source": "C4Context\n title Documentation context\n Person(reader, \"Reader\", \"Finds instructions\")\n System(docs, \"Documentation\", \"Published guides\")\n Rel(reader, docs, \"Reads\")"
109
+ },
110
+ {
111
+ "id": "block",
112
+ "title": "Block",
113
+ "summary": "Arrange connected blocks in explicit columns.",
114
+ "source": "block-beta\n columns 3\n a[\"Author\"] b[\"Build\"] c[\"Publish\"]\n a --> b\n b --> c"
115
+ },
116
+ {
117
+ "id": "agentflow",
118
+ "title": "Agentflow",
119
+ "summary": "Show agent tasks and decisions.",
120
+ "source": "agentflow-beta TB\n draft[\"Draft guide\"]@{ shape: task }\n check[\"Checks pass?\"]@{ shape: decision }\n publish[\"Publish guide\"]@{ shape: action }\n draft --> check\n check -- yes --> publish\n check -- no --> draft"
121
+ },
122
+ {
123
+ "id": "railroad",
124
+ "title": "Railroad",
125
+ "summary": "Describe a small grammar using EBNF.",
126
+ "source": "railroad-ebnf-beta\n name = \"guide\" | \"reference\" ;\n command = \"read\", name ;"
127
+ },
128
+ {
129
+ "id": "treeview",
130
+ "title": "Tree view",
131
+ "summary": "Display a directory hierarchy.",
132
+ "source": "treeView-beta\n \"docs\"\n \"content\"\n \"start.mdx\"\n \"configuration.mdx\"\n \"docs.config.yaml\""
133
+ },
134
+ {
135
+ "id": "cynefin",
136
+ "title": "Cynefin",
137
+ "summary": "Group decisions by their operating context.",
138
+ "source": "cynefin-beta\n title Documentation decisions\n complex\n \"Test new navigation\"\n complicated\n \"Review API coverage\"\n clear\n \"Fix broken link\"\n chaotic\n \"Restore unavailable site\""
139
+ },
140
+ {
141
+ "id": "wardley",
142
+ "title": "Wardley map",
143
+ "summary": "Relate a reader need to supporting capabilities.",
144
+ "source": "wardley-beta\n title Documentation capabilities\n anchor Reader [0.95, 0.80]\n component Guides [0.70, 0.55]\n component Hosting [0.30, 0.90]\n Reader -> Guides\n Guides -> Hosting"
145
+ },
146
+ {
147
+ "id": "eventmodeling",
148
+ "title": "Event modeling",
149
+ "summary": "Trace interface actions and resulting events.",
150
+ "source": "eventmodeling\n tf 01 ui Editor\n tf 02 cmd PublishPage\n tf 03 evt PagePublished"
151
+ },
152
+ {
153
+ "id": "usecase",
154
+ "title": "Use case",
155
+ "summary": "Connect an actor to a supported action.",
156
+ "source": "usecase-beta\n actor Reader\n Browse[Browse documentation]\n Search[Search documentation]\n Reader --> Browse\n Reader --> Search"
157
+ },
158
+ {
159
+ "id": "venn",
160
+ "title": "Venn",
161
+ "summary": "Show overlapping sets of requirements.",
162
+ "source": "venn-beta\n set A[\"Readable\"]\n set B[\"Searchable\"]\n union A,B[\"Useful docs\"]"
163
+ },
164
+ {
165
+ "id": "ishikawa",
166
+ "title": "Ishikawa",
167
+ "summary": "Organize possible causes of a problem.",
168
+ "source": "ishikawa-beta\n Slow documentation build\n Content\n Large diagrams\n Duplicate inputs\n Environment\n Cold cache\n Missing dependencies"
169
+ },
170
+ {
171
+ "id": "packet",
172
+ "title": "Packet",
173
+ "summary": "Describe a small binary record layout.",
174
+ "source": "packet-beta\n title Example record header\n 0-7: \"Version\"\n 8-15: \"Flags\"\n 16-31: \"Length\""
175
+ },
176
+ {
177
+ "id": "radar",
178
+ "title": "Radar",
179
+ "summary": "Compare several dimensions for two example approaches.",
180
+ "source": "radar-beta\n title Example review scores\n axis a[\"Clarity\"], b[\"Coverage\"], c[\"Speed\"]\n curve x[\"Approach A\"]{4, 3, 5}\n curve y[\"Approach B\"]{3, 5, 3}\n max 5"
181
+ },
182
+ {
183
+ "id": "swimlane",
184
+ "title": "Swimlane",
185
+ "summary": "Separate work by team.",
186
+ "source": "swimlane-beta LR\n subgraph Authors\n draft[Draft guide]\n end\n subgraph Reviewers\n review[Review guide]\n end\n draft --> review"
187
+ },
188
+ {
189
+ "id": "treemap",
190
+ "title": "Treemap",
191
+ "summary": "Compare the size of nested categories.",
192
+ "source": "treemap-beta\n \"Documentation\"\n \"Guides\": 30\n \"Reference\": 45\n \"Tutorials\": 25"
193
+ },
194
+ {
195
+ "id": "info",
196
+ "title": "Renderer information",
197
+ "summary": "Display the renderer version as an informational diagram.",
198
+ "source": "info"
199
+ },
200
+ {
201
+ "id": "shapes-1",
202
+ "title": "Flowchart shapes 1",
203
+ "summary": "Compare rect, rounded, stadium, fr-rect, cyl, circle, dbl-circ, diam.",
204
+ "source": "flowchart TB\n n0@{ shape: rect, label: \"rect\" }\n n1@{ shape: rounded, label: \"rounded\" }\n n2@{ shape: stadium, label: \"stadium\" }\n n3@{ shape: fr-rect, label: \"fr-rect\" }\n n4@{ shape: cyl, label: \"cyl\" }\n n5@{ shape: circle, label: \"circle\" }\n n6@{ shape: dbl-circ, label: \"dbl-circ\" }\n n7@{ shape: diam, label: \"diam\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
205
+ },
206
+ {
207
+ "id": "shapes-2",
208
+ "title": "Flowchart shapes 2",
209
+ "summary": "Compare hex, odd, lean-r, lean-l, trap-b, trap-t, text, bow-rect.",
210
+ "source": "flowchart TB\n n0@{ shape: hex, label: \"hex\" }\n n1@{ shape: odd, label: \"odd\" }\n n2@{ shape: lean-r, label: \"lean-r\" }\n n3@{ shape: lean-l, label: \"lean-l\" }\n n4@{ shape: trap-b, label: \"trap-b\" }\n n5@{ shape: trap-t, label: \"trap-t\" }\n n6@{ shape: text, label: \"text\" }\n n7@{ shape: bow-rect, label: \"bow-rect\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
211
+ },
212
+ {
213
+ "id": "shapes-3",
214
+ "title": "Flowchart shapes 3",
215
+ "summary": "Compare sm-circ, f-circ, fr-circ, fork, notch-rect, lin-rect, div-rect, win-pane.",
216
+ "source": "flowchart TB\n n0@{ shape: sm-circ, label: \"sm-circ\" }\n n1@{ shape: f-circ, label: \"f-circ\" }\n n2@{ shape: fr-circ, label: \"fr-circ\" }\n n3@{ shape: fork, label: \"fork\" }\n n4@{ shape: notch-rect, label: \"notch-rect\" }\n n5@{ shape: lin-rect, label: \"lin-rect\" }\n n6@{ shape: div-rect, label: \"div-rect\" }\n n7@{ shape: win-pane, label: \"win-pane\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
217
+ },
218
+ {
219
+ "id": "shapes-4",
220
+ "title": "Flowchart shapes 4",
221
+ "summary": "Compare notch-pent, cross-circ, st-rect, datastore, lin-cyl, tag-rect, doc, tri.",
222
+ "source": "flowchart TB\n n0@{ shape: notch-pent, label: \"notch-pent\" }\n n1@{ shape: cross-circ, label: \"cross-circ\" }\n n2@{ shape: st-rect, label: \"st-rect\" }\n n3@{ shape: datastore, label: \"datastore\" }\n n4@{ shape: lin-cyl, label: \"lin-cyl\" }\n n5@{ shape: tag-rect, label: \"tag-rect\" }\n n6@{ shape: doc, label: \"doc\" }\n n7@{ shape: tri, label: \"tri\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
223
+ },
224
+ {
225
+ "id": "shapes-5",
226
+ "title": "Flowchart shapes 5",
227
+ "summary": "Compare flip-tri, sl-rect, hourglass, delay, h-cyl, curv-trap, docs, flag.",
228
+ "source": "flowchart TB\n n0@{ shape: flip-tri, label: \"flip-tri\" }\n n1@{ shape: sl-rect, label: \"sl-rect\" }\n n2@{ shape: hourglass, label: \"hourglass\" }\n n3@{ shape: delay, label: \"delay\" }\n n4@{ shape: h-cyl, label: \"h-cyl\" }\n n5@{ shape: curv-trap, label: \"curv-trap\" }\n n6@{ shape: docs, label: \"docs\" }\n n7@{ shape: flag, label: \"flag\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
229
+ },
230
+ {
231
+ "id": "shapes-6",
232
+ "title": "Flowchart shapes 6",
233
+ "summary": "Compare bolt, bang, cloud, brace, brace-r, braces, tag-doc, lin-doc.",
234
+ "source": "flowchart TB\n n0@{ shape: bolt, label: \"bolt\" }\n n1@{ shape: bang, label: \"bang\" }\n n2@{ shape: cloud, label: \"cloud\" }\n n3@{ shape: brace, label: \"brace\" }\n n4@{ shape: brace-r, label: \"brace-r\" }\n n5@{ shape: braces, label: \"braces\" }\n n6@{ shape: tag-doc, label: \"tag-doc\" }\n n7@{ shape: lin-doc, label: \"lin-doc\" }\n n0 --> n1 --> n2 --> n3\n n4 --> n5 --> n6 --> n7"
235
+ }
236
+ ]
@@ -0,0 +1,44 @@
1
+ # Use exported content in a help drawer
2
+
3
+ This is a plain JavaScript consumer of Shoalrun's content export. It has no
4
+ Shoalrun runtime dependency. The host app owns the buttons, drawer, and routing.
5
+
6
+ Copy this directory into your application or documentation project first. With
7
+ Shoalrun installed in that project, run from the copied example directory:
8
+
9
+ ```sh
10
+ shoalrun export docs.config.yaml --target app-help --out public/help
11
+ node preview.mjs
12
+ ```
13
+
14
+ Open `http://127.0.0.1:8774/settings/account`. The included preview server mounts the export at `/help/`. To use another development server, serve `index.html` and `app.js` at your app root and mount `public/help` at
15
+ `/help/`. Your development server should serve `index.html` for app routes such
16
+ as `/settings/account`, without changing the `/help/` mount. Open the key and
17
+ billing help buttons; follow the in-drawer links and inspect the images.
18
+ The full account guide is omitted from the export and links to the configured
19
+ example documentation host; replace that origin for your own project.
20
+
21
+ `manifest.json` maps stable document IDs to representation files. `app.js`
22
+ fetches the HTML, inserts it into one content container, and intercepts anchors
23
+ marked `data-export-link`. The corresponding manifest link supplies the target
24
+ document ID and original fragment. Other links use their ordinary destinations.
25
+
26
+ `/help/` is an example path, not a required Shoalrun directory. You can choose
27
+ another root-relative path, such as `/resources/`. Set `publicBase` to that path,
28
+ serve the bundle there, and update the manifest URL in `app.js` to match (for
29
+ example, `/resources/manifest.json`). The included preview server uses `/help/`;
30
+ configure your own server when choosing a different mount. The `--out` directory
31
+ is a filesystem destination and does not have to share the URL path's name.
32
+
33
+ `publicBase` must match where the bundle is served. Fragment image URLs resolve
34
+ against the app page, so they use this configured root-relative mount rather
35
+ than the directory from which the fragment was fetched. The host app's CSS
36
+ styles the static content; all substantive content is readable without it.
37
+
38
+ This example inserts trusted output from its own documentation build. It does
39
+ not accept arbitrary remote HTML. Mount a given exported document only once
40
+ per DOM; repeated simultaneous instances require the host to rewrite IDs and
41
+ all corresponding fragment and ARIA references.
42
+
43
+ The component example imports the installed `@shoalrun/cli/components` authoring
44
+ helpers at build time only. No module from Shoalrun is loaded by the browser.
@@ -0,0 +1,53 @@
1
+ // The application owns presentation and routing. Exported HTML comes from this
2
+ // project's trusted build, not arbitrary user input or a third-party URL.
3
+ const manifest = await fetch('/help/manifest.json').then(response => {
4
+ if (!response.ok) throw new Error('Build and mount the help export first.');
5
+ return response.json();
6
+ }).then(manifest => {
7
+ if (manifest.kind !== 'shoalrun-content-export' || manifest.schemaVersion !== 1) throw new Error('Unsupported help export.');
8
+ if (manifest.review.status !== 'ok') throw new Error('Approve API content before using this export.');
9
+ return manifest;
10
+ });
11
+ const drawer = document.querySelector('#drawer');
12
+ const content = document.querySelector('#content');
13
+ let current;
14
+ let request = 0;
15
+ let opener;
16
+ async function openHelp(id, fragment) {
17
+ const document = manifest.documents.find(document => document.id === id);
18
+ if (!document?.representations.html) throw new Error(`No HTML help for ${id}`);
19
+ const ticket = ++request;
20
+ const response = await fetch(manifest.publicBase + document.representations.html.path);
21
+ if (!response.ok) throw new Error(`Cannot load help for ${id}`);
22
+ const html = await response.text();
23
+ if (ticket !== request) return;
24
+ current = document;
25
+ content.innerHTML = html;
26
+ drawer.hidden = false;
27
+ let focusTarget = content.querySelector('h1');
28
+ if (fragment) {
29
+ const anchor = document.representations.html.anchors.find(anchor => anchor.id === fragment || anchor.exportedId === fragment);
30
+ if (anchor) focusTarget = content.querySelector(`#${CSS.escape(anchor.exportedId)}`) ?? focusTarget;
31
+ } else drawer.scrollTop = 0;
32
+ if (focusTarget) {
33
+ focusTarget.tabIndex = -1;
34
+ focusTarget.focus({ preventScroll: true });
35
+ if (fragment) focusTarget.scrollIntoView();
36
+ }
37
+ }
38
+ document.querySelectorAll('[data-help]').forEach(button => button.addEventListener('click', () => {
39
+ opener = button;
40
+ openHelp(button.dataset.help).catch(showError);
41
+ }));
42
+ content.addEventListener('click', event => {
43
+ const anchor = event.target.closest('a[data-export-link]');
44
+ if (!anchor) return;
45
+ const link = current?.representations.html.links.find(link => link.key === anchor.dataset.exportLink);
46
+ if (link?.kind !== 'document') return; // Canonical fallbacks open as ordinary links.
47
+ event.preventDefault();
48
+ openHelp(link.documentId, link.fragment).catch(showError);
49
+ });
50
+ function closeHelp() { request++; drawer.hidden = true; opener?.focus(); }
51
+ document.querySelector('#close').addEventListener('click', closeHelp);
52
+ drawer.addEventListener('keydown', event => { if (event.key === 'Escape') { event.preventDefault(); closeHelp(); } });
53
+ function showError(error) { content.textContent = error.message; drawer.hidden = false; document.querySelector('#close').focus(); }
@@ -0,0 +1 @@
1
+ {"apiVersion":1,"components":{"SupportNote":{"module":"./support.mjs"}}}
@@ -0,0 +1,10 @@
1
+ import { defineComponent, content } from '@shoalrun/cli/components';
2
+ export default defineComponent({
3
+ children: 'none',
4
+ content() {
5
+ return {
6
+ content: content.paragraph('Contact the workspace owner if you need additional permissions.'),
7
+ data: { presentationOnly: 'This browser data must never enter the export.' }
8
+ };
9
+ }
10
+ });
@@ -0,0 +1,8 @@
1
+ ---
2
+ id: guide.account
3
+ title: Account guide
4
+ summary: General account guidance stays on the documentation website.
5
+ slug: /account
6
+ ---
7
+
8
+ Ask the workspace owner before changing account settings.
@@ -0,0 +1,29 @@
1
+ ---
2
+ id: guide.billing
3
+ title: Billing
4
+ summary: Check usage before changing a plan.
5
+ slug: /billing
6
+ ---
7
+
8
+ ## Review usage
9
+
10
+ [API key help](doc:guide.keys) explains the credentials associated with requests.
11
+
12
+ <Walkthrough title="Check usage">
13
+ <Step title="Read the total">
14
+ Read the current usage total.
15
+
16
+ ```js
17
+ const usage = 12;
18
+ ```
19
+
20
+ </Step>
21
+ <Step title="Compare the allowance">
22
+ Compare that total with your plan's allowance.
23
+
24
+ ```js
25
+ const remaining = 100 - usage;
26
+ ```
27
+
28
+ </Step>
29
+ </Walkthrough>
@@ -0,0 +1,46 @@
1
+ ---
2
+ id: guide.keys
3
+ title: API keys
4
+ summary: Create a key and choose its permissions.
5
+ slug: /api-keys
6
+ ---
7
+
8
+ Create a key for each integration. [Billing help](doc:guide.billing) explains usage costs.
9
+
10
+ ## Choose permissions
11
+
12
+ <ReaderSection audience="developer">
13
+
14
+ Use a separate key for each application.
15
+
16
+ </ReaderSection>
17
+
18
+ <ReaderSection audience="operator">
19
+
20
+ Review unused keys before your scheduled access audit.
21
+
22
+ </ReaderSection>
23
+
24
+ ![Key settings](./settings.svg)
25
+
26
+ <Tabs label="Environment">
27
+ <Tab label="Development">
28
+ Use a key limited to your test workspace.
29
+ </Tab>
30
+ <Tab label="Production">
31
+ Store the key in your deployment's secret store.
32
+ </Tab>
33
+ </Tabs>
34
+
35
+ <Diagram title="Key setup" summary="Create the key, then send a request." engine="mermaid">
36
+
37
+ ```mermaid
38
+ flowchart LR
39
+ Create --> Request
40
+ ```
41
+
42
+ </Diagram>
43
+
44
+ <SupportNote />
45
+
46
+ [Full account guide](doc:guide.account)
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="240" height="80" viewBox="0 0 240 80"><rect width="240" height="80" fill="#e8f0ed"/><text x="16" y="44" fill="#193a2d" font-size="18">Key permissions</text></svg>
@@ -0,0 +1,30 @@
1
+ schemaVersion: 1
2
+ site:
3
+ title: Acme documentation
4
+ origin: https://docs.example.com
5
+ publications:
6
+ defaults: { channel: production, version: current, language: en }
7
+ channels:
8
+ production: { pathPrefix: "" }
9
+ versions:
10
+ current: { pathPrefix: "" }
11
+ enabled:
12
+ - { channel: production, version: current }
13
+ frontmatter:
14
+ defaults:
15
+ type: guide
16
+ channel: production
17
+ version: current
18
+ access: { policy: public }
19
+ components:
20
+ - ./components/components.json
21
+ readerFilters:
22
+ facets:
23
+ audience:
24
+ label: Audience
25
+ options: { developer: Developers, operator: Operators }
26
+ exports:
27
+ app-help:
28
+ formats: [markdown, html]
29
+ documents: [guide.keys, guide.billing]
30
+ publicBase: /help/
@@ -0,0 +1,26 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <meta charset="utf-8">
4
+ <title>Acme workspace · Help drawer example</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ *{box-sizing:border-box}body{font:15px/1.6 system-ui,sans-serif;margin:0;color:#18382d;background:#f3f6f3}header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid #dbe4dc;background:#fff}header strong{font-size:1.1rem}header span,.muted{color:#61776b}.workspace{max-width:1060px;margin:3rem auto;padding:0 2rem;display:grid;grid-template-columns:180px 1fr;gap:3rem}nav p{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#61776b}nav a{display:block;padding:.6rem .8rem;border-radius:.4rem;color:inherit;text-decoration:none}nav a[aria-current]{background:#dfece3;font-weight:600}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#61776b}h1{font-size:2rem;line-height:1.2;margin:.5rem 0}h2{font-size:1.15rem;margin:0}button{font:inherit;cursor:pointer;border:1px solid #bed0c3;background:#fff;color:#23583e;padding:.45rem .8rem;border-radius:.4rem}button:hover{background:#eaf2ed}button:focus-visible,a:focus-visible{outline:3px solid #94b79f;outline-offset:2px}.card{background:white;border:1px solid #dbe4dc;border-radius:.75rem;margin-top:1.5rem;padding:1.5rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.key{font-family:monospace;padding:.75rem;background:#f3f6f3;border-radius:.4rem;margin:1rem 0}.row{display:flex;justify-content:space-between;padding:.65rem 0;border-top:1px solid #eef2ee}.pill{background:#e8f2e9;border-radius:1rem;padding:.1rem .6rem;font-size:.8rem}.note{margin-top:2rem;font-size:.85rem;color:#61776b}aside{position:fixed;inset:0 0 0 auto;width:min(36rem,94vw);overflow:auto;padding:1.5rem 2rem;background:#fff;box-shadow:-1rem 0 4rem #15382422;border-left:1px solid #dbe4dc;z-index:2}aside[hidden]{display:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dbe4dc;padding-bottom:1rem;margin-bottom:1.5rem}.drawer-head span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#61776b}#content img{max-width:100%;height:auto}#content pre{overflow:auto;background:#f1f5f2;padding:1rem;border-radius:.4rem}#content h1{font-size:1.7rem}#content h2{font-size:1.15rem;margin-top:1.8rem}#content h3{font-size:1rem;margin-top:1.3rem}#content a{color:#286448}#content blockquote{border-left:3px solid #94b79f;margin-left:0;padding-left:1rem}@media(max-width:700px){.workspace{grid-template-columns:1fr;margin:1.5rem auto;gap:1rem}nav{display:none}header{padding:1rem}.card-head{align-items:flex-start}}
8
+ </style>
9
+ <header><strong>Acme <span>workspace</span></strong><span>Example application</span></header>
10
+ <div class="workspace">
11
+ <nav aria-label="Settings"><p>Settings</p><a href="/settings/account" aria-current="page">Account</a><a href="/settings/keys">API keys</a><a href="/settings/billing">Billing</a></nav>
12
+ <main>
13
+ <div class="eyebrow">Workspace settings</div>
14
+ <h1>Your account</h1>
15
+ <p class="muted">Manage the credentials and plan for your workspace.</p>
16
+ <section class="card"><div class="card-head"><h2>API keys</h2><button data-help="guide.keys">Help with API keys</button></div><p class="muted">One key for each integration, with permissions you control.</p><div class="key">acme_test_••••••••••••••••</div><div class="row"><span>Development workspace</span><span class="pill">Active</span></div></section>
17
+ <section class="card"><div class="card-head"><h2>Billing</h2><button data-help="guide.billing">Help with billing</button></div><div class="row"><span>Current plan</span><strong>Team</strong></div><div class="row"><span>Requests this month</span><span>12 / 100</span></div></section>
18
+ <p class="note">The help drawer consumes a portable content export. Your app owns its layout and navigation; the content is authored in the same source as the documentation.</p>
19
+ </main>
20
+ </div>
21
+ <aside id="drawer" aria-label="Help" hidden>
22
+ <div class="drawer-head"><span>Workspace help</span><button id="close">Close help</button></div>
23
+ <div id="content" aria-live="polite"></div>
24
+ </aside>
25
+ <script type="module" src="/app.js"></script>
26
+ </html>
@@ -0,0 +1,33 @@
1
+ import { createServer } from 'node:http';
2
+ import { readFile, realpath } from 'node:fs/promises';
3
+ import { fileURLToPath } from 'node:url';
4
+ import path from 'node:path';
5
+ const root = path.dirname(fileURLToPath(import.meta.url));
6
+ const args = process.argv.slice(2);
7
+ let port = 8774;
8
+ let directory = path.join(root, 'public/help');
9
+ for (let index = 0; index < args.length; index++) {
10
+ if (args[index] === '--help') { console.log('Usage: node preview.mjs [--port PORT] [--help-directory DIRECTORY]'); process.exit(0); }
11
+ if (args[index] === '--port') port = Number(args[++index]);
12
+ else if (args[index] === '--help-directory') directory = path.resolve(args[++index]);
13
+ else throw new Error('Unknown preview option');
14
+ }
15
+ if (!Number.isInteger(port) || port < 0 || port > 65535) throw new Error('Invalid port');
16
+ const help = await realpath(directory);
17
+ const server = createServer(async (request, response) => {
18
+ if (request.method !== 'GET') { response.writeHead(405); response.end(); return; }
19
+ try {
20
+ const pathname = decodeURIComponent(new URL(request.url, 'http://localhost').pathname);
21
+ let file;
22
+ if (pathname.startsWith('/help/')) {
23
+ file = await realpath(path.join(help, pathname.slice(6)));
24
+ if (!file.startsWith(help + path.sep)) throw new Error('Invalid path');
25
+ } else file = path.join(root, pathname === '/app.js' ? 'app.js' : 'index.html');
26
+ const types = { '.html': 'text/html; charset=utf-8', '.js': 'text/javascript; charset=utf-8', '.json': 'application/json', '.svg': 'image/svg+xml', '.md': 'text/markdown; charset=utf-8', '.png': 'image/png' };
27
+ response.writeHead(200, { 'Content-Type': types[path.extname(file)] ?? 'application/octet-stream' });
28
+ response.end(await readFile(file));
29
+ } catch { response.writeHead(404); response.end('Not found'); }
30
+ });
31
+ server.listen(port, '127.0.0.1', () => console.log(`Help drawer demo: http://127.0.0.1:${server.address().port}/settings/account`));
32
+ process.on('SIGINT', () => server.close(() => process.exit(0)));
33
+ process.on('SIGTERM', () => server.close(() => process.exit(0)));
@@ -0,0 +1,59 @@
1
+ # MCP analytics adapter
2
+
3
+ This server-only example uses PostHog's native MCP analytics SDK. It emits
4
+ `$mcp_tool_call`, rather than renaming a browser event. Other services can use
5
+ the same `capture(event)` and optional `flush()` exports.
6
+
7
+ 1. Copy `posthog.mjs` into a dedicated `mcp-analytics/` directory in your project.
8
+ 2. Install the example's tested dependencies in that project:
9
+ `npm install --save-exact @posthog/mcp@0.22.3 posthog-node@5.56.2`.
10
+ This SDK requires Node.js 22.22+ on the Node 22 release line.
11
+ 3. Add `analytics: { module: ./mcp-analytics/posthog.mjs }` inside your enabled
12
+ `mcp` configuration. Add `clientMetadata: true` alongside `module` if you want
13
+ normalized client/model labels when available. This separate option defaults
14
+ to `false`. Set `intent: true` and `conversationIds: true` separately to use
15
+ the SDK instrumentation hook. Both also default off. The top-level browser `analytics` setting is separate.
16
+ 4. Set `POSTHOG_PROJECT_TOKEN` and optionally `POSTHOG_HOST` on the serving
17
+ process or Vercel function. The example does nothing without a token.
18
+ 5. Build, connect an MCP client, and call a documentation tool. Look for
19
+ `$mcp_tool_call` in PostHog's activity feed and MCP analytics views.
20
+
21
+ Shoalrun packages the module and its dependencies without importing it at build
22
+ time. Keep local imports within the module's directory. Use static imports
23
+ and read credentials from runtime environment variables. Don't put credentials
24
+ or private data in module files: the build copies those files.
25
+
26
+ The event contains the tool, duration, error flag, build ID, publication,
27
+ and the page/section IDs for successful reads. It excludes arguments, search
28
+ text, result content, raw request headers, IP addresses, and user identity.
29
+ With client metadata enabled, the PostHog example also maps the normalized
30
+ client name/version and supported model label to native MCP properties. Both
31
+ are unverified claims; unknown or unsafe labels are omitted. The adapter adds no person identity. Basic capture leaves tool schemas and
32
+ responses unchanged. Enabling
33
+ intent/grouping uses the native SDK: it adds context, conversation, and (when
34
+ client metadata is enabled) model arguments. Session tokens or echoed
35
+ conversation handles group calls without a shared server session store. It does not count direct Markdown fetches, browser views, or transport errors.
36
+ Basic capture includes error categories but excludes schema-validation failures before the tool handler. Native instrumentation can record rejected tool calls; it currently retains the error flag without an error category.
37
+
38
+ Shoalrun attempts delivery and flushes before completing each HTTP response,
39
+ with a one-second bound on each adapter operation. Failures log a generic
40
+ warning and don't change the MCP result. Delivery is best effort. Use bounded
41
+ provider timeouts; a timed-out promise isn't cancelled automatically. Removing
42
+ `mcp.analytics` or setting it to `false` disables collection after rebuilding
43
+ and restarting the host. Stdio is not instrumented by this setting.
44
+
45
+ Intent capture asks for exactly one fixed category: discovery, setup,
46
+ troubleshooting, configuration, reference_lookup, comparison, migration, or other.
47
+ Only these categories can leave the adapter. Empty or invalid context, including
48
+ free text with names or secrets, is replaced with a per-tool fallback marked
49
+ inferred. It does not infer the user's real goal or run a model. Harness names
50
+ are normalized; model names must match the framework's fixed registry. Unknown
51
+ or custom deployment labels are omitted. All client labels remain unverified.
52
+ The adapter disables exception autocapture, GeoIP enrichment, and person profiles.
53
+ Session handles remain pseudonymous identifiers when grouping is enabled; this
54
+ is not a guarantee of anonymous data. Check PostHog's project-level Discard client
55
+ IP data setting too. Infrastructure access logs are outside this adapter.
56
+ An outbound property allowlist excludes raw arguments, results, headers, and
57
+ exception details in SDK mode. SDK mode uses the low-level server with original
58
+ argument names so analytics fields can be removed before strict validation.
59
+ Reconnect clients after changing these options to refresh their tool listing.