@shoalrun/cli 1.0.0 → 1.1.0

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 (406) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/CODE-REFERENCES.md +19 -0
  3. package/README.md +13 -4
  4. package/adapters/typescript/README.md +27 -0
  5. package/adapters/typescript/shoalrun-reference.mjs +260 -0
  6. package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +3 -1
  7. package/agent-docs/SNAPSHOT.json +5 -5
  8. package/agent-docs/api-docs/code-reference-settings.md +2 -2
  9. package/agent-docs/api-docs/code-reference-settings.sections/catalog-settings.md +2 -2
  10. package/agent-docs/api-docs/code-reference-settings.sections/complete-reference-page.md +2 -2
  11. package/agent-docs/api-docs/code-reference-settings.sections/converter-snapshot.md +2 -2
  12. package/agent-docs/api-docs/code-reference-settings.sections/descriptions-type-links-and-source-links.md +2 -2
  13. package/agent-docs/api-docs/code-reference-settings.sections/html-markdown-and-agents.md +2 -2
  14. package/agent-docs/api-docs/code-reference-settings.sections/metadata-and-selection.md +2 -2
  15. package/agent-docs/api-docs/code-reference-settings.sections/publication-sources.md +2 -2
  16. package/agent-docs/api-docs/code-reference-settings.sections/python-adapter-limits.md +2 -2
  17. package/agent-docs/api-docs/code-reference-settings.sections/related-reading.md +2 -2
  18. package/agent-docs/api-docs/code-reference-settings.sections/symbol-fields.md +2 -2
  19. package/agent-docs/api-docs/code-references.md +9 -1
  20. package/agent-docs/api-docs/code-references.sections/a-real-typescript-example.md +38 -0
  21. package/agent-docs/api-docs/code-references.sections/add-python-source.md +56 -0
  22. package/agent-docs/api-docs/code-references.sections/before-you-start.md +40 -0
  23. package/agent-docs/api-docs/code-references.sections/build-and-verify.md +47 -0
  24. package/agent-docs/api-docs/code-references.sections/choose-the-reading-layout.md +46 -0
  25. package/agent-docs/api-docs/code-references.sections/extract-and-validate-a-snapshot.md +52 -0
  26. package/agent-docs/api-docs/code-references.sections/html-markdown-and-agents.md +42 -0
  27. package/agent-docs/api-docs/code-references.sections/register-the-catalog-and-navigation.md +58 -0
  28. package/agent-docs/api-docs/code-references.sections/related-reading.md +40 -0
  29. package/agent-docs/api-docs/code-references.sections/versions-profiles-and-delivery.md +40 -0
  30. package/agent-docs/api-docs/typescript-references.md +93 -0
  31. package/agent-docs/author/components/for-facet.md +127 -0
  32. package/agent-docs/author/components/only.md +3 -1
  33. package/agent-docs/author/components.md +2 -1
  34. package/agent-docs/author/reader-views.md +2 -2
  35. package/agent-docs/author/reader-views.sections/configure-the-choices.md +2 -2
  36. package/agent-docs/author/reader-views.sections/connect-your-own-control.md +2 -2
  37. package/agent-docs/author/reader-views.sections/how-it-works-for-agents.md +2 -2
  38. package/agent-docs/author/reader-views.sections/mark-pages.md +2 -2
  39. package/agent-docs/author/reader-views.sections/mark-sections-and-add-an-entry-choice.md +2 -2
  40. package/agent-docs/author/reader-views.sections/place-filter-controls.md +2 -2
  41. package/agent-docs/author/reader-views.sections/try-the-controls-here.md +2 -2
  42. package/agent-docs/changelog/facet-typescript.md +54 -0
  43. package/agent-docs/changelog.md +8 -0
  44. package/agent-docs/config/examples.md +2 -2
  45. package/agent-docs/config/examples.sections/feature-showcase.md +2 -2
  46. package/agent-docs/config/examples.sections/minimal-site.md +1 -1
  47. package/agent-docs/config/examples.sections/multilingual-help-center.md +1 -1
  48. package/agent-docs/config/examples.sections/parcel-api-documentation.md +1 -1
  49. package/agent-docs/config/examples.sections/related-reading.md +1 -1
  50. package/agent-docs/config/examples.sections/shared-company-preset.md +1 -1
  51. package/agent-docs/config/outputs.md +12 -12
  52. package/agent-docs/config/outputs.sections/exports.md +12 -12
  53. package/agent-docs/config/outputs.sections/metadata.md +1 -1
  54. package/agent-docs/config/outputs.sections/pdf-output.md +1 -1
  55. package/agent-docs/config/outputs.sections/related-reading.md +1 -1
  56. package/agent-docs/config/site.md +17 -17
  57. package/agent-docs/config/site.sections/related-reading.md +1 -1
  58. package/agent-docs/config/site.sections/theme.md +1 -1
  59. package/agent-docs/configuration.md +1 -1
  60. package/agent-docs/configuration.sections/start-with-one-working-file.md +1 -1
  61. package/agent-docs/content-delivery/api.md +10 -2
  62. package/agent-docs/content-delivery/api.sections/errors.md +52 -0
  63. package/agent-docs/content-delivery/api.sections/generated-typescript-reference.md +36 -0
  64. package/agent-docs/content-delivery/api.sections/html-markdown-and-agents.md +36 -0
  65. package/agent-docs/content-delivery/api.sections/mount-html.md +42 -0
  66. package/agent-docs/content-delivery/api.sections/open-a-rest-source.md +55 -0
  67. package/agent-docs/content-delivery/api.sections/open-a-source.md +51 -0
  68. package/agent-docs/content-delivery/api.sections/read-a-snapshot.md +55 -0
  69. package/agent-docs/content-delivery/api.sections/related-reading.md +42 -0
  70. package/agent-docs/content-delivery/api.sections/validate-a-manifest.md +40 -0
  71. package/agent-docs/content-delivery/client.md +9 -1
  72. package/agent-docs/content-delivery/sdk/all.md +1772 -0
  73. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-exportedid.md +34 -0
  74. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-id.md +34 -0
  75. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor-title.md +34 -0
  76. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentanchor.md +44 -0
  77. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset-mediatype.md +34 -0
  78. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentasset.md +40 -0
  79. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror-code.md +34 -0
  80. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliveryerror.md +46 -0
  81. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-manifestbytes.md +36 -0
  82. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resourcebytes.md +36 -0
  83. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits-resources.md +36 -0
  84. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentdeliverylimits.md +44 -0
  85. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contenterrorcode.md +32 -0
  86. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-bytes.md +34 -0
  87. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-digest.md +34 -0
  88. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile-path.md +34 -0
  89. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentfile.md +44 -0
  90. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentformat.md +32 -0
  91. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-asset.md +34 -0
  92. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-fragment.md +34 -0
  93. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-href.md +34 -0
  94. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-key.md +34 -0
  95. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-kind.md +34 -0
  96. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-query.md +34 -0
  97. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink-ref.md +34 -0
  98. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentlink.md +52 -0
  99. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-assets.md +34 -0
  100. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-diagnostics.md +34 -0
  101. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-digest.md +34 -0
  102. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-files.md +34 -0
  103. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-kind.md +34 -0
  104. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publication.md +34 -0
  105. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-publicbase.md +34 -0
  106. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-resources.md +34 -0
  107. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-review.md +34 -0
  108. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest-schemaversion.md +34 -0
  109. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmanifest.md +68 -0
  110. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-anchors.md +36 -0
  111. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-links.md +36 -0
  112. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount-unmount.md +36 -0
  113. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentmount.md +49 -0
  114. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-channel.md +34 -0
  115. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-language.md +34 -0
  116. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-product.md +34 -0
  117. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication-version.md +34 -0
  118. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentpublication.md +46 -0
  119. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentref.md +43 -0
  120. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrefkey.md +42 -0
  121. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-anchors.md +34 -0
  122. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation-links.md +34 -0
  123. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrepresentation.md +42 -0
  124. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-assets.md +34 -0
  125. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-canonicalurl.md +34 -0
  126. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-externaldependencies.md +34 -0
  127. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-publication.md +36 -0
  128. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-ref.md +36 -0
  129. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-representations.md +36 -0
  130. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-source.md +34 -0
  131. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-summary.md +36 -0
  132. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-title.md +36 -0
  133. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource-type.md +36 -0
  134. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresource.md +65 -0
  135. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresourcekey.md +42 -0
  136. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-key.md +34 -0
  137. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry-resource.md +34 -0
  138. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestentry.md +42 -0
  139. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror-error.md +34 -0
  140. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterror.md +43 -0
  141. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresterrorcode.md +32 -0
  142. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-publication.md +34 -0
  143. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-resources.md +34 -0
  144. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-revision.md +34 -0
  145. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist-schemaversion.md +34 -0
  146. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestlist.md +46 -0
  147. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-key.md +34 -0
  148. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-publication.md +34 -0
  149. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-resource.md +34 -0
  150. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-revision.md +34 -0
  151. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource-schemaversion.md +34 -0
  152. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentrestresource.md +48 -0
  153. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-content.md +36 -0
  154. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-format.md +36 -0
  155. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-representation.md +36 -0
  156. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-resource.md +36 -0
  157. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult-revision.md +36 -0
  158. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentresult.md +48 -0
  159. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-dispose.md +36 -0
  160. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-get.md +45 -0
  161. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-list.md +38 -0
  162. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-publication.md +36 -0
  163. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot-revision.md +36 -0
  164. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-contentsnapshot.md +47 -0
  165. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-fetch.md +36 -0
  166. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-limits.md +36 -0
  167. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-manifesturl.md +36 -0
  168. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions-signal.md +36 -0
  169. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-manifestcontentsourceoptions.md +46 -0
  170. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-mountcontent.md +48 -0
  171. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openmanifestcontentsource.md +54 -0
  172. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-openrestcontentsource.md +44 -0
  173. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-baseurl.md +36 -0
  174. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-fetch.md +36 -0
  175. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-limits.md +36 -0
  176. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-publication.md +36 -0
  177. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-revision.md +36 -0
  178. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions-signal.md +36 -0
  179. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-restcontentsourceoptions.md +50 -0
  180. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content-validatecontentmanifest.md +45 -0
  181. package/agent-docs/content-delivery/sdk/all.sections/shoalrun-content.md +65 -0
  182. package/agent-docs/content-delivery/sdk/content-anchor/exported-id.md +25 -0
  183. package/agent-docs/content-delivery/sdk/content-anchor/id.md +25 -0
  184. package/agent-docs/content-delivery/sdk/content-anchor/title.md +25 -0
  185. package/agent-docs/content-delivery/sdk/content-anchor.md +71 -0
  186. package/agent-docs/content-delivery/sdk/content-asset/media-type.md +25 -0
  187. package/agent-docs/content-delivery/sdk/content-asset.md +43 -0
  188. package/agent-docs/content-delivery/sdk/content-delivery-error/code.md +25 -0
  189. package/agent-docs/content-delivery/sdk/content-delivery-error.md +53 -0
  190. package/agent-docs/content-delivery/sdk/content-delivery-limits/manifest-bytes.md +27 -0
  191. package/agent-docs/content-delivery/sdk/content-delivery-limits/resource-bytes.md +27 -0
  192. package/agent-docs/content-delivery/sdk/content-delivery-limits/resources.md +27 -0
  193. package/agent-docs/content-delivery/sdk/content-delivery-limits.md +77 -0
  194. package/agent-docs/content-delivery/sdk/content-error-code.md +23 -0
  195. package/agent-docs/content-delivery/sdk/content-file/bytes.md +25 -0
  196. package/agent-docs/content-delivery/sdk/content-file/digest.md +25 -0
  197. package/agent-docs/content-delivery/sdk/content-file/path.md +25 -0
  198. package/agent-docs/content-delivery/sdk/content-file.md +71 -0
  199. package/agent-docs/content-delivery/sdk/content-format.md +23 -0
  200. package/agent-docs/content-delivery/sdk/content-link/asset.md +25 -0
  201. package/agent-docs/content-delivery/sdk/content-link/fragment.md +25 -0
  202. package/agent-docs/content-delivery/sdk/content-link/href.md +25 -0
  203. package/agent-docs/content-delivery/sdk/content-link/key.md +25 -0
  204. package/agent-docs/content-delivery/sdk/content-link/kind.md +25 -0
  205. package/agent-docs/content-delivery/sdk/content-link/query.md +25 -0
  206. package/agent-docs/content-delivery/sdk/content-link/ref.md +25 -0
  207. package/agent-docs/content-delivery/sdk/content-link.md +127 -0
  208. package/agent-docs/content-delivery/sdk/content-manifest/assets.md +25 -0
  209. package/agent-docs/content-delivery/sdk/content-manifest/diagnostics.md +25 -0
  210. package/agent-docs/content-delivery/sdk/content-manifest/digest.md +25 -0
  211. package/agent-docs/content-delivery/sdk/content-manifest/files.md +25 -0
  212. package/agent-docs/content-delivery/sdk/content-manifest/kind.md +25 -0
  213. package/agent-docs/content-delivery/sdk/content-manifest/public-base.md +25 -0
  214. package/agent-docs/content-delivery/sdk/content-manifest/publication.md +25 -0
  215. package/agent-docs/content-delivery/sdk/content-manifest/resources.md +25 -0
  216. package/agent-docs/content-delivery/sdk/content-manifest/review.md +25 -0
  217. package/agent-docs/content-delivery/sdk/content-manifest/schema-version.md +25 -0
  218. package/agent-docs/content-delivery/sdk/content-manifest.md +179 -0
  219. package/agent-docs/content-delivery/sdk/content-mount/anchors.md +27 -0
  220. package/agent-docs/content-delivery/sdk/content-mount/links.md +27 -0
  221. package/agent-docs/content-delivery/sdk/content-mount/unmount.md +27 -0
  222. package/agent-docs/content-delivery/sdk/content-mount.md +82 -0
  223. package/agent-docs/content-delivery/sdk/content-publication/channel.md +25 -0
  224. package/agent-docs/content-delivery/sdk/content-publication/language.md +25 -0
  225. package/agent-docs/content-delivery/sdk/content-publication/product.md +25 -0
  226. package/agent-docs/content-delivery/sdk/content-publication/version.md +25 -0
  227. package/agent-docs/content-delivery/sdk/content-publication.md +85 -0
  228. package/agent-docs/content-delivery/sdk/content-ref-key.md +34 -0
  229. package/agent-docs/content-delivery/sdk/content-ref.md +40 -0
  230. package/agent-docs/content-delivery/sdk/content-representation/anchors.md +25 -0
  231. package/agent-docs/content-delivery/sdk/content-representation/links.md +25 -0
  232. package/agent-docs/content-delivery/sdk/content-representation.md +57 -0
  233. package/agent-docs/content-delivery/sdk/content-resource/assets.md +25 -0
  234. package/agent-docs/content-delivery/sdk/content-resource/canonical-url.md +25 -0
  235. package/agent-docs/content-delivery/sdk/content-resource/external-dependencies.md +25 -0
  236. package/agent-docs/content-delivery/sdk/content-resource/publication.md +27 -0
  237. package/agent-docs/content-delivery/sdk/content-resource/ref.md +27 -0
  238. package/agent-docs/content-delivery/sdk/content-resource/representations.md +27 -0
  239. package/agent-docs/content-delivery/sdk/content-resource/source.md +25 -0
  240. package/agent-docs/content-delivery/sdk/content-resource/summary.md +27 -0
  241. package/agent-docs/content-delivery/sdk/content-resource/title.md +27 -0
  242. package/agent-docs/content-delivery/sdk/content-resource/type.md +27 -0
  243. package/agent-docs/content-delivery/sdk/content-resource-key.md +34 -0
  244. package/agent-docs/content-delivery/sdk/content-resource.md +192 -0
  245. package/agent-docs/content-delivery/sdk/content-rest-entry/key.md +25 -0
  246. package/agent-docs/content-delivery/sdk/content-rest-entry/resource.md +25 -0
  247. package/agent-docs/content-delivery/sdk/content-rest-entry.md +57 -0
  248. package/agent-docs/content-delivery/sdk/content-rest-error/error.md +25 -0
  249. package/agent-docs/content-delivery/sdk/content-rest-error-code.md +23 -0
  250. package/agent-docs/content-delivery/sdk/content-rest-error.md +46 -0
  251. package/agent-docs/content-delivery/sdk/content-rest-list/publication.md +25 -0
  252. package/agent-docs/content-delivery/sdk/content-rest-list/resources.md +25 -0
  253. package/agent-docs/content-delivery/sdk/content-rest-list/revision.md +25 -0
  254. package/agent-docs/content-delivery/sdk/content-rest-list/schema-version.md +25 -0
  255. package/agent-docs/content-delivery/sdk/content-rest-list.md +85 -0
  256. package/agent-docs/content-delivery/sdk/content-rest-resource/key.md +25 -0
  257. package/agent-docs/content-delivery/sdk/content-rest-resource/publication.md +25 -0
  258. package/agent-docs/content-delivery/sdk/content-rest-resource/resource.md +25 -0
  259. package/agent-docs/content-delivery/sdk/content-rest-resource/revision.md +25 -0
  260. package/agent-docs/content-delivery/sdk/content-rest-resource/schema-version.md +25 -0
  261. package/agent-docs/content-delivery/sdk/content-rest-resource.md +99 -0
  262. package/agent-docs/content-delivery/sdk/content-result/content.md +27 -0
  263. package/agent-docs/content-delivery/sdk/content-result/format.md +27 -0
  264. package/agent-docs/content-delivery/sdk/content-result/representation.md +27 -0
  265. package/agent-docs/content-delivery/sdk/content-result/resource.md +27 -0
  266. package/agent-docs/content-delivery/sdk/content-result/revision.md +27 -0
  267. package/agent-docs/content-delivery/sdk/content-result.md +114 -0
  268. package/agent-docs/content-delivery/sdk/content-snapshot/dispose.md +27 -0
  269. package/agent-docs/content-delivery/sdk/content-snapshot/get.md +36 -0
  270. package/agent-docs/content-delivery/sdk/content-snapshot/list.md +29 -0
  271. package/agent-docs/content-delivery/sdk/content-snapshot/publication.md +27 -0
  272. package/agent-docs/content-delivery/sdk/content-snapshot/revision.md +27 -0
  273. package/agent-docs/content-delivery/sdk/content-snapshot.md +123 -0
  274. package/agent-docs/content-delivery/sdk/exports.md +742 -0
  275. package/agent-docs/content-delivery/sdk/exports.sections/functions.md +30 -0
  276. package/agent-docs/content-delivery/sdk/exports.sections/members.md +47 -0
  277. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentanchor.md +41 -0
  278. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentasset.md +37 -0
  279. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliveryerror.md +43 -0
  280. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentdeliverylimits.md +41 -0
  281. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contenterrorcode.md +29 -0
  282. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentfile.md +41 -0
  283. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentformat.md +29 -0
  284. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentlink.md +49 -0
  285. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmanifest.md +65 -0
  286. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentmount.md +46 -0
  287. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentpublication.md +43 -0
  288. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentref.md +40 -0
  289. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrefkey.md +39 -0
  290. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrepresentation.md +39 -0
  291. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresource.md +62 -0
  292. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresourcekey.md +39 -0
  293. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestentry.md +39 -0
  294. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterror.md +40 -0
  295. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresterrorcode.md +29 -0
  296. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestlist.md +43 -0
  297. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentrestresource.md +45 -0
  298. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentresult.md +45 -0
  299. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-contentsnapshot.md +44 -0
  300. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-manifestcontentsourceoptions.md +43 -0
  301. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-mountcontent.md +45 -0
  302. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openmanifestcontentsource.md +51 -0
  303. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-openrestcontentsource.md +41 -0
  304. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-restcontentsourceoptions.md +47 -0
  305. package/agent-docs/content-delivery/sdk/exports.sections/shoalrun-content-validatecontentmanifest.md +42 -0
  306. package/agent-docs/content-delivery/sdk/manifest-content-source-options/fetch.md +27 -0
  307. package/agent-docs/content-delivery/sdk/manifest-content-source-options/limits.md +27 -0
  308. package/agent-docs/content-delivery/sdk/manifest-content-source-options/manifest-url.md +27 -0
  309. package/agent-docs/content-delivery/sdk/manifest-content-source-options/signal.md +27 -0
  310. package/agent-docs/content-delivery/sdk/manifest-content-source-options.md +93 -0
  311. package/agent-docs/content-delivery/sdk/mount-content.md +46 -0
  312. package/agent-docs/content-delivery/sdk/open-manifest-content-source.md +51 -0
  313. package/agent-docs/content-delivery/sdk/open-rest-content-source.md +39 -0
  314. package/agent-docs/content-delivery/sdk/rest-content-source-options/base-url.md +28 -0
  315. package/agent-docs/content-delivery/sdk/rest-content-source-options/fetch.md +27 -0
  316. package/agent-docs/content-delivery/sdk/rest-content-source-options/limits.md +27 -0
  317. package/agent-docs/content-delivery/sdk/rest-content-source-options/publication.md +27 -0
  318. package/agent-docs/content-delivery/sdk/rest-content-source-options/revision.md +27 -0
  319. package/agent-docs/content-delivery/sdk/rest-content-source-options/signal.md +27 -0
  320. package/agent-docs/content-delivery/sdk/rest-content-source-options.md +125 -0
  321. package/agent-docs/content-delivery/sdk/validate-content-manifest.md +38 -0
  322. package/agent-docs/contribute/agent-skills.md +33 -6
  323. package/agent-docs/documents.json +7094 -308
  324. package/agent-docs/features.md +18 -17
  325. package/agent-docs/provenance.json +6 -6
  326. package/agent-docs/publish/content-export.md +3 -1
  327. package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +1 -1
  328. package/agent-docs/publish/content-export.sections/check-the-result.md +1 -1
  329. package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +1 -1
  330. package/agent-docs/publish/content-export.sections/prerequisites.md +1 -1
  331. package/agent-docs/publish/content-export.sections/related-reading.md +1 -1
  332. package/agent-docs/publish/content-export.sections/review-exported-api-material.md +1 -1
  333. package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +1 -1
  334. package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +1 -1
  335. package/agent-docs/publish/pdf.md +2 -2
  336. package/agent-docs/publish/pdf.sections/apply-print-styling.md +1 -1
  337. package/agent-docs/publish/pdf.sections/check-the-result.md +1 -1
  338. package/agent-docs/publish/pdf.sections/export-a-page-or-publication.md +2 -2
  339. package/agent-docs/publish/pdf.sections/html-markdown-and-agents.md +1 -1
  340. package/agent-docs/publish/pdf.sections/offer-browser-page-printing.md +1 -1
  341. package/agent-docs/publish/pdf.sections/offer-direct-downloads-through-a-node-server.md +1 -1
  342. package/agent-docs/publish/pdf.sections/prerequisites.md +1 -1
  343. package/agent-docs/publish/pdf.sections/publish-an-optional-manual-download.md +1 -1
  344. package/agent-docs/publish/single-source-sites.md +26 -2
  345. package/agent-docs/publish/single-source-sites.sections/build-and-check-each-output.md +49 -0
  346. package/agent-docs/publish/single-source-sites.sections/html-markdown-and-agents.md +33 -0
  347. package/agent-docs/publish/single-source-sites.sections/include-additional-sections-in-a-build.md +47 -0
  348. package/agent-docs/publish/single-source-sites.sections/related-reading.md +43 -0
  349. package/agent-docs/publish/single-source-sites.sections/select-the-pages-for-each-site.md +74 -0
  350. package/agent-docs/publish/single-source-sites.sections/share-the-base-configuration.md +93 -0
  351. package/agent-docs/reference/agent-skills.md +2 -2
  352. package/agent-docs/search-index.json +1 -1
  353. package/agent-docs/start.md +1 -1
  354. package/agent-docs/start.sections/start-your-own-project.md +1 -1
  355. package/assets/search-lexical.js +15 -4
  356. package/dist/code-reference-model.d.ts +4 -4
  357. package/dist/compiler.d.ts +8 -0
  358. package/dist/compiler.js +10 -4
  359. package/dist/component-names.js +1 -1
  360. package/dist/component-transform.js +14 -22
  361. package/dist/conditional-tree.d.ts +2 -0
  362. package/dist/conditional-tree.js +14 -0
  363. package/dist/content-delivery-contract.d.ts +39 -0
  364. package/dist/content-delivery-contract.js +2 -0
  365. package/dist/content-delivery-validation.d.ts +6 -0
  366. package/dist/content-delivery-validation.js +6 -0
  367. package/dist/content-delivery.d.ts +19 -1
  368. package/dist/content-delivery.js +10 -1
  369. package/dist/content-export-command.d.ts +42 -3
  370. package/dist/content-export.d.ts +42 -3
  371. package/dist/content-export.js +15 -6
  372. package/dist/content-filter.d.ts +2 -0
  373. package/dist/content-filter.js +4 -0
  374. package/dist/content-mount.d.ts +12 -1
  375. package/dist/content-mount.js +8 -1
  376. package/dist/content-rest-client.d.ts +11 -1
  377. package/dist/content-rest-client.js +4 -1
  378. package/dist/content-rest-contract.d.ts +5 -0
  379. package/dist/content-source.d.ts +1 -0
  380. package/dist/content-workspace.d.ts +4 -1
  381. package/dist/content-workspace.js +5 -2
  382. package/dist/deployment-profile.d.ts +3 -1
  383. package/dist/deployment-profile.js +18 -19
  384. package/dist/palettes.d.ts +1 -1
  385. package/dist/publication-manifest.js +1 -1
  386. package/dist/representation-tree.js +8 -2
  387. package/dist/search-query.js +13 -6
  388. package/dist/section-selection.d.ts +29 -0
  389. package/dist/section-selection.js +92 -0
  390. package/dist/snippets.d.ts +1 -0
  391. package/example-configs/facet-sections/README.md +37 -0
  392. package/example-configs/facet-sections/base.yaml +29 -0
  393. package/example-configs/facet-sections/content/billing.mdx +25 -0
  394. package/example-configs/facet-sections/customer.config.yaml +4 -0
  395. package/example-configs/facet-sections/docs.config.yaml +3 -0
  396. package/example-configs/faceted-sites/README.md +4 -2
  397. package/package.json +2 -1
  398. package/skills/shoalrun-author/SKILL.md +13 -0
  399. package/skills/shoalrun-author/references/code-api-references.md +5 -1
  400. package/skills/shoalrun-author/references/facet-selection.md +48 -0
  401. package/skills/shoalrun-brand/SKILL.md +9 -0
  402. package/skills/shoalrun-component-author/SKILL.md +9 -0
  403. package/skills/shoalrun-pdf/SKILL.md +9 -0
  404. package/skills/shoalrun-recipes/SKILL.md +9 -0
  405. package/skills/shoalrun-setup/SKILL.md +9 -0
  406. package/skills/shoalrun-walkthrough/SKILL.md +9 -0
@@ -17,13 +17,13 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
17
17
 
18
18
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Code API reference settings
19
19
 
20
- **Updated: 2026-11-06.**
20
+ **Updated: 2026-11-07.**
21
21
 
22
22
  **Available since: 1.0.0.**
23
23
 
24
24
  Parent page: [Full Markdown page](/api-docs/code-reference-settings.md)
25
25
 
26
- `codeReferences` maps a catalog ID to a local converter snapshot and presentation settings. Start with [Generate code API references](https://www.shoalrun.com/api-docs/code-references.md) for a complete Python workflow. This setting is separate from `apis`, which registers OpenAPI sources.
26
+ `codeReferences` maps a catalog ID to a local converter snapshot and presentation settings. Start with [Generate code API references](https://www.shoalrun.com/api-docs/code-references.md) for a complete Python workflow, or use [TypeScript extraction](https://www.shoalrun.com/api-docs/typescript-references.md) for a public source or declaration entry point. This setting is separate from `apis`, which registers OpenAPI sources.
27
27
 
28
28
  ## Related reading
29
29
 
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
17
17
 
18
18
  Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Code API reference settings
19
19
 
20
- **Updated: 2026-11-06.**
20
+ **Updated: 2026-11-07.**
21
21
 
22
22
  **Available since: 1.0.0.**
23
23
 
@@ -29,7 +29,7 @@ Parent page: [Full Markdown page](/api-docs/code-reference-settings.md)
29
29
 
30
30
  - [Generate code API references](https://www.shoalrun.com/api-docs/code-references.md) — Extract a Python snapshot and preview both grouped and complete SDK references.
31
31
 
32
- `codeReferences` maps a catalog ID to a local converter snapshot and presentation settings. Start with [Generate code API references](https://www.shoalrun.com/api-docs/code-references.md) for a complete Python workflow. This setting is separate from `apis`, which registers OpenAPI sources.
32
+ `codeReferences` maps a catalog ID to a local converter snapshot and presentation settings. Start with [Generate code API references](https://www.shoalrun.com/api-docs/code-references.md) for a complete Python workflow, or use [TypeScript extraction](https://www.shoalrun.com/api-docs/typescript-references.md) for a public source or declaration entry point. This setting is separate from `apis`, which registers OpenAPI sources.
33
33
 
34
34
  ## Symbol fields
35
35
 
@@ -23,7 +23,7 @@ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an
23
23
 
24
24
  A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
25
25
 
26
- Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
26
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
27
27
 
28
28
  ## Before you start
29
29
 
@@ -134,8 +134,16 @@ Markdown retains declarations, descriptions, tables, examples, and symbol links.
134
134
 
135
135
  Agents can discover and read the generated pages through the site's indexes and read-only tools, or use the normal content-delivery API. They don't need Python or browser scripts to read published references. Source extraction describes declared interfaces; it doesn't execute examples or prove runtime behavior.
136
136
 
137
+ ## A real TypeScript example
138
+
139
+ Shoalrun uses code API references to document its own [public content client](https://www.shoalrun.com/content-delivery/sdk/all.md). Compare the generated [snapshot interface](https://www.shoalrun.com/content-delivery/sdk/content-snapshot.md) with the [integration guide](https://www.shoalrun.com/content-delivery/client.md): the reference follows public TypeScript declarations and JSDoc, while the guide explains the workflow and trust boundaries. The site builds from a saved converter snapshot rather than executing the client or running extraction during every build.
140
+
137
141
  ## Related reading
138
142
 
143
+ ### Next steps
144
+
145
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
146
+
139
147
  ### Reference while working
140
148
 
141
149
  - [Add an OpenAPI API](https://www.shoalrun.com/publish/api-references.md) — Generate HTTP endpoint references when an OpenAPI contract describes the interface.
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## A real TypeScript example
37
+
38
+ Shoalrun uses code API references to document its own [public content client](https://www.shoalrun.com/content-delivery/sdk/all.md). Compare the generated [snapshot interface](https://www.shoalrun.com/content-delivery/sdk/content-snapshot.md) with the [integration guide](https://www.shoalrun.com/content-delivery/client.md): the reference follows public TypeScript declarations and JSDoc, while the guide explains the workflow and trust boundaries. The site builds from a saved converter snapshot rather than executing the client or running extraction during every build.
@@ -0,0 +1,56 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Add Python source
37
+
38
+ Create `src/sample.py`. This fictional example returns a local dictionary and doesn't contact a service:
39
+
40
+ ```python title="src/sample.py"
41
+ class Client:
42
+ """Retrieve records for an application."""
43
+
44
+ def fetch(self, record_id: str) -> dict[str, str]:
45
+ """Retrieve a record by its stable identifier.
46
+
47
+ Args:
48
+ record_id: Identifier of the record to retrieve.
49
+
50
+ Returns:
51
+ A mapping containing the record identifier.
52
+ """
53
+ return {"id": record_id}
54
+ ```
55
+
56
+ Keep the source root limited to the package you're documenting. The adapter rejects symlinks inside that root, including links to files outside it.
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Before you start
37
+
38
+ Use an existing documentation project with `@shoalrun/cli` installed, as in [Getting started](https://www.shoalrun.com/start.md). Run the commands below from that project's directory. Extraction needs Python 3.11 or newer and an explicit dependency installation. Normal site builds read the snapshot and don't need Python.
39
+
40
+ The adapter doesn't import the documented package, execute its code, enable Griffe extensions, or inspect installed modules. Review public source declarations and docstrings before publishing: static extraction doesn't establish that their content is safe to disclose.
@@ -0,0 +1,47 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Build and verify
37
+
38
+ Build the site, then serve the same output:
39
+
40
+ ```sh
41
+ npx --no-install shoalrun build docs.config.yaml site-dist
42
+ npx --no-install shoalrun serve site-dist --port 8770
43
+ ```
44
+
45
+ Open `http://127.0.0.1:8770/reference/sdk/client/` and `/reference/sdk/all/`. The class page should include `fetch` details. The complete page should include the module, class, and method. Read their Markdown copies at `/reference/sdk/client.md` and `/reference/sdk/all.md` and verify that signatures, parameter descriptions, and return information remain readable.
46
+
47
+ Regenerate the snapshot after changing source or docstrings, then validate and rebuild. A site build doesn't rerun the converter. The packaged `examples/code-references` project has a larger sample SDK with models, async methods, overloads, pagination, and exceptions.
@@ -0,0 +1,46 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Choose the reading layout
37
+
38
+ Use `layout` to control how much detail readers see on a parent page. Individual symbol URLs stay available in every layout. Group the class or module pages in navigation when you want fewer menu entries.
39
+
40
+ | Layout | What readers see |
41
+ | --------- | ----------------------------------------------------------------------------------------------------------- |
42
+ | `symbols` | Separate symbol pages with linked member tables. This is the default. |
43
+ | `classes` | Class pages include member details inline. Module pages include their direct functions and class overviews. |
44
+ | `modules` | A module page includes details for its classes, functions, and fields. Submodules form separate groups. |
45
+
46
+ `singlePage` independently adds a complete reference for the catalog. It works with any layout. Omit it or set `singlePage: false` to disable it. In a grouped or complete page, links to included symbols jump to their sections; other links retain individual symbol URLs. See the [configuration reference](https://www.shoalrun.com/api-docs/code-reference-settings.md) for defaults and metadata options.
@@ -0,0 +1,52 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Extract and validate a snapshot
37
+
38
+ Create an isolated Python environment and install the adapter's pinned requirements:
39
+
40
+ ```sh
41
+ python3.11 -m venv .venv-reference
42
+ .venv-reference/bin/python -m pip install --require-hashes \
43
+ -r node_modules/@shoalrun/cli/adapters/python/requirements.txt
44
+ mkdir -p reference
45
+ .venv-reference/bin/python node_modules/@shoalrun/cli/adapters/python/shoalrun_reference.py \
46
+ --root ./src --module sample --style google --out ./reference/python.json
47
+ npx --no-install shoalrun references check ./reference/python.json
48
+ ```
49
+
50
+ Use `--style google`, `numpy`, or `sphinx` to match the docstring convention. The adapter preserves signatures, supported docstring sections, local source locations, and resolved local type references. It skips aliases and underscore-prefixed members except constructors. It doesn't expand inherited members, execute decorators, or resolve external re-exports. Review the JSON before building.
51
+
52
+ The check reports `status: "ok"`, the programming language, and the symbol count. Duplicate IDs, missing referenced symbols, cyclic ownership, and invalid fields fail validation. A missing Python dependency stops extraction; Shoalrun doesn't install it during a site build.
@@ -0,0 +1,42 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## HTML, Markdown, and agents
37
+
38
+ HTML uses compact declaration blocks, linked types, field/default tables, and symbol sections. Tables scroll horizontally on narrow screens and can receive keyboard focus. Copy controls use JavaScript; reading the reference, following symbol links, and scrolling a table don't require it. A full reference is an ordinary generated page, so browser Find can search its content.
39
+
40
+ Markdown retains declarations, descriptions, tables, examples, and symbol links. It doesn't include Copy controls or the website styling. Content exports preserve typed resource links and scope; PDF workflows can select a grouped page or the complete reference by document ID. Generated symbol pages remain independently addressable even when they're also shown inline elsewhere.
41
+
42
+ Agents can discover and read the generated pages through the site's indexes and read-only tools, or use the normal content-delivery API. They don't need Python or browser scripts to read published references. Source extraction describes declared interfaces; it doesn't execute examples or prove runtime behavior.
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Register the catalog and navigation
37
+
38
+ Add these settings to `docs.config.yaml`, retaining the project's existing site and publication settings:
39
+
40
+ ```yaml title="docs.config.yaml"
41
+ codeReferences:
42
+ sdk:
43
+ source: { kind: file, path: ./reference/python.json }
44
+ layout: classes
45
+ singlePage:
46
+ documentId: reference.sdk.complete
47
+ slug: /reference/sdk/all
48
+ title: Complete SDK reference
49
+ symbols:
50
+ sample.Client:
51
+ documentId: reference.sdk.client
52
+ slug: /reference/sdk/client
53
+ navigation:
54
+ - { id: sdk-client, doc: reference.sdk.client }
55
+ - { id: sdk-complete, doc: reference.sdk.complete }
56
+ ```
57
+
58
+ If navigation already exists, append those entries to the appropriate group. References use ordinary `doc:` entries. Explicit document IDs and slugs preserve intentional public identities. Generated defaults follow the catalog and symbol IDs. Renaming a source symbol changes its default identity.
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
27
+
28
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
29
+
30
+ ## Related reading
31
+
32
+ ### Next steps
33
+
34
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
35
+
36
+ ### Reference while working
37
+
38
+ - [Add an OpenAPI API](https://www.shoalrun.com/publish/api-references.md) — Generate HTTP endpoint references when an OpenAPI contract describes the interface.
39
+
40
+ - [Code API reference settings](https://www.shoalrun.com/api-docs/code-reference-settings.md) — Check catalog settings, snapshot fields, and converter limits.
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: guide.code-api-references
3
+ title: Generate code API references
4
+ summary: Turn Python source and docstrings into SDK reference pages, with
5
+ separate, grouped, or complete-page layouts.
6
+ type: how-to
7
+ area: api
8
+ subarea: api-generation
9
+ canonical: /api-docs/code-references
10
+ ---
11
+
12
+ # Generate code API references
13
+
14
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
15
+
16
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
17
+
18
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate code API references
19
+
20
+ **Updated: 2026-11-07.**
21
+
22
+ **Available since: 1.0.0.**
23
+
24
+ Parent page: [Full Markdown page](/api-docs/code-references.md)
25
+
26
+ **Page reading path** — these links apply to the full page.
27
+
28
+ **Next steps**
29
+
30
+ - [Generate TypeScript API references](https://www.shoalrun.com/api-docs/typescript-references.md) — Generate references from public TypeScript declarations and JSDoc.
31
+
32
+ A code API reference describes a library's classes, functions, methods, fields, parameters, return values, and exceptions. A guide explains how to accomplish a task; the reference explains what a programmer can call, what to pass, and what comes back. [OpenAPI references](https://www.shoalrun.com/publish/api-references.md) describe HTTP endpoints instead.
33
+
34
+ Shoalrun reads a converter's JSON snapshot and renders native reference pages. The optional Python adapter extracts local source and docstrings with Griffe. The [TypeScript adapter](https://www.shoalrun.com/api-docs/typescript-references.md) follows a public entry point's declarations and JSDoc. Other languages can supply a converter that writes the same [snapshot format](https://www.shoalrun.com/api-docs/code-reference-settings.md). A Kotlin-shaped snapshot is supported; a Kotlin extractor isn't bundled.
35
+
36
+ ## Versions, profiles, and delivery
37
+
38
+ Bind different snapshots to explicit product/channel/version/language publications when releases have different interfaces. `programmingLanguage: python` describes the source language; publication `language: en` describes the documentation language.
39
+
40
+ Catalog and per-symbol metadata can declare reader filters, `shared`, and `requires`. Use the same profile for build and export. Grouped and complete pages include only symbols eligible in their publication and build selection; they don't grant access to excluded symbols. See [Publications](https://www.shoalrun.com/publish/publications.md), [Customer editions](https://www.shoalrun.com/publish/deployment-profiles.md), and the [reference](https://www.shoalrun.com/api-docs/code-reference-settings.md) for the configuration.
@@ -0,0 +1,93 @@
1
+ ---
2
+ id: guide.typescript-code-references
3
+ title: Generate TypeScript API references
4
+ summary: Extract a public TypeScript entry point into native SDK reference pages.
5
+ type: how-to
6
+ area: api
7
+ subarea: api-generation
8
+ canonical: /api-docs/typescript-references
9
+ ---
10
+
11
+ # Generate TypeScript API references
12
+
13
+ > Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
14
+
15
+ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
16
+
17
+ Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Document an API > Generate TypeScript API references
18
+
19
+ **Updated: 2026-11-07.**
20
+
21
+ **Available since: 1.1.0.**
22
+
23
+ Use the TypeScript adapter to document a library's public functions, interfaces, classes, fields, and methods. It follows one entry module's exports and local re-exports, reads JSDoc, and writes a saved JSON snapshot. Shoalrun renders that snapshot as [code API references](https://www.shoalrun.com/api-docs/code-references.md). Extraction doesn't execute the library or prove its runtime behavior.
24
+
25
+ ## Before you begin
26
+
27
+ Start with a Shoalrun project and a reviewed TypeScript entry point. The compiler package must include `adapters/typescript/shoalrun-reference.mjs`. Install the maintained compiler API version explicitly in the project that supplies the TypeScript configuration:
28
+
29
+ ```sh
30
+ npm install --save-dev --save-exact typescript@5.9.3
31
+ ```
32
+
33
+ The adapter supports TypeScript 5.9.x. Other compiler versions fail with a dependency message. Use local files, keep the extraction root narrow, and choose a stable module ID before publishing links.
34
+
35
+ ## Extract the public entry point
36
+
37
+ Run from the project directory. Replace the example entry and module ID with your own:
38
+
39
+ ```sh
40
+ node node_modules/@shoalrun/cli/adapters/typescript/shoalrun-reference.mjs \
41
+ --project tsconfig.json \
42
+ --entry src/index.ts \
43
+ --module example.sdk \
44
+ --out reference.json
45
+ npx --no-install shoalrun references check reference.json
46
+ ```
47
+
48
+ The entry resolves relative to the TypeScript configuration. The output resolves relative to your current directory. `--root DIRECTORY` optionally narrows the declaration boundary; by default it uses the configuration's directory. Exported declarations outside that root fail extraction. The configuration can remain outside an explicitly selected root.
49
+
50
+ The adapter accepts source or declaration files, including a built `.d.ts` entry. It retains public overloads, optional methods, readonly properties, merged interface signatures, constructor overloads, type links, and JSDoc descriptions, parameters, returns, and examples. Unknown declarations or unresolved imports fail rather than silently disappearing. Inherited members aren't expanded. Other JSDoc tags aren't converted into runtime constraints.
51
+
52
+ ## Review visibility and defaults
53
+
54
+ Private, protected, JavaScript private fields, and `@internal` or `@private` declarations are omitted where they can be represented separately. A structural type or copied default containing excluded declarations stops extraction when publishing it would expose those details. Some conditional type expansions also fail because their visibility can't be verified. Expose a named public type or a public value instead of weakening the checks.
55
+
56
+ Source defaults are copied as expressions, including strings; they aren't evaluated. Review the snapshot for values and prose you don't intend to publish. These are documentation visibility controls, and they don't authenticate a deployment or sanitize arbitrary source text.
57
+
58
+ Extraction doesn't install dependencies, fetch remote references, run project plugins, or execute documented modules. The local compiler and configuration are trusted inputs. Graph accounting covers compiler options and external type dependency bytes in the source digest. Limits of 10,000 source files and 32 MiB are checked after the compiler loads the graph; they aren't execution or memory isolation.
59
+
60
+ The output can't overwrite a compiler input, including through symlinks. After successful extraction and validation, the adapter replaces the snapshot atomically. Keep source and snapshots in separate paths.
61
+
62
+ ## Render the snapshot
63
+
64
+ Add a catalog to the project config:
65
+
66
+ ```yaml
67
+ codeReferences:
68
+ sdk:
69
+ source: { kind: file, path: ./reference.json }
70
+ layout: classes
71
+ singlePage:
72
+ documentId: reference.sdk.complete
73
+ slug: /sdk/all
74
+ title: Complete SDK reference
75
+ ```
76
+
77
+ Choose `symbols`, `classes`, or `modules` for the grouped presentation. `singlePage` adds an optional complete reference while retaining individual symbol URLs. Configure explicit document IDs and slugs for symbols whose public identities must survive renames. Add the complete reference or selected class/module pages to navigation by document ID. The [catalog settings](https://www.shoalrun.com/api-docs/code-reference-settings.md) describe source bindings, metadata, and routing.
78
+
79
+ ## Check the result
80
+
81
+ Build the site and review the generated HTML and Markdown. Check overloads, optional and readonly markers, type links, inline members, and copied defaults against the public declarations. Verify that excluded names and values are absent from the snapshot and every grouped or complete page. Refresh the saved snapshot after public source or JSDoc changes; normal site builds don't run extraction.
82
+
83
+ Shoalrun's own [content client reference](https://www.shoalrun.com/content-delivery/sdk/all.md) is a real example. Its [integration guide](https://www.shoalrun.com/content-delivery/client.md) explains the workflow and trust boundaries alongside the generated declarations.
84
+
85
+ ## HTML, Markdown, and agents
86
+
87
+ The saved snapshot supplies declarations, descriptions, member tables, examples, and type links to both representations. HTML adds presentation and Copy controls; Markdown retains the reference content without browser scripts. Agents discover the generated pages and keep their product, version, and language scope through the site's normal content delivery. Readers need neither TypeScript nor the source repository to use published references.
88
+
89
+ ## Related reading
90
+
91
+ ### Reference while working
92
+
93
+ - [Code API reference settings](https://www.shoalrun.com/api-docs/code-reference-settings.md) — Configure snapshot catalogs, grouping, publication scope, and stable routes.