@astryxdesign/cli 0.6.4-canary.f0355e3 → 0.6.4

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 (331) hide show
  1. package/README.md +96 -99
  2. package/api/build/build.doc.mjs +1 -6
  3. package/api/build/build.test.mjs +0 -22
  4. package/api/build/kit/kit.mjs +5 -44
  5. package/api/component/_adapter.d.mts +0 -25
  6. package/api/component/_adapter.mjs +5 -59
  7. package/api/component/component.d.mts +3 -6
  8. package/api/component/component.doc.mjs +17 -37
  9. package/api/component/component.mjs +9 -249
  10. package/api/component/component.type.d.mts +0 -25
  11. package/api/component/component.type.mjs +0 -44
  12. package/api/discover/_adapter.d.mts +6 -114
  13. package/api/discover/_adapter.mjs +17 -372
  14. package/api/discover/detail/detail.d.mts +6 -18
  15. package/api/discover/detail/detail.mjs +13 -67
  16. package/api/discover/detail/detail.test.mjs +0 -85
  17. package/api/discover/discover.d.mts +9 -3
  18. package/api/discover/discover.doc.mjs +18 -61
  19. package/api/discover/discover.mjs +36 -220
  20. package/api/discover/discover.test.mjs +2 -11
  21. package/api/discover/discover.type.d.mts +8 -147
  22. package/api/discover/discover.type.mjs +12 -102
  23. package/api/discover/list/list.d.mts +6 -20
  24. package/api/discover/list/list.mjs +12 -45
  25. package/api/discover/list/list.test.mjs +0 -46
  26. package/api/discover/search/search.d.mts +16 -18
  27. package/api/discover/search/search.mjs +56 -102
  28. package/api/discover/search/search.test.mjs +10 -144
  29. package/api/docs/_adapter.d.mts +3 -8
  30. package/api/docs/_adapter.mjs +6 -14
  31. package/api/docs/docOverlays.test.mjs +1 -27
  32. package/api/docs/docs.doc.mjs +2 -2
  33. package/api/docs/docs.test.mjs +243 -0
  34. package/api/docs/integration-tree.test.mjs +555 -0
  35. package/api/docs/integrationDocs.test.mjs +314 -0
  36. package/api/doctor/doctor.d.mts +3 -8
  37. package/api/doctor/doctor.doc.mjs +8 -17
  38. package/api/doctor/doctor.mjs +9 -90
  39. package/api/doctor/doctor.test.mjs +10 -122
  40. package/api/doctor/doctor.type.d.mts +1 -1
  41. package/api/doctor/doctor.type.mjs +1 -1
  42. package/api/gap-report/gap-report.doc.mjs +10 -19
  43. package/api/hook/hook.doc.mjs +3 -6
  44. package/api/index.d.mts +2 -1
  45. package/api/index.mjs +5 -5
  46. package/api/init/init.doc.mjs +12 -17
  47. package/api/integration/add-helpers.d.mts +2 -5
  48. package/api/integration/add-helpers.mjs +9 -36
  49. package/api/integration/add-theme.mjs +1 -22
  50. package/api/integration/add-theme.test.mjs +0 -34
  51. package/api/integration/authoring-checks.mjs +2 -2
  52. package/api/integration/integrationPackCheck.doc.mjs +3 -3
  53. package/api/integration/pack-check.mjs +9 -82
  54. package/api/integration/pack-check.test.mjs +0 -90
  55. package/api/integration/pack-check.type.mjs +1 -1
  56. package/api/json/assertResponse.doc.mjs +1 -1
  57. package/api/json/index.ts +1 -0
  58. package/api/json/isError.doc.mjs +1 -1
  59. package/api/layout/_adapter.d.mts +34 -0
  60. package/api/layout/_adapter.mjs +148 -0
  61. package/api/layout/check/check.d.mts +16 -0
  62. package/api/layout/check/check.mjs +40 -0
  63. package/api/layout/expand/expand.d.mts +22 -0
  64. package/api/layout/expand/expand.mjs +155 -0
  65. package/api/layout/expand/expand.path-safety.test.mjs +53 -0
  66. package/api/layout/grammar/grammar.d.mts +13 -0
  67. package/api/layout/grammar/grammar.mjs +87 -0
  68. package/api/layout/layout.d.mts +6 -0
  69. package/api/layout/layout.mjs +17 -0
  70. package/api/layout/layout.test.mjs +297 -0
  71. package/api/layout/layout.type.d.mts +89 -0
  72. package/api/layout/layout.type.mjs +103 -0
  73. package/api/layout/layoutCheck.doc.d.mts +11 -0
  74. package/api/layout/layoutCheck.doc.mjs +85 -0
  75. package/api/layout/layoutExpand.doc.d.mts +11 -0
  76. package/api/layout/layoutExpand.doc.mjs +107 -0
  77. package/api/layout/layoutGrammar.doc.d.mts +11 -0
  78. package/api/layout/layoutGrammar.doc.mjs +57 -0
  79. package/api/search/search.d.mts +1 -27
  80. package/api/search/search.doc.mjs +2 -2
  81. package/api/search/search.mjs +16 -228
  82. package/api/search/search.test.mjs +512 -0
  83. package/api/swizzle/swizzle.doc.mjs +5 -7
  84. package/api/template/copy/copy.mjs +1 -1
  85. package/api/template/copy/copy.test.mjs +0 -9
  86. package/api/template/template-integration.test.mjs +65 -1
  87. package/api/template/template.doc.mjs +1 -2
  88. package/api/template/template.mjs +1 -1
  89. package/api/theme/add/add.mjs +25 -17
  90. package/api/theme/add/add.staging.test.mjs +23 -40
  91. package/api/theme/build/build.family.test.mjs +12 -7
  92. package/api/theme/build/build.mjs +18 -8
  93. package/api/theme/generateTonalPalette.doc.mjs +2 -1
  94. package/api/theme/listThemes.doc.mjs +1 -1
  95. package/api/theme/themeAdd.doc.mjs +10 -9
  96. package/api/theme/themeBuild.doc.mjs +13 -13
  97. package/api/theme/themeList.doc.mjs +1 -1
  98. package/api/theme/themeListAvailable.doc.mjs +1 -2
  99. package/api/theme/themePaletteGenerate.doc.mjs +8 -15
  100. package/api/theme/themeTargets.doc.mjs +2 -3
  101. package/api/theme/themeTemplate.doc.mjs +1 -2
  102. package/api/upgrade/run/run.mjs +4 -6
  103. package/api/upgrade/upgrade.doc.mjs +22 -24
  104. package/api/upgrade/upgrade.type.mjs +2 -2
  105. package/assets/codemods/__tests__/runner.test.mjs +1 -3
  106. package/assets/codemods/integration-runner.mjs +3 -3
  107. package/assets/codemods/runner.mjs +4 -5
  108. package/assets/docs/README.md +2 -4
  109. package/assets/docs/browser-support.doc.mjs +11 -11
  110. package/assets/docs/color.doc.mjs +2 -8
  111. package/assets/docs/elevation.doc.mjs +4 -6
  112. package/assets/docs/getting-started.doc.mjs +16 -5
  113. package/assets/docs/icons.doc.mjs +21 -2
  114. package/assets/docs/illustrations.doc.mjs +15 -7
  115. package/assets/docs/internationalization.doc.mjs +5 -7
  116. package/assets/docs/layout.doc.dense.mjs +82 -130
  117. package/assets/docs/layout.doc.mjs +77 -133
  118. package/assets/docs/migration.doc.mjs +21 -19
  119. package/assets/docs/motion.doc.mjs +3 -16
  120. package/assets/docs/principles.doc.dense.mjs +5 -5
  121. package/assets/docs/principles.doc.mjs +0 -8
  122. package/assets/docs/principles.doc.zh.mjs +6 -6
  123. package/assets/docs/shape.doc.mjs +3 -8
  124. package/assets/docs/spacing.doc.mjs +2 -7
  125. package/assets/docs/styling-libraries.doc.mjs +2 -6
  126. package/assets/docs/styling.doc.mjs +23 -19
  127. package/assets/docs/theme.doc.dense.mjs +18 -58
  128. package/assets/docs/theme.doc.mjs +46 -56
  129. package/assets/docs/theme.doc.zh.mjs +8 -9
  130. package/assets/docs/tokens.doc.dense.mjs +2 -2
  131. package/assets/docs/tokens.doc.mjs +8 -389
  132. package/assets/docs/tokens.doc.zh.mjs +2 -2
  133. package/assets/docs/tree/integrations.doc.mjs +451 -25
  134. package/assets/docs/tree/integrations.test.mjs +62 -0
  135. package/assets/docs/tree/writing-docs.doc.mjs +286 -0
  136. package/assets/docs/typography.doc.mjs +4 -24
  137. package/assets/docs/working-with-ai.doc.mjs +22 -30
  138. package/assets/templates/blocks/components/InternationalizationProvider/InternationalizationProvider01ShippedLocale.tsx +1 -1
  139. package/authoring/config/config.doc.mjs +2 -10
  140. package/authoring/config/parse.d.mts +0 -2
  141. package/authoring/config/parse.mjs +0 -19
  142. package/authoring/config/parse.test.mjs +0 -8
  143. package/authoring/config/type.ts +2 -13
  144. package/authoring/doctypes/_schema.d.mts +2 -3
  145. package/authoring/doctypes/_schema.mjs +0 -6
  146. package/authoring/doctypes/base/graph-fields.doc.mjs +3 -3
  147. package/authoring/doctypes/base/type.ts +2 -4
  148. package/authoring/doctypes/command/command.doc.mjs +1 -1
  149. package/authoring/doctypes/command/type.ts +1 -1
  150. package/authoring/doctypes/component/component.doc.mjs +0 -6
  151. package/authoring/doctypes/component/type.ts +0 -8
  152. package/authoring/doctypes/reference/reference.doc.mjs +0 -7
  153. package/authoring/doctypes/reference/type.ts +0 -5
  154. package/authoring/doctypes/schema/schema.doc.mjs +2 -2
  155. package/authoring/doctypes/template/template.doc.mjs +1 -1
  156. package/authoring/doctypes/template/type.ts +2 -2
  157. package/authoring/index.d.mts +0 -1
  158. package/authoring/index.d.ts +0 -10
  159. package/authoring/index.mjs +0 -1
  160. package/authoring/integration/integration.doc.mjs +10 -12
  161. package/clients/cli/command-result-coverage.test.mjs +7 -7
  162. package/clients/cli/commands/component/index.mjs +55 -152
  163. package/clients/cli/commands/component-ownership.test.mjs +0 -89
  164. package/clients/cli/commands/component.doc.mjs +9 -27
  165. package/clients/cli/commands/debug-result-summary.test.mjs +2 -2
  166. package/clients/cli/commands/discover.doc.mjs +9 -53
  167. package/clients/cli/commands/discover.mjs +118 -393
  168. package/clients/cli/commands/docs.doc.mjs +1 -1
  169. package/clients/cli/commands/docs.mjs +17 -60
  170. package/clients/cli/commands/docs.test.mjs +294 -0
  171. package/clients/cli/commands/doctor-integration-docs.doc.mjs +2 -3
  172. package/clients/cli/commands/doctor-integration.test.mjs +0 -53
  173. package/clients/cli/commands/doctor.doc.mjs +1 -3
  174. package/clients/cli/commands/doctor.mjs +5 -49
  175. package/clients/cli/commands/gap-report.doc.mjs +9 -10
  176. package/clients/cli/commands/init.doc.mjs +6 -9
  177. package/clients/cli/commands/integration-add.doc.mjs +9 -9
  178. package/clients/cli/commands/integration-authoring.test.mjs +10 -61
  179. package/clients/cli/commands/integration-pack.doc.mjs +9 -5
  180. package/clients/cli/commands/integration-real-world.test.mjs +1 -1
  181. package/clients/cli/commands/integration.doc.mjs +4 -4
  182. package/clients/cli/commands/integration.mjs +43 -74
  183. package/clients/cli/commands/layout-check.doc.mjs +65 -0
  184. package/clients/cli/commands/layout-expand.doc.mjs +83 -0
  185. package/clients/cli/commands/layout-grammar.doc.mjs +30 -0
  186. package/clients/cli/commands/layout.doc.mjs +34 -0
  187. package/clients/cli/commands/layout.error-codes.test.mjs +66 -0
  188. package/clients/cli/commands/layout.exit-parity.test.mjs +41 -0
  189. package/clients/cli/commands/layout.mjs +275 -0
  190. package/clients/cli/commands/layout.path-help.test.mjs +33 -0
  191. package/clients/cli/commands/layout.stdin-cap.test.mjs +47 -0
  192. package/clients/cli/commands/layout.text-fields.test.mjs +39 -0
  193. package/clients/cli/commands/manifest.doc.mjs +1 -1
  194. package/clients/cli/commands/search.doc.mjs +3 -10
  195. package/clients/cli/commands/search.mjs +2 -21
  196. package/clients/cli/commands/search.test.mjs +4 -21
  197. package/clients/cli/commands/swizzle.doc.mjs +1 -1
  198. package/clients/cli/commands/template.doc.mjs +1 -1
  199. package/clients/cli/commands/text-json-parity.test.mjs +16 -5
  200. package/clients/cli/commands/theme-add.doc.mjs +1 -1
  201. package/clients/cli/commands/theme-palette-generate.doc.mjs +2 -3
  202. package/clients/cli/commands/theme-palette.doc.mjs +2 -1
  203. package/clients/cli/commands/theme-targets.doc.mjs +2 -2
  204. package/clients/cli/commands/theme.doc.mjs +1 -2
  205. package/clients/cli/commands/upgrade.doc.mjs +3 -62
  206. package/clients/cli/index.mjs +10 -28
  207. package/clients/cli/lib/define-command.mjs +4 -28
  208. package/clients/cli/lib/define-command.test.mjs +0 -54
  209. package/clients/cli/lib/exit-codes.test.mjs +9 -18
  210. package/clients/cli/lib/json-shim.mjs +14 -24
  211. package/clients/cli/lib/json-shim.test.mjs +20 -6
  212. package/clients/cli/lib/manifest.mjs +13 -18
  213. package/clients/cli/lib/manifest.test.mjs +2 -5
  214. package/foundation/agent-docs/agent-docs.mjs +1 -1
  215. package/foundation/agent-docs/agent-docs.test.mjs +1159 -0
  216. package/foundation/discovery/authoring-self-docs.mjs +0 -1
  217. package/foundation/discovery/authoring-self-docs.test.mjs +2 -6
  218. package/foundation/discovery/cli-self-docs.mjs +2 -16
  219. package/foundation/discovery/cli-self-docs.test.mjs +0 -20
  220. package/foundation/discovery/docs-discovery.mjs +1 -5
  221. package/foundation/discovery/docs-discovery.test.mjs +0 -21
  222. package/foundation/discovery/docs-section-key.d.mts +1 -1
  223. package/foundation/discovery/docs-section-key.mjs +1 -1
  224. package/foundation/discovery/template-adapter.mjs +1 -1
  225. package/foundation/doc-compiler/doc-loads.test.mjs +14 -3
  226. package/foundation/doc-compiler/tree.d.mts +0 -4
  227. package/foundation/doc-compiler/tree.mjs +1 -6
  228. package/foundation/doc-compiler/tree.test.mjs +598 -0
  229. package/foundation/integrations/cli-requirement.d.mts +6 -26
  230. package/foundation/integrations/cli-requirement.mjs +11 -46
  231. package/foundation/integrations/cli-requirement.test.mjs +2 -7
  232. package/foundation/integrations/contribution-inventory.mjs +1 -1
  233. package/foundation/integrations/integrations.d.mts +1 -14
  234. package/foundation/integrations/integrations.mjs +1 -41
  235. package/foundation/integrations/integrations.test.mjs +0 -31
  236. package/foundation/response/error-codes.doc.mjs +8 -6
  237. package/foundation/response/error-codes.test.mjs +5 -30
  238. package/foundation/response/response-types.doc.d.mts +3 -4
  239. package/foundation/response/response-types.doc.mjs +27 -40
  240. package/foundation/response/response-types.doc.test.mjs +0 -23
  241. package/foundation/response/response.doc.mjs +10 -11
  242. package/foundation/xle/browser.d.mts +3 -3
  243. package/foundation/xle/browser.mjs +3 -3
  244. package/foundation/xle/expand.mjs +2 -2
  245. package/foundation/xle/parse.mjs +1 -1
  246. package/foundation/xle/print.mjs +2 -2
  247. package/foundation/xle/splice.mjs +1 -1
  248. package/package.json +9 -9
  249. package/api/discover/_adapter.test.mjs +0 -215
  250. package/api/discover/_catalog-view.d.mts +0 -115
  251. package/api/discover/_catalog-view.mjs +0 -203
  252. package/api/discover/_catalog-view.test.mjs +0 -128
  253. package/api/discover/detail/item/item.d.mts +0 -26
  254. package/api/discover/detail/item/item.mjs +0 -78
  255. package/api/discover/detail/item/item.test.mjs +0 -73
  256. package/api/integration/pack-check.lifecycle-output.test.mjs +0 -107
  257. package/api/theme/add/add.rollback.test.mjs +0 -158
  258. package/api/theme/build/build.rollback.test.mjs +0 -148
  259. package/api/upgrade/run/files-changed.test.mjs +0 -111
  260. package/assets/codemods/file-count.test.mjs +0 -163
  261. package/assets/docs/tree/add-a-component.doc.mjs +0 -75
  262. package/assets/docs/tree/add-a-theme.doc.mjs +0 -85
  263. package/assets/docs/tree/add-a-topic.doc.mjs +0 -144
  264. package/assets/docs/tree/agent-guidance.doc.mjs +0 -138
  265. package/assets/docs/tree/block-template.doc.mjs +0 -130
  266. package/assets/docs/tree/build-the-template.doc.mjs +0 -28
  267. package/assets/docs/tree/building-blocks.doc.mjs +0 -46
  268. package/assets/docs/tree/check-your-docs.doc.mjs +0 -137
  269. package/assets/docs/tree/checks.doc.mjs +0 -119
  270. package/assets/docs/tree/codemods.doc.mjs +0 -147
  271. package/assets/docs/tree/component-family.doc.mjs +0 -113
  272. package/assets/docs/tree/component-imports.doc.mjs +0 -69
  273. package/assets/docs/tree/component-lookups.doc.mjs +0 -149
  274. package/assets/docs/tree/components.doc.mjs +0 -23
  275. package/assets/docs/tree/configuration.doc.mjs +0 -23
  276. package/assets/docs/tree/debug-and-gap-reports.doc.mjs +0 -182
  277. package/assets/docs/tree/define-the-theme.doc.mjs +0 -118
  278. package/assets/docs/tree/describe-the-component.doc.mjs +0 -57
  279. package/assets/docs/tree/docs.doc.mjs +0 -21
  280. package/assets/docs/tree/document-the-template.doc.mjs +0 -28
  281. package/assets/docs/tree/document-the-theme.doc.mjs +0 -68
  282. package/assets/docs/tree/export-template-assets.doc.mjs +0 -147
  283. package/assets/docs/tree/extend-or-replace.doc.mjs +0 -103
  284. package/assets/docs/tree/fonts-and-assets.doc.mjs +0 -106
  285. package/assets/docs/tree/generate-a-palette.doc.mjs +0 -66
  286. package/assets/docs/tree/grade-template-with-agent.doc.mjs +0 -105
  287. package/assets/docs/tree/help.doc.mjs +0 -16
  288. package/assets/docs/tree/links.doc.mjs +0 -98
  289. package/assets/docs/tree/package-and-test.doc.mjs +0 -32
  290. package/assets/docs/tree/page-template.doc.mjs +0 -71
  291. package/assets/docs/tree/publishing.doc.mjs +0 -111
  292. package/assets/docs/tree/quick-start.doc.mjs +0 -272
  293. package/assets/docs/tree/replace-a-core-component.doc.mjs +0 -104
  294. package/assets/docs/tree/replace-a-core-template.doc.mjs +0 -172
  295. package/assets/docs/tree/sections-and-placement.doc.mjs +0 -108
  296. package/assets/docs/tree/see-it-in-an-app.doc.mjs +0 -59
  297. package/assets/docs/tree/ship.doc.mjs +0 -16
  298. package/assets/docs/tree/short-and-findable.doc.mjs +0 -108
  299. package/assets/docs/tree/single-component.doc.mjs +0 -165
  300. package/assets/docs/tree/start-a-template.doc.mjs +0 -143
  301. package/assets/docs/tree/subcomponent.doc.mjs +0 -115
  302. package/assets/docs/tree/template-assets.doc.mjs +0 -64
  303. package/assets/docs/tree/template-doc-overview.doc.mjs +0 -109
  304. package/assets/docs/tree/template-fonts.doc.mjs +0 -102
  305. package/assets/docs/tree/template-grading-rubric.doc.mjs +0 -452
  306. package/assets/docs/tree/template-icons.doc.mjs +0 -97
  307. package/assets/docs/tree/template-images-media.doc.mjs +0 -127
  308. package/assets/docs/tree/template-styles.doc.mjs +0 -93
  309. package/assets/docs/tree/templates.doc.mjs +0 -34
  310. package/assets/docs/tree/test-in-an-app.doc.mjs +0 -115
  311. package/assets/docs/tree/test-template-in-app.doc.mjs +0 -128
  312. package/assets/docs/tree/themes.doc.mjs +0 -39
  313. package/assets/docs/tree/troubleshooting.doc.mjs +0 -149
  314. package/assets/docs/tree/upgrading.doc.mjs +0 -103
  315. package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +0 -51
  316. package/assets/docs/tree/verify-packed-template.doc.mjs +0 -77
  317. package/assets/docs/tree/versioning.doc.mjs +0 -161
  318. package/assets/docs/tree/write-good-templates.doc.mjs +0 -64
  319. package/assets/docs/tree/write-the-template-file.doc.mjs +0 -154
  320. package/authoring/discover/discover.doc.d.mts +0 -13
  321. package/authoring/discover/discover.doc.mjs +0 -138
  322. package/authoring/discover/parse.d.mts +0 -24
  323. package/authoring/discover/parse.mjs +0 -128
  324. package/authoring/discover/parse.test.mjs +0 -124
  325. package/authoring/discover/type.ts +0 -87
  326. package/clients/cli/commands/component-batch.test.mjs +0 -341
  327. package/clients/cli/commands/discover.sources.test.mjs +0 -267
  328. package/clients/cli/commands/integration-verify.doc.mjs +0 -22
  329. package/clients/cli/lib/parse-error-format.test.mjs +0 -81
  330. package/foundation/response/batch.type.d.mts +0 -33
  331. package/foundation/response/batch.type.mjs +0 -34
@@ -33,7 +33,6 @@ export const AUTHORING_SELF_DOCS = [
33
33
  'config/config.doc.mjs',
34
34
  'debug/debug.doc.mjs',
35
35
  'gap-report/gap-report.doc.mjs',
36
- 'discover/discover.doc.mjs',
37
36
  'codemod/codemod.doc.mjs',
38
37
  'identity/identity.doc.mjs',
39
38
  'doctypes/base/graph-fields.doc.mjs',
@@ -63,9 +63,7 @@ describe('authoring self-docs', () => {
63
63
  describe('what the authoring docs say about the docs tree', () => {
64
64
  it('marks exactly the fields the docs tree does not read yet', () => {
65
65
  const notReadYet = graphFieldsDoc.fields
66
- .filter(field =>
67
- /^Reserved: .*Nothing reads it today/.test(field.description),
68
- )
66
+ .filter(field => /Not read yet/.test(field.description))
69
67
  .map(field => field.name);
70
68
  // The tree reads `placement` for every guide (spec:AST-046); the other
71
69
  // graph fields are still refused by every topic reader.
@@ -81,9 +79,7 @@ describe('what the authoring docs say about the docs tree', () => {
81
79
  expect(placement.description).toMatch(
82
80
  /Read for every guide, the CLI's and each integration's/,
83
81
  );
84
- expect(graphFieldsDoc.description).toMatch(
85
- /Nothing reads `aliases` or `audience` today/,
86
- );
82
+ expect(graphFieldsDoc.description).toMatch(/not built yet/);
87
83
  });
88
84
 
89
85
  it('keeps graph blocks behind the separate GraphContentBlock type, and a section takes a reference block', () => {
@@ -315,20 +315,12 @@ function functionSection(fn, index) {
315
315
  }
316
316
  const params = fn.params ?? [];
317
317
  if (params.length > 0) {
318
- // A Default column only when some parameter declares a default, so a
319
- // function with none keeps a three-column table.
320
- const defaults = params.some(
321
- (/** @type {any} */ p) => typeof p.default === 'string' && p.default !== '',
322
- );
323
318
  content.push({
324
319
  type: 'table',
325
- headers: defaults
326
- ? ['Parameter', 'Type', 'Default', 'Description']
327
- : ['Parameter', 'Type', 'Description'],
320
+ headers: ['Parameter', 'Type', 'Description'],
328
321
  rows: params.map((/** @type {any} */ p) => [
329
- `\`${p.name}\`${p.required ? ' (required)' : ''}`,
322
+ `\`${p.name}\``,
330
323
  `\`${p.type ?? ''}\``,
331
- ...(defaults ? [p.default ?? ''] : []),
332
324
  p.description ?? '',
333
325
  ]),
334
326
  });
@@ -413,12 +405,6 @@ export function cliDocSection(doc, index) {
413
405
  if (doc.type === 'command') return commandSection(doc, index);
414
406
  if (doc.type === 'function') return functionSection(doc, index);
415
407
  if (doc.type === 'enum') return enumSection(doc);
416
- if (doc.type === 'namespace')
417
- return {
418
- id: routeSegment(doc.name),
419
- title: doc.title,
420
- content: doc.blocks ?? [],
421
- };
422
408
  return {...selfDocSection(doc), id: routeSegment(doc.name)};
423
409
  }
424
410
 
@@ -315,26 +315,6 @@ describe('cliDocSection', () => {
315
315
  ]);
316
316
  });
317
317
 
318
- it('marks required parameters and adds a Default column when a parameter has a default', () => {
319
- const beta = fn('beta', {
320
- params: [
321
- {name: 'slug', type: 'string', description: 'The slug.', required: true},
322
- {name: 'options.limit', type: 'number', description: 'How many.', default: '20'},
323
- ],
324
- });
325
- const table = cliDocSection(beta, indexOf([beta])).content.find(
326
- (/** @type {any} */ block) => block.type === 'table',
327
- );
328
- expect(table).toEqual({
329
- type: 'table',
330
- headers: ['Parameter', 'Type', 'Default', 'Description'],
331
- rows: [
332
- ['`slug` (required)', '`string`', '', 'The slug.'],
333
- ['`options.limit`', '`number`', '20', 'How many.'],
334
- ],
335
- });
336
- });
337
-
338
318
  it('renders an API function, an enum, and a schema', () => {
339
319
  const alpha = fn('alpha', {
340
320
  description: 'Longer.',
@@ -626,11 +626,7 @@ function findMergeTarget(sections, section) {
626
626
  const sameTitle = sections.findIndex(
627
627
  candidate => sourceTitle(candidate) === title,
628
628
  );
629
- if (sameTitle !== -1) return sameTitle;
630
- // A base section retitled later keeps its old key as its `id`, so an
631
- // extension that still names it by the old title finds it by that id. A
632
- // title variant of a section with no id stays a separate section.
633
- return sections.findIndex(candidate => candidate.id === key);
629
+ return sameTitle;
634
630
  }
635
631
 
636
632
  /**
@@ -509,27 +509,6 @@ describe('mergeTopic', () => {
509
509
  expect(base.sections[0].content[0].text).toBe('npm i');
510
510
  });
511
511
 
512
- it('finds a retitled base section by the key its old title derives', () => {
513
- // A base section retitled later keeps its old key as its `id`; an
514
- // extension that still names it by the old title replaces it.
515
- const merged = mergeTopic(
516
- {
517
- ...base,
518
- sections: [
519
- {id: 'quick-start', title: 'Wrap your app in a theme', content: []},
520
- {id: 'tokens', title: 'Tokens', content: []},
521
- ],
522
- },
523
- {sections: [{title: 'Quick Start', content: []}]},
524
- );
525
- expect(merged.sections.map(section => [section.id, section.title])).toEqual(
526
- [
527
- ['quick-start', 'Quick Start'],
528
- ['tokens', 'Tokens'],
529
- ],
530
- );
531
- });
532
-
533
512
  it('replaces a section by stable ID even when its title changes', () => {
534
513
  const merged = mergeTopic(
535
514
  {
@@ -32,7 +32,7 @@ export function sectionTitleKey(title: unknown): string;
32
32
  export function sectionKey(section: any): string;
33
33
  /**
34
34
  * A name as a docs-tree route segment: lowercase words joined by hyphens, so
35
- * `integrationPackCheck` and `integration verify` both read naturally.
35
+ * `integrationPackCheck` and `integration pack` both read naturally.
36
36
  * @param {string} name
37
37
  * @returns {string}
38
38
  */
@@ -95,7 +95,7 @@ function legacyTitleMatchIndex(sections, query) {
95
95
 
96
96
  /**
97
97
  * A name as a docs-tree route segment: lowercase words joined by hyphens, so
98
- * `integrationPackCheck` and `integration verify` both read naturally.
98
+ * `integrationPackCheck` and `integration pack` both read naturally.
99
99
  * @param {string} name
100
100
  * @returns {string}
101
101
  */
@@ -4,7 +4,7 @@
4
4
  * @file Shared template discovery + IO.
5
5
  *
6
6
  * Owns everything the template leaves (list/show/skeleton/copy) AND other
7
- * commands (component, search, init, discover, Doctor integration)
7
+ * commands (component, layout, search, init, discover, Doctor integration)
8
8
  * share: template discovery across core/external/integration sources, the
9
9
  * template-spec loaders, and the cross-command helpers (stripTemplateAssetRefs,
10
10
  * findShowcase, findRelatedBlocks, extractComponents, listTemplates). The
@@ -53,8 +53,8 @@ const RUNNERS = {
53
53
  sites: ['import(node:child_process)', 'worker_threads.Worker'],
54
54
  },
55
55
  'api/integration/pack-check.mjs': {
56
- runs: '`npm pack`, `tar`, and a Node script that resolves the packed specifiers, to check a package as published, and the package\'s doc modules, to see which need a newer CLI',
57
- sites: ['child_process.spawnSync ×3', 'loadTopicModule'],
56
+ runs: '`npm pack`, `tar`, and a Node script that resolves the packed specifiers, to check a package as published',
57
+ sites: ['child_process.spawnSync ×3'],
58
58
  },
59
59
  'api/swizzle/_github.mjs': {
60
60
  runs: '`gh auth status`, to check the GitHub CLI is signed in',
@@ -188,10 +188,21 @@ const RUNNERS = {
188
188
  'import ../../../api/integration/integrationPackCheck.doc.mjs',
189
189
  'import ./integration-add.doc.mjs',
190
190
  'import ./integration-pack.doc.mjs',
191
- 'import ./integration-verify.doc.mjs',
192
191
  'import ./integration.doc.mjs',
193
192
  ],
194
193
  },
194
+ 'clients/cli/commands/layout.mjs': {
195
+ runs: SELF_DOCS,
196
+ sites: [
197
+ 'import ../../../api/layout/layoutCheck.doc.mjs',
198
+ 'import ../../../api/layout/layoutExpand.doc.mjs',
199
+ 'import ../../../api/layout/layoutGrammar.doc.mjs',
200
+ 'import ./layout-check.doc.mjs',
201
+ 'import ./layout-expand.doc.mjs',
202
+ 'import ./layout-grammar.doc.mjs',
203
+ 'import ./layout.doc.mjs',
204
+ ],
205
+ },
195
206
  'clients/cli/commands/search.mjs': {
196
207
  runs: SELF_DOCS,
197
208
  sites: [
@@ -240,10 +240,6 @@ export type TreeNode = {
240
240
  name: string;
241
241
  title: string;
242
242
  summary: string;
243
- /**
244
- * an authored namespace's search keywords
245
- */
246
- keywords?: string[] | undefined;
247
243
  /**
248
244
  * the parent's route; null at the top
249
245
  */
@@ -58,7 +58,7 @@ export const KIND_GROUPS = Object.freeze({
58
58
  schema: {
59
59
  segment: 'schemas',
60
60
  title: 'Schemas',
61
- summary: 'Data shapes, field by field.',
61
+ summary: 'Every shape the CLI reads or returns, field by field.',
62
62
  },
63
63
  enum: {
64
64
  segment: 'enums',
@@ -140,7 +140,6 @@ export const UNORGANIZED = 'unorganized';
140
140
  * @property {string} name
141
141
  * @property {string} title
142
142
  * @property {string} summary
143
- * @property {string[]} [keywords] an authored namespace's search keywords
144
143
  * @property {string | null} parent the parent's route; null at the top
145
144
  * @property {string | null} slot the parent slot this node sits in
146
145
  * @property {number | null} order
@@ -421,14 +420,10 @@ export function buildDocsTree({namespaces, docs, topics = []}) {
421
420
  name: input.doc.name,
422
421
  title: input.doc.title,
423
422
  summary: input.doc.summary,
424
- ...(Array.isArray(input.doc.keywords)
425
- ? {keywords: input.doc.keywords}
426
- : {}),
427
423
  parent: parentRoute,
428
424
  slot: home?.slot ?? null,
429
425
  order: home?.order ?? null,
430
426
  generated: false,
431
- ref: {selfDoc: input.doc},
432
427
  slots: Object.entries(input.doc.slots).map(([name, slot]) => ({
433
428
  name,
434
429
  title: slot.title,