@bleedingdev/modern-js-ultramodern-create 3.8.3-ultramodern.2

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 (631) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +459 -0
  3. package/bin/run.js +74 -0
  4. package/dist/cjs/agent-files.cjs +96 -0
  5. package/dist/cjs/agents-md.cjs +98 -0
  6. package/dist/cjs/cli/flags.cjs +358 -0
  7. package/dist/cjs/cli/help.cjs +111 -0
  8. package/dist/cjs/cli/package-source.cjs +188 -0
  9. package/dist/cjs/cli/project-setup.cjs +159 -0
  10. package/dist/cjs/cli/prompts.cjs +100 -0
  11. package/dist/cjs/create-package-root.cjs +63 -0
  12. package/dist/cjs/docs-location.cjs +143 -0
  13. package/dist/cjs/index.cjs +169 -0
  14. package/dist/cjs/locale/en.cjs +126 -0
  15. package/dist/cjs/locale/index.cjs +50 -0
  16. package/dist/cjs/locale/zh.cjs +126 -0
  17. package/dist/cjs/ultramodern-package-source.cjs +115 -0
  18. package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
  19. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +132 -0
  20. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  21. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +212 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +47 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +112 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +55 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +102 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +187 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +146 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +110 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +279 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +58 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +71 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  35. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +151 -0
  36. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +67 -0
  37. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  38. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +447 -0
  39. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +309 -0
  40. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +87 -0
  41. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +588 -0
  42. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +376 -0
  43. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +73 -0
  44. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +215 -0
  45. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
  46. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +454 -0
  47. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  48. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  49. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  50. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  51. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
  52. package/dist/cjs/ultramodern-tooling/commands.cjs +99 -0
  53. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  54. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  55. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  56. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  57. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  58. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
  59. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  60. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  61. package/dist/cjs/ultramodern-tooling/config.cjs +62 -0
  62. package/dist/cjs/ultramodern-workspace/add-shell.cjs +277 -0
  63. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  64. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +186 -0
  65. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
  66. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
  67. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +99 -0
  68. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
  69. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +590 -0
  70. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
  71. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +84 -0
  72. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  73. package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
  74. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +187 -0
  75. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  76. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
  77. package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
  78. package/dist/cjs/ultramodern-workspace/api/shared.cjs +264 -0
  79. package/dist/cjs/ultramodern-workspace/api.cjs +108 -0
  80. package/dist/cjs/ultramodern-workspace/app-files.cjs +206 -0
  81. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +355 -0
  82. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  83. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +44 -0
  84. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  85. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  86. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  87. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  88. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  89. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  90. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  91. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +62 -0
  92. package/dist/cjs/ultramodern-workspace/codesmith.cjs +144 -0
  93. package/dist/cjs/ultramodern-workspace/contracts.cjs +366 -0
  94. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +292 -0
  95. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
  96. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +59 -0
  97. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +150 -0
  98. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  99. package/dist/cjs/ultramodern-workspace/demo-components.cjs +685 -0
  100. package/dist/cjs/ultramodern-workspace/descriptors.cjs +307 -0
  101. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  102. package/dist/cjs/ultramodern-workspace/fs-io.cjs +324 -0
  103. package/dist/cjs/ultramodern-workspace/generation-result.cjs +191 -0
  104. package/dist/cjs/ultramodern-workspace/index.cjs +79 -0
  105. package/dist/cjs/ultramodern-workspace/locales.cjs +159 -0
  106. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  107. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  108. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  109. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  110. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  111. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +211 -0
  112. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  113. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  114. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +48 -0
  115. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +343 -0
  116. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
  117. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
  118. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  119. package/dist/cjs/ultramodern-workspace/module-federation.cjs +77 -0
  120. package/dist/cjs/ultramodern-workspace/naming.cjs +155 -0
  121. package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
  122. package/dist/cjs/ultramodern-workspace/overlays.cjs +155 -0
  123. package/dist/cjs/ultramodern-workspace/package-json.cjs +269 -0
  124. package/dist/cjs/ultramodern-workspace/package-source.cjs +68 -0
  125. package/dist/cjs/ultramodern-workspace/policy.cjs +1020 -0
  126. package/dist/cjs/ultramodern-workspace/public-api.cjs +58 -0
  127. package/dist/cjs/ultramodern-workspace/public-surface.cjs +247 -0
  128. package/dist/cjs/ultramodern-workspace/routes.cjs +226 -0
  129. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
  130. package/dist/cjs/ultramodern-workspace/shells.cjs +152 -0
  131. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  132. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +201 -0
  133. package/dist/cjs/ultramodern-workspace/types.cjs +88 -0
  134. package/dist/cjs/ultramodern-workspace/versions.cjs +184 -0
  135. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +175 -0
  136. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +261 -0
  137. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +424 -0
  138. package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
  139. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +232 -0
  140. package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
  141. package/dist/esm/agent-files.js +47 -0
  142. package/dist/esm/agents-md.js +50 -0
  143. package/dist/esm/cli/flags.js +263 -0
  144. package/dist/esm/cli/help.js +70 -0
  145. package/dist/esm/cli/package-source.js +124 -0
  146. package/dist/esm/cli/project-setup.js +102 -0
  147. package/dist/esm/cli/prompts.js +51 -0
  148. package/dist/esm/create-package-root.js +14 -0
  149. package/dist/esm/docs-location.js +79 -0
  150. package/dist/esm/index.js +133 -0
  151. package/dist/esm/locale/en.js +88 -0
  152. package/dist/esm/locale/index.js +9 -0
  153. package/dist/esm/locale/zh.js +88 -0
  154. package/dist/esm/ultramodern-package-source.js +43 -0
  155. package/dist/esm/ultramodern-release-cohort.js +133 -0
  156. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +84 -0
  157. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  158. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  159. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
  160. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +9 -0
  161. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +63 -0
  162. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +7 -0
  163. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +47 -0
  164. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +138 -0
  165. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +97 -0
  166. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +61 -0
  167. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  168. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +230 -0
  169. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +10 -0
  170. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  171. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  172. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +100 -0
  173. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +29 -0
  174. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  175. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +385 -0
  176. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +262 -0
  177. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +49 -0
  178. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +535 -0
  179. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +329 -0
  180. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +19 -0
  181. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +148 -0
  182. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
  183. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +405 -0
  184. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  185. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  186. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  187. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  188. package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
  189. package/dist/esm/ultramodern-tooling/commands.js +51 -0
  190. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  191. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  192. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  193. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  194. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  195. package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
  196. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  197. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  198. package/dist/esm/ultramodern-tooling/config.js +1 -0
  199. package/dist/esm/ultramodern-workspace/add-shell.js +224 -0
  200. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  201. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +138 -0
  202. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
  203. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
  204. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +48 -0
  205. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
  206. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +529 -0
  207. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
  208. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -0
  209. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  210. package/dist/esm/ultramodern-workspace/api/client.js +183 -0
  211. package/dist/esm/ultramodern-workspace/api/contracts.js +149 -0
  212. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  213. package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
  214. package/dist/esm/ultramodern-workspace/api/service.js +211 -0
  215. package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
  216. package/dist/esm/ultramodern-workspace/api.js +6 -0
  217. package/dist/esm/ultramodern-workspace/app-files.js +150 -0
  218. package/dist/esm/ultramodern-workspace/backend-federation.js +290 -0
  219. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  220. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +6 -0
  221. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  222. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  223. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  224. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  225. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  226. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  227. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  228. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -0
  229. package/dist/esm/ultramodern-workspace/codesmith.js +96 -0
  230. package/dist/esm/ultramodern-workspace/contracts.js +319 -0
  231. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
  232. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
  233. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
  234. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +101 -0
  235. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  236. package/dist/esm/ultramodern-workspace/demo-components.js +617 -0
  237. package/dist/esm/ultramodern-workspace/descriptors.js +191 -0
  238. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  239. package/dist/esm/ultramodern-workspace/fs-io.js +235 -0
  240. package/dist/esm/ultramodern-workspace/generation-result.js +132 -0
  241. package/dist/esm/ultramodern-workspace/index.js +7 -0
  242. package/dist/esm/ultramodern-workspace/locales.js +121 -0
  243. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  244. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  245. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  246. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  247. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  248. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +161 -0
  249. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  250. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  251. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -0
  252. package/dist/esm/ultramodern-workspace/module-federation/config.js +296 -0
  253. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
  254. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  255. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  256. package/dist/esm/ultramodern-workspace/module-federation.js +5 -0
  257. package/dist/esm/ultramodern-workspace/naming.js +71 -0
  258. package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
  259. package/dist/esm/ultramodern-workspace/overlays.js +103 -0
  260. package/dist/esm/ultramodern-workspace/package-json.js +201 -0
  261. package/dist/esm/ultramodern-workspace/package-source.js +27 -0
  262. package/dist/esm/ultramodern-workspace/policy.js +955 -0
  263. package/dist/esm/ultramodern-workspace/public-api.js +4 -0
  264. package/dist/esm/ultramodern-workspace/public-surface.js +183 -0
  265. package/dist/esm/ultramodern-workspace/routes.js +146 -0
  266. package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
  267. package/dist/esm/ultramodern-workspace/shells.js +96 -0
  268. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  269. package/dist/esm/ultramodern-workspace/tsconfigs.js +138 -0
  270. package/dist/esm/ultramodern-workspace/types.js +31 -0
  271. package/dist/esm/ultramodern-workspace/versions.js +38 -0
  272. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +125 -0
  273. package/dist/esm/ultramodern-workspace/workspace-scripts.js +200 -0
  274. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +386 -0
  275. package/dist/esm/ultramodern-workspace/write-app.js +105 -0
  276. package/dist/esm/ultramodern-workspace/write-workspace.js +178 -0
  277. package/dist/esm/ultramodern-workspace/zerops.js +70 -0
  278. package/dist/esm-node/agent-files.js +48 -0
  279. package/dist/esm-node/agents-md.js +51 -0
  280. package/dist/esm-node/cli/flags.js +264 -0
  281. package/dist/esm-node/cli/help.js +71 -0
  282. package/dist/esm-node/cli/package-source.js +125 -0
  283. package/dist/esm-node/cli/project-setup.js +103 -0
  284. package/dist/esm-node/cli/prompts.js +52 -0
  285. package/dist/esm-node/create-package-root.js +15 -0
  286. package/dist/esm-node/docs-location.js +80 -0
  287. package/dist/esm-node/index.js +134 -0
  288. package/dist/esm-node/locale/en.js +89 -0
  289. package/dist/esm-node/locale/index.js +10 -0
  290. package/dist/esm-node/locale/zh.js +89 -0
  291. package/dist/esm-node/ultramodern-package-source.js +44 -0
  292. package/dist/esm-node/ultramodern-release-cohort.js +134 -0
  293. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +85 -0
  294. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  295. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  296. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
  297. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +10 -0
  298. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +64 -0
  299. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +8 -0
  300. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +48 -0
  301. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +139 -0
  302. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +98 -0
  303. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +62 -0
  304. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  305. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +231 -0
  306. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +11 -0
  307. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +9 -0
  308. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  309. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +101 -0
  310. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +30 -0
  311. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  312. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +386 -0
  313. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +263 -0
  314. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +50 -0
  315. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +536 -0
  316. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +330 -0
  317. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +20 -0
  318. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +149 -0
  319. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
  320. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +406 -0
  321. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  322. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  323. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  324. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  325. package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
  326. package/dist/esm-node/ultramodern-tooling/commands.js +52 -0
  327. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  328. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  329. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  330. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  331. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  332. package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
  333. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  334. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  335. package/dist/esm-node/ultramodern-tooling/config.js +2 -0
  336. package/dist/esm-node/ultramodern-workspace/add-shell.js +225 -0
  337. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  338. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +139 -0
  339. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
  340. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
  341. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +49 -0
  342. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
  343. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +530 -0
  344. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
  345. package/dist/esm-node/ultramodern-workspace/add-vertical.js +7 -0
  346. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  347. package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
  348. package/dist/esm-node/ultramodern-workspace/api/contracts.js +150 -0
  349. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  350. package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
  351. package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
  352. package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
  353. package/dist/esm-node/ultramodern-workspace/api.js +7 -0
  354. package/dist/esm-node/ultramodern-workspace/app-files.js +151 -0
  355. package/dist/esm-node/ultramodern-workspace/backend-federation.js +291 -0
  356. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  357. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +7 -0
  358. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  359. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  360. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  361. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  362. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  363. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  364. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  365. package/dist/esm-node/ultramodern-workspace/bridge-config.js +2 -0
  366. package/dist/esm-node/ultramodern-workspace/codesmith.js +97 -0
  367. package/dist/esm-node/ultramodern-workspace/contracts.js +320 -0
  368. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +237 -0
  369. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
  370. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
  371. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +102 -0
  372. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  373. package/dist/esm-node/ultramodern-workspace/demo-components.js +618 -0
  374. package/dist/esm-node/ultramodern-workspace/descriptors.js +192 -0
  375. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  376. package/dist/esm-node/ultramodern-workspace/fs-io.js +236 -0
  377. package/dist/esm-node/ultramodern-workspace/generation-result.js +133 -0
  378. package/dist/esm-node/ultramodern-workspace/index.js +8 -0
  379. package/dist/esm-node/ultramodern-workspace/locales.js +122 -0
  380. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  381. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  382. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  383. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  384. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  385. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +162 -0
  386. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  387. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  388. package/dist/esm-node/ultramodern-workspace/mf-validation.js +4 -0
  389. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +297 -0
  390. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
  391. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
  392. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  393. package/dist/esm-node/ultramodern-workspace/module-federation.js +6 -0
  394. package/dist/esm-node/ultramodern-workspace/naming.js +72 -0
  395. package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
  396. package/dist/esm-node/ultramodern-workspace/overlays.js +104 -0
  397. package/dist/esm-node/ultramodern-workspace/package-json.js +202 -0
  398. package/dist/esm-node/ultramodern-workspace/package-source.js +28 -0
  399. package/dist/esm-node/ultramodern-workspace/policy.js +956 -0
  400. package/dist/esm-node/ultramodern-workspace/public-api.js +5 -0
  401. package/dist/esm-node/ultramodern-workspace/public-surface.js +184 -0
  402. package/dist/esm-node/ultramodern-workspace/routes.js +147 -0
  403. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
  404. package/dist/esm-node/ultramodern-workspace/shells.js +97 -0
  405. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  406. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +139 -0
  407. package/dist/esm-node/ultramodern-workspace/types.js +32 -0
  408. package/dist/esm-node/ultramodern-workspace/versions.js +39 -0
  409. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +126 -0
  410. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +201 -0
  411. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +387 -0
  412. package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
  413. package/dist/esm-node/ultramodern-workspace/write-workspace.js +179 -0
  414. package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
  415. package/dist/types/agent-files.d.ts +11 -0
  416. package/dist/types/agents-md.d.ts +1 -0
  417. package/dist/types/cli/flags.d.ts +35 -0
  418. package/dist/types/cli/help.d.ts +2 -0
  419. package/dist/types/cli/package-source.d.ts +15 -0
  420. package/dist/types/cli/project-setup.d.ts +8 -0
  421. package/dist/types/cli/prompts.d.ts +4 -0
  422. package/dist/types/create-package-root.d.ts +1 -0
  423. package/dist/types/docs-location.d.ts +23 -0
  424. package/dist/types/index.d.ts +1 -0
  425. package/dist/types/locale/en.d.ts +87 -0
  426. package/dist/types/locale/index.d.ts +176 -0
  427. package/dist/types/locale/zh.d.ts +87 -0
  428. package/dist/types/ultramodern-package-source.d.ts +20 -0
  429. package/dist/types/ultramodern-release-cohort.d.ts +30 -0
  430. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  431. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  432. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  433. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
  434. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  435. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  436. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  437. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +5 -0
  438. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  439. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  440. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +2 -0
  441. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  442. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  443. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  444. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +8 -0
  445. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  446. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +3 -0
  447. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  448. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  449. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +26 -0
  450. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +25 -0
  451. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  452. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +26 -0
  453. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
  454. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +6 -0
  455. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +37 -0
  456. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
  457. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  458. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  459. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  460. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  461. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  462. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  463. package/dist/types/ultramodern-tooling/commands.d.ts +1 -0
  464. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  465. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  466. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  467. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  468. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  469. package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
  470. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  471. package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
  472. package/dist/types/ultramodern-tooling/config.d.ts +1 -0
  473. package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
  474. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  475. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
  476. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  477. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
  478. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +4 -0
  479. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  480. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +49 -0
  481. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
  482. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -0
  483. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  484. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  485. package/dist/types/ultramodern-workspace/api/contracts.d.ts +2 -0
  486. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  487. package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
  488. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  489. package/dist/types/ultramodern-workspace/api/shared.d.ts +5 -0
  490. package/dist/types/ultramodern-workspace/api.d.ts +6 -0
  491. package/dist/types/ultramodern-workspace/app-files.d.ts +8 -0
  492. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  493. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  494. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  495. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  496. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  497. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  498. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  499. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  500. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  501. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  502. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -0
  503. package/dist/types/ultramodern-workspace/codesmith.d.ts +60 -0
  504. package/dist/types/ultramodern-workspace/contracts.d.ts +6 -0
  505. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +290 -0
  506. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
  507. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +4 -0
  508. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  509. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  510. package/dist/types/ultramodern-workspace/demo-components.d.ts +19 -0
  511. package/dist/types/ultramodern-workspace/descriptors.d.ts +63 -0
  512. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  513. package/dist/types/ultramodern-workspace/fs-io.d.ts +14 -0
  514. package/dist/types/ultramodern-workspace/generation-result.d.ts +16 -0
  515. package/dist/types/ultramodern-workspace/index.d.ts +10 -0
  516. package/dist/types/ultramodern-workspace/locales.d.ts +51 -0
  517. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  518. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  519. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  520. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  521. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  522. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +6 -0
  523. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +38 -0
  524. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  525. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -0
  526. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  527. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  528. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  529. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  530. package/dist/types/ultramodern-workspace/module-federation.d.ts +5 -0
  531. package/dist/types/ultramodern-workspace/naming.d.ts +14 -0
  532. package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
  533. package/dist/types/ultramodern-workspace/overlays.d.ts +6 -0
  534. package/dist/types/ultramodern-workspace/package-json.d.ts +8 -0
  535. package/dist/types/ultramodern-workspace/package-source.d.ts +3 -0
  536. package/dist/types/ultramodern-workspace/policy.d.ts +281 -0
  537. package/dist/types/ultramodern-workspace/public-api.d.ts +6 -0
  538. package/dist/types/ultramodern-workspace/public-surface.d.ts +27 -0
  539. package/dist/types/ultramodern-workspace/routes.d.ts +16 -0
  540. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  541. package/dist/types/ultramodern-workspace/shells.d.ts +48 -0
  542. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  543. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +14 -0
  544. package/dist/types/ultramodern-workspace/types.d.ts +334 -0
  545. package/dist/types/ultramodern-workspace/versions.d.ts +42 -0
  546. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
  547. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +16 -0
  548. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +217 -0
  549. package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
  550. package/dist/types/ultramodern-workspace/write-workspace.d.ts +6 -0
  551. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  552. package/package.json +115 -0
  553. package/template/AGENTS.md +20 -0
  554. package/template-workspace/.agents/agent-reference-repos.json +24 -0
  555. package/template-workspace/.codex/hooks.json +16 -0
  556. package/template-workspace/.codex/rstackjs-agent-skills-LICENSE +21 -0
  557. package/template-workspace/.codex/skills/rsbuild-best-practices/SKILL.md +57 -0
  558. package/template-workspace/.codex/skills/rsdoctor-analysis/SKILL.md +96 -0
  559. package/template-workspace/.codex/skills/rsdoctor-analysis/references/command-map.md +113 -0
  560. package/template-workspace/.codex/skills/rsdoctor-analysis/references/common-analysis-patterns.md +190 -0
  561. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-common.md +88 -0
  562. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-rspack.md +138 -0
  563. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor-webpack.md +71 -0
  564. package/template-workspace/.codex/skills/rsdoctor-analysis/references/install-rsdoctor.md +39 -0
  565. package/template-workspace/.codex/skills/rsdoctor-analysis/references/rsdoctor-data-types.md +103 -0
  566. package/template-workspace/.codex/skills/rslib-best-practices/SKILL.md +58 -0
  567. package/template-workspace/.codex/skills/rslib-modern-package/SKILL.md +173 -0
  568. package/template-workspace/.codex/skills/rspack-best-practices/SKILL.md +70 -0
  569. package/template-workspace/.codex/skills/rspack-tracing/SKILL.md +75 -0
  570. package/template-workspace/.codex/skills/rspack-tracing/references/bottlenecks.md +47 -0
  571. package/template-workspace/.codex/skills/rspack-tracing/references/tracing-guide.md +38 -0
  572. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +184 -0
  573. package/template-workspace/.codex/skills/rstest-best-practices/SKILL.md +133 -0
  574. package/template-workspace/.codex/skills-lock.json +114 -0
  575. package/template-workspace/.github/renovate.json +29 -0
  576. package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +71 -0
  577. package/template-workspace/.gitignore.handlebars +16 -0
  578. package/template-workspace/.mise.toml.handlebars +3 -0
  579. package/template-workspace/.modernjs/release-cohort.json +244 -0
  580. package/template-workspace/AGENTS.md.handlebars +30 -0
  581. package/template-workspace/CLAUDE.md.handlebars +1 -0
  582. package/template-workspace/README.md.handlebars +229 -0
  583. package/template-workspace/lefthook.yml +24 -0
  584. package/template-workspace/oxfmt.config.ts +20 -0
  585. package/template-workspace/oxlint.config.ts +38 -0
  586. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +47 -0
  587. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +26 -0
  588. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +268 -0
  589. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +13 -0
  590. package/template-workspace/patches/@tanstack__router-core@1.171.27.patch +28 -0
  591. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +471 -0
  592. package/template-workspace/patches/msgpackr@2.0.6.patch +29 -0
  593. package/template-workspace/patches/zod@4.4.3.patch +54 -0
  594. package/template-workspace/pnpm-workspace.yaml.handlebars +54 -0
  595. package/template-workspace/scripts/bootstrap-agent-skills.mjs +308 -0
  596. package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
  597. package/templates/app/shell-frame.tsx +49 -0
  598. package/templates/app/ultramodern-route-head.tsx.handlebars +153 -0
  599. package/templates/packages/shared-contracts-index.ts +400 -0
  600. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +42 -0
  601. package/templates/workspace/apps/modern.config.ts.handlebars +187 -0
  602. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  603. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  604. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  605. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
  606. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
  607. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
  608. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
  609. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
  610. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  611. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  612. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  613. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  614. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  615. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  616. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
  617. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  618. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  619. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +779 -0
  620. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +9 -0
  621. package/templates/workspace-scripts/generate-node-backend-federation.mjs +383 -0
  622. package/templates/workspace-scripts/generate-public-surface-assets.mjs +766 -0
  623. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
  624. package/templates/workspace-scripts/proof-cloudflare-version.mjs +682 -0
  625. package/templates/workspace-scripts/proof-node-backend-federation.mjs +1281 -0
  626. package/templates/workspace-scripts/proof-workerd-ssr.mts +847 -0
  627. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +1116 -0
  628. package/templates/workspace-scripts/ultramodern-performance-readiness.config.mjs +7 -0
  629. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +412 -0
  630. package/templates/workspace-scripts/ultramodern-typecheck.mjs +159 -0
  631. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +4094 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021-present Modern.js
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,459 @@
1
+ <p align="center">
2
+ <a href="https://modernjs.dev" target="blank"><img src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png" width="300" alt="Modern.js Logo" /></a>
3
+ </p>
4
+
5
+ <h1 align="center">Modern.js</h1>
6
+
7
+ <p align="center">
8
+ A Progressive React Framework for modern web development.
9
+ </p>
10
+
11
+ ## UltraModern.js Create
12
+
13
+ The BleedingDev create package has one supported generated product: an UltraModern SuperApp workspace. New scaffolds use TanStack Router.
14
+
15
+ ```bash
16
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace
17
+ ```
18
+
19
+ The supported pnpm command contract is the scoped package specifier above:
20
+ `pnpm dlx @bleedingdev/modern-js-ultramodern-create <target>`. Do not shorten it
21
+ to `pnpm dlx modern-js-ultramodern-create`; there is no unscoped
22
+ `modern-js-ultramodern-create` npm package. Release proof runs this scoped form
23
+ from a temporary pnpm store/cache so it cannot pass because of a local link
24
+ cache.
25
+
26
+ To initialize the empty directory you are already in, pass `.` explicitly:
27
+
28
+ ```bash
29
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create .
30
+ ```
31
+
32
+ The workspace starts shell-only so the first commit has no fake business
33
+ domains to delete. It generates:
34
+
35
+ - `apps/shell-super-app` as the Module Federation host and topology owner.
36
+ - `verticals/*` empty until a real domain is added with `--vertical`.
37
+ - `packages/shared-*` placeholders for shared contracts, tokens, and Effect
38
+ API support.
39
+ - `.modernjs/ultramodern.json` as compact generator provenance, package-source
40
+ config, app topology, bridge, deploy, Module Federation, and tooling config.
41
+ - `topology/*` as app-owned topology, ownership, and local development overlay
42
+ JSON.
43
+
44
+ Validate the generated workspace before making application changes:
45
+
46
+ ```bash
47
+ cd my-workspace
48
+ mise install
49
+ pnpm install
50
+ pnpm check
51
+ pnpm build
52
+ ```
53
+
54
+ The generated toolchain pins Node `26.7.0`, pnpm `11.24.0`, and
55
+ `@types/node@^26.2.0`; its engine baseline remains Node `>=26` with pnpm `11+`.
56
+ `packageManager`, `.mise.toml`, generated validation, and CI should all agree
57
+ on those values; do not reintroduce Corepack or older pnpm aliases.
58
+
59
+ The current generated dependency cohort also pins `@effect/tsgo@0.37.0`,
60
+ `@tanstack/react-router@1.170.32`, `@tanstack/router-core@1.171.27`,
61
+ `@tanstack/history@1.162.1`, and the Module Federation integration `2.9.0`
62
+ cohort, `@module-federation/node@2.7.50`. Move these only through the
63
+ generator-owned version policy so templates, validation, and the published
64
+ workspace contract stay aligned.
65
+
66
+ ## TS-Go Compatibility Boundary
67
+
68
+ The supported generator runtime surfaces are:
69
+
70
+ - `@modern-js/ultramodern-create/ultramodern-workspace`
71
+ - `@modern-js/ultramodern-create/ultramodern-workspace/codesmith`
72
+ - The `@bleedingdev/modern-js-ultramodern-create` CLI that delegates to those APIs.
73
+
74
+ These surfaces are plain Node generator code. They must not import
75
+ `typescript` or TypeScript compiler internals at runtime. The package build is
76
+ the local validation command for this boundary:
77
+
78
+ ```bash
79
+ pnpm --filter @modern-js/ultramodern-create build
80
+ ```
81
+
82
+ That command lets Rslib emit runtime modules and declarations together through
83
+ the installed stable TypeScript 7 backend. The same declaration configuration
84
+ stays active during `rslib build --watch`. Run
85
+ `pnpm --filter @modern-js/ultramodern-create test` when changing generator behavior; it
86
+ includes a boundary test that scans generator sources, templates, and generated
87
+ workspace output for compiler API imports.
88
+
89
+ Generated app packages keep stable `typescript` on TS7 so Modern/Rspack and
90
+ `@effect/tsgo` use TS-Go by default. Generated app/package source must not
91
+ depend on compiler API internals. If a future AST utility is needed, keep it
92
+ behind a dedicated TypeScript adapter and test it against stable `typescript`.
93
+
94
+ Generated CI does not call the local aggregate. It runs format, lint,
95
+ typecheck, skills, i18n boundary validation, contract validation, and build as
96
+ separate matrix jobs so failures are isolated and parallelizable. Generated
97
+ lefthook config runs separate format and lint-fix commands on pre-commit, then
98
+ runs the read-only primitive gates in parallel on pre-push.
99
+
100
+ For local monorepo dependency testing, add `--workspace`:
101
+
102
+ ```bash
103
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --workspace
104
+ ```
105
+
106
+ For package-source validation outside the monorepo, pass explicit
107
+ `--ultramodern-package-*` options.
108
+
109
+ ## Automation And Public API
110
+
111
+ The supported runtime import is the public generator subpath. It exposes only
112
+ generator operations and stable result types; CLI argument parsing, prompts,
113
+ registry lookup, and process-exit flows stay private.
114
+
115
+ ```ts
116
+ import {
117
+ addUltramodernVertical,
118
+ generateUltramodernWorkspace,
119
+ planUltramodernVertical,
120
+ } from '@modern-js/ultramodern-create/ultramodern-workspace';
121
+
122
+ const workspace = generateUltramodernWorkspace({
123
+ targetDir: '/tmp/my-workspace',
124
+ packageName: 'my-workspace',
125
+ modernVersion: '3.4.0',
126
+ packageSource: {
127
+ strategy: 'install',
128
+ modernPackageVersion: '3.4.0',
129
+ },
130
+ });
131
+
132
+ const plan = planUltramodernVertical({
133
+ workspaceRoot: workspace.workspaceRoot,
134
+ name: 'new-vertical',
135
+ modernVersion: '3.4.0',
136
+ });
137
+
138
+ const vertical = addUltramodernVertical({
139
+ workspaceRoot: workspace.workspaceRoot,
140
+ name: 'new-vertical',
141
+ modernVersion: '3.4.0',
142
+ });
143
+ ```
144
+
145
+ Workspace generation returns `operation`, `workspaceRoot`, `packageScope`,
146
+ `packageSource`, `createdApps`, `createdPaths`, `rewrittenPaths`,
147
+ `assignedPorts`, `moduleFederationNames`, `apiPrefixes`,
148
+ `generatedContractPath`, and `warnings`. MicroVertical addition returns the
149
+ same shape for the new vertical and all rewritten integration surfaces.
150
+
151
+ Dry-run is available for MicroVertical addition only. The CLI prints the plan as
152
+ JSON and writes no files:
153
+
154
+ ```bash
155
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create new-vertical --vertical --dry-run
156
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=new-vertical --dry-run
157
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical-name new-vertical --dry-run
158
+ ```
159
+
160
+ The dry-run object adds `dryRun: true`, `selectedPort`,
161
+ `moduleFederationRemote`, `apiPrefix`, `jsonMutations`,
162
+ `shellDependencyChanges`, and `generatedContractChanges`. It still validates
163
+ the workspace before returning a plan.
164
+
165
+ Validation runs before the first filesystem write. Failures name the owning
166
+ contract so automation can stop safely:
167
+
168
+ | Failure area | Typical cause | Fix |
169
+ | --- | --- | --- |
170
+ | Fresh input | Invalid or missing vertical name | Use `<name> --vertical`, `--vertical=<name>`, or `--vertical-name <name>` |
171
+ | Existing topology | Duplicate app ID, package suffix, path, Module Federation name, port, API prefix, or manifest key | Choose a new vertical name or repair the existing topology/local overlay first |
172
+ | Workspace files | Missing or non-object compact UltraModern config, topology, ownership, or local overlay JSON | Restore the generated config files from source control or rerun from a valid workspace |
173
+ | Tailwind prefix | Existing app already owns the generated CSS prefix | Rename the vertical before generation |
174
+ | Output path | A generated path already exists | Treat it as an existing vertical and do not overwrite it |
175
+
176
+ Package source is explicit and recorded in `.modernjs/ultramodern.json`.
177
+
178
+ | Strategy | Use when | CLI |
179
+ | --- | --- | --- |
180
+ | `install` | Published BleedingDev package cohort or release proof | Default for the BleedingDev create package; optional `--ultramodern-package-version`, `--ultramodern-package-registry`, `--ultramodern-package-scope`, and `--ultramodern-package-name-prefix` |
181
+ | `workspace` | Local monorepo testing against unreleased packages | `--workspace` or `--ultramodern-package-source=workspace` |
182
+
183
+ ## Migrating Older Workspaces
184
+
185
+ Older generated repos should move by adopting one published BleedingDev cohort
186
+ at a time. Start with a dry-run vertical addition so validation reports
187
+ topology, ownership, package-source, overlay, Tailwind prefix, Module Federation,
188
+ and compact UltraModern config conflicts before files are written:
189
+
190
+ ```bash
191
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical --dry-run
192
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create@latest catalog --vertical
193
+ mise install
194
+ mise exec -- pnpm install
195
+ mise exec -- pnpm check
196
+ mise exec -- pnpm build
197
+ ```
198
+
199
+ For strict Effect API migrations, update generated package metadata and Modern
200
+ package aliases through the framework command before hand-editing app code:
201
+
202
+ ```bash
203
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create@3.5.0-ultramodern.10 ultramodern \
204
+ migrate-strict-effect --version 3.5.0-ultramodern.10
205
+ pnpm api:check
206
+ pnpm contract:check
207
+ pnpm check
208
+ pnpm build
209
+ ```
210
+
211
+ The command updates `.modernjs/ultramodern.json`, root `modernjs.packageSource`,
212
+ generated Modern package aliases, framework-owned toolchain pins, old direct
213
+ topology metadata, strict Effect pnpm overrides/trust policy, and the pnpm
214
+ lockfile. It does not invent compatibility shims or move business code behind
215
+ your back. If `pnpm api:check` still fails, migrate the source to
216
+ `shared/api.ts`, `api/index.ts`, and `src/api/*-client.ts` and delete
217
+ `api/effect`, `api/lambda`, `shared/effect`, and `src/effect` paths.
218
+
219
+ Generated strict Effect workspaces pin the compatible Effect cohort through
220
+ `pnpm-workspace.yaml` overrides: `effect@4.0.0-rc.112`,
221
+ `@effect/opentelemetry@4.0.0-rc.112`, and
222
+ `@effect/vitest@4.0.0-rc.112` (requiring `vitest >=4.1.0 <5`). The strict
223
+ 24-hour release-age gate applies to the installed cohort; the current policy carries no Effect age exemption, and
224
+ the override-only `@effect/vitest` entry is not an installed approval target.
225
+ Separately, exact
226
+ `trustPolicyExclude` entries for `effect` and `@effect/opentelemetry` cover the
227
+ trusted-publisher to provenance transition. Trust exclusions are not
228
+ release-age approvals. Do not override the cohort in app packages; update the
229
+ framework cohort when the runtime moves.
230
+
231
+ Use `--ultramodern-package-source=install` for published cohort proof and pin a
232
+ specific release with `--ultramodern-package-version` when CI must prove an
233
+ exact framework version. Keep `--workspace` only for local monorepo testing
234
+ against unpublished packages. After install, run the generated
235
+ `scripts/validate-ultramodern-workspace.mts` contract check and fix ownership
236
+ conflicts in the owning JSON/config files instead of editing generated metadata
237
+ by hand.
238
+
239
+ ## CodeSmith Adapter And Overlays
240
+
241
+ The CodeSmith adapter is exported from:
242
+
243
+ ```ts
244
+ import ultramodernCodeSmith from '@modern-js/ultramodern-create/ultramodern-workspace/codesmith';
245
+ ```
246
+
247
+ Non-interactive usage passes config directly:
248
+
249
+ ```ts
250
+ await ultramodernCodeSmith({
251
+ config: {
252
+ mode: 'workspace',
253
+ name: 'my-workspace',
254
+ targetDir: '/tmp/my-workspace',
255
+ modernVersion: '3.4.0',
256
+ packageSourceStrategy: 'install',
257
+ modernPackageVersion: '3.4.0',
258
+ },
259
+ });
260
+
261
+ await ultramodernCodeSmith({
262
+ config: {
263
+ mode: 'vertical',
264
+ name: 'new-vertical',
265
+ workspaceRoot: '/tmp/my-workspace',
266
+ dryRun: true,
267
+ logResult: true,
268
+ },
269
+ });
270
+ ```
271
+
272
+ The adapter prompts only when a required name is missing and a CodeSmith prompt
273
+ function is available. It returns the same public generation result or dry-run
274
+ plan as the direct API.
275
+
276
+ Overlays are explicit CodeSmith generators that run after base workspace or
277
+ MicroVertical generation:
278
+
279
+ ```bash
280
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create new-vertical --vertical \
281
+ --codesmith-overlay ./generators/vertical-overlay
282
+ ```
283
+
284
+ ```ts
285
+ addUltramodernVertical({
286
+ workspaceRoot: '/tmp/my-workspace',
287
+ name: 'new-vertical',
288
+ modernVersion: '3.4.0',
289
+ overlays: [
290
+ {
291
+ generator: './generators/vertical-overlay',
292
+ config: { owner: 'workspace' },
293
+ },
294
+ ],
295
+ });
296
+ ```
297
+
298
+ Overlay config receives `workspaceRoot`, `packageScope`, `operation`,
299
+ `generatedApp`, `generatedApps`, `assignedPort`, `assignedPorts`,
300
+ `moduleFederationName`, `moduleFederationNames`, `apiPrefix`,
301
+ `apiPrefixes`, `packageSource`, and `generationResult`. Overlays extend
302
+ the generated output after base generation; they do not replace, inherit, or
303
+ shadow the base templates. Overlay failures stop the command with an
304
+ `UltraModern CodeSmith overlay failed` error and do not report base generation
305
+ as fully successful.
306
+
307
+ ## Vertical Workspace Recipes
308
+
309
+ Use the workspace add flow from the UltraModern workspace root. It derives the
310
+ package path, package name, port, Module Federation name, topology entry, local
311
+ overlay, ownership entry, strict Effect HttpApi surface, and root `dev:*` script from the
312
+ requested vertical name.
313
+
314
+ ```bash
315
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical
316
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=catalog
317
+ pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical-name catalog
318
+ ```
319
+
320
+ Use this decision table before adding a vertical:
321
+
322
+ | Need | Keep inside current vertical | Create a new vertical |
323
+ | --- | --- | --- |
324
+ | Route or widget changes with the same product owner, release train, and fallback behavior | Yes | No |
325
+ | Route subtree needs independent rollout, rollback, or incident ownership | No | `--vertical` |
326
+ | UI and Effect BFF must version, deploy, and roll back together | No | `--vertical` |
327
+ | Design tokens, primitives, generated clients, or domain-neutral utilities | Yes | Use an ordinary workspace package, not a vertical |
328
+ | Feature composites or workflow state shared across verticals | No | Revisit ownership; do not hide it in shared code |
329
+
330
+ ## SuperApp Architecture Contracts
331
+
332
+ The generated shell owns route assembly and policy. Each vertical added with
333
+ `--vertical` owns its route subtree, Module Federation exposes, Effect BFF
334
+ contract, generated client, `localisedUrls`, locale JSON, CSS layer, and
335
+ Cloudflare Worker output. The shell consumes vertical UI through Module
336
+ Federation manifests and vertical APIs through generated Effect clients
337
+ exported by the vertical packages.
338
+
339
+ Route metadata is route-owned and colocated in
340
+ `src/routes/**/route.meta.ts`. The scaffold regenerates
341
+ `src/routes/ultramodern-route-metadata.ts` as a generated route manifest for
342
+ Modern.js config, i18n, public head, and public surface contracts; authors
343
+ should not hand-maintain it. Locale JSON is served from
344
+ `/locales/{{lng}}/{{ns}}.json`; Czech and English routes are generated from the
345
+ route owner, not from shell rewrites.
346
+
347
+ Routes default to `privateByDefault: true` and
348
+ `publicnessDefault: private-app-screen`. Public web artifacts are build/deploy
349
+ outputs generated by `scripts/generate-public-surface-assets.mjs` into
350
+ `dist/public` and `.output/public`, not source files under `config/public`.
351
+ Generated public files use only explicit `public && indexable` route metadata,
352
+ so private app screens publish only a disallowing `robots.txt` by default.
353
+ JSON-LD is not inferred from route titles, descriptions, localized paths, app
354
+ names, BFF APIs, or Module Federation metadata. To publish structured data,
355
+ author `jsonLd` explicitly in route metadata for a `public && indexable` route;
356
+ generated apps provide `src/routes/ultramodern-jsonld.ts` helpers for
357
+ `WebPage`, `WebApplication`, `SoftwareApplication`, `BreadcrumbList`,
358
+ `FAQPage`, and `Organization`, while raw JSON-LD remains possible for other
359
+ schema types.
360
+
361
+ Dynamic public routes can expand sitemap entries through route-owned,
362
+ Node-safe ESM providers, normally `route.sitemap.mjs` beside the route
363
+ metadata. The public-surface generator discovers those providers for dynamic
364
+ public routes and still honors explicit `routes.publicSurface.contentSources`
365
+ entries in the generated route manifest. Providers may export
366
+ `entries`, `entries()`, or a default entries/loader returning sitemap entries;
367
+ draft entries and `indexable: false` entries are omitted.
368
+
369
+ CSS federation is explicit:
370
+
371
+ - `packages/shared-design-tokens` exports `./tokens.css` and owns
372
+ `ultramodern-shared-tokens`.
373
+ - The shell owns shell base and overlay CSS only.
374
+ - Verticals own their vertical CSS layer and `[data-app-id="<vertical>"]`
375
+ root marker.
376
+ - Tailwind CSS v4 is configured per app through `@rsbuild/plugin-tailwindcss`.
377
+ - Duplicate base styles are forbidden; SSR first paint depends on shared token
378
+ CSS plus Modern/Rspack-emitted app CSS.
379
+
380
+ ## Public URL Environment Variables
381
+
382
+ Generated apps must not bake absolute `http://localhost:<port>` URLs into asset
383
+ configuration. Public URL and asset prefix environment variables have distinct
384
+ roles, and stale aliases should not be carried forward when regenerating or
385
+ updating workspaces.
386
+
387
+ | Variable | Role | Feeds |
388
+ | --- | --- | --- |
389
+ | `MODERN_PUBLIC_SITE_URL` | Canonical site origin for public SEO output only | Canonical, hreflang, sitemap `<loc>`, robots `Sitemap:` |
390
+ | `MODERN_ASSET_PREFIX` | Preferred JS/CSS/static asset prefix | Modern/Rspack-emitted asset URLs |
391
+ | `ULTRAMODERN_ASSET_PREFIX` | UltraModern asset prefix fallback | Modern/Rspack-emitted asset URLs when `MODERN_ASSET_PREFIX` is unset |
392
+ | `ULTRAMODERN_PUBLIC_URL_<APP_ID>` | Per-app deployment/proof URL | Cloudflare proof inputs and Module Federation remote URLs |
393
+
394
+ Shell asset URLs use this precedence: `MODERN_ASSET_PREFIX` →
395
+ `ULTRAMODERN_ASSET_PREFIX` → origin-relative `/`. Module Federation remotes use
396
+ the same env precedence, then fall back to their per-app public origin:
397
+ configured public URL, inferred workers.dev URL, or local dev port.
398
+ `MODERN_PUBLIC_SITE_URL` is canonical/SEO-only and must not be used as an
399
+ asset-prefix fallback.
400
+ SEO output uses `MODERN_PUBLIC_SITE_URL`; if it is unset, generated local and
401
+ preview outputs remain non-public until deployment proof provides explicit
402
+ public URLs.
403
+
404
+ Without public URLs configured, shell asset paths are origin-relative (`/`).
405
+ Remote dev manifests publish their own local origin so host shells load
406
+ `remoteEntry.js` and exposed chunks from the remote dev server. Shell-only
407
+ workspaces can set `MODERN_PUBLIC_SITE_URL` for SEO output without changing
408
+ where assets load from.
409
+
410
+ ## Cloudflare And Zephyr Proof
411
+
412
+ Each generated workspace app has:
413
+
414
+ - `cloudflare:build`, `cloudflare:deploy`, `cloudflare:preview`, and
415
+ `cloudflare:proof` scripts.
416
+ - Cloudflare Worker deploy config from Modern config plus
417
+ `.modernjs/ultramodern.json`.
418
+ - `zephyr:dependencies` for any consumed verticals.
419
+ - `zephyr-rspack-plugin` wired through the generated Modern.js Rspack bridge.
420
+
421
+ Deploy first, then pass each deployed app's generated public URL env key into
422
+ the proof step. The proof script reads the compact UltraModern config and checks the
423
+ Cloudflare Worker surface, including public-route sitemap/robots consistency,
424
+ preview noindex behavior, unknown-route status, asset headers, byte budgets,
425
+ and public sourcemap exposure. Shell-only workspaces only need the shell URL;
426
+ added verticals use the same `ULTRAMODERN_PUBLIC_URL_<APP_ID>` pattern with
427
+ hyphens converted to underscores and uppercased:
428
+
429
+ ```bash
430
+ pnpm cloudflare:deploy
431
+ ULTRAMODERN_PUBLIC_URL_SHELL_SUPER_APP=https://shell-super-app.example.workers.dev \
432
+ ULTRAMODERN_PUBLIC_URL_TRANSPORTATION=https://transportation.example.workers.dev \
433
+ pnpm cloudflare:proof --require-public-urls
434
+ ```
435
+
436
+ Without public URLs and credentials, use local primitive gates and `pnpm build`
437
+ evidence only; do not claim live Cloudflare or Zephyr selection has been
438
+ proven.
439
+
440
+ ## Troubleshooting
441
+
442
+ | Symptom | Current check | Owner |
443
+ | --- | --- | --- |
444
+ | Package cohort mismatch | Regenerate with one package source strategy, run `mise install`, then rerun `pnpm install` from the activated shell. | Generated workspace package source metadata |
445
+ | Install failure | Check the active Node/pnpm from `mise install`; rerun `pnpm install` after the shell sees the pinned versions. | Toolchain setup |
446
+ | Build failure | Run the matching primitive gate (`pnpm lint`, `pnpm typecheck`, `pnpm i18n:boundaries`, `pnpm contract:check`) before `pnpm build`; fix the owning failure first. | Owning package or generated contract |
447
+ | Missing public URL | Set the app public URL env key recorded in `.modernjs/ultramodern.json`, for example `ULTRAMODERN_PUBLIC_URL_SHELL_SUPER_APP`. | Deployment operator |
448
+ | Cloudflare credentials | Confirm Wrangler credentials before `pnpm cloudflare:deploy`; local checks do not prove live Worker access. | Deployment operator |
449
+ | Asset or CSS 404 | Rebuild with `pnpm build` or `pnpm cloudflare:deploy` and inspect emitted Modern/Rspack asset paths instead of hardcoding CSS URLs. | Framework/runtime asset pipeline |
450
+ | Federation manifest failure | Run the shell and vertical build scripts, then check each deployed `/mf-manifest.json` URL used by the shell. | Module Federation owner |
451
+
452
+ ## Modern.js Documentation
453
+
454
+ - [English Documentation](https://modernjs.dev/en/)
455
+ - [中文文档](https://modernjs.dev)
456
+
457
+ ## License
458
+
459
+ Modern.js is [MIT licensed](https://github.com/web-infra-dev/modern.js/blob/main/LICENSE).
package/bin/run.js ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'node:fs';
3
+ import { createRequire } from 'node:module';
4
+ import path from 'node:path';
5
+ import { fileURLToPath, pathToFileURL } from 'node:url';
6
+
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = path.dirname(__filename);
9
+ const require = createRequire(import.meta.url);
10
+
11
+ const pkgInfo = require(path.join(__dirname, '../package.json'));
12
+ const srcPath = './src/index.ts';
13
+ const distPath = pkgInfo.main;
14
+ const project = path.join(__dirname, '../tsconfig.json');
15
+
16
+ let env = 'production';
17
+ if (fs.existsSync(project)) {
18
+ env = 'development';
19
+ }
20
+ if (process.env.CODESMITH_ENV) {
21
+ env = process.env.CODESMITH_ENV;
22
+ }
23
+
24
+ const entry = path.join(
25
+ __dirname,
26
+ `../${env === 'development' ? srcPath : distPath}`,
27
+ );
28
+
29
+ if (env === 'development') {
30
+ try {
31
+ // 从当前包的 node_modules 中解析 tsx/esm/api
32
+ // 使用 require.resolve 来找到 tsx 包的位置
33
+ const packageRoot = path.join(__dirname, '..');
34
+ let tsxApiPath = 'tsx/esm/api';
35
+
36
+ try {
37
+ // 尝试解析 tsx 包的 package.json
38
+ const tsxPackageJson = require.resolve('tsx/package.json', {
39
+ paths: [packageRoot],
40
+ });
41
+ const tsxPackageDir = path.dirname(tsxPackageJson);
42
+ // 根据 tsx 的 exports 配置,esm/api 指向 dist/esm/api/index.mjs
43
+ const tsxApiFile = path.join(
44
+ tsxPackageDir,
45
+ 'dist',
46
+ 'esm',
47
+ 'api',
48
+ 'index.mjs',
49
+ );
50
+ if (fs.existsSync(tsxApiFile)) {
51
+ tsxApiPath = pathToFileURL(tsxApiFile).href;
52
+ }
53
+ } catch {
54
+ // 如果解析失败,使用默认的模块名(Node.js 会从工作区的 node_modules 中查找)
55
+ }
56
+
57
+ const { register } = await import(tsxApiPath);
58
+ register({
59
+ tsconfig: project,
60
+ });
61
+ await import(pathToFileURL(entry).href);
62
+ } catch (error) {
63
+ console.error('Error: Cannot load TypeScript file in development mode.');
64
+ console.error('Please install tsx: pnpm add -D tsx');
65
+ console.error('Or build the project: pnpm build');
66
+ console.error(error);
67
+ process.exit(1);
68
+ }
69
+ } else {
70
+ import(pathToFileURL(entry).href).catch(e => {
71
+ console.error(e);
72
+ process.exit(1);
73
+ });
74
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ applyAgentFiles: ()=>applyAgentFiles
41
+ });
42
+ const external_node_fs_namespaceObject = require("node:fs");
43
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
44
+ const external_node_path_namespaceObject = require("node:path");
45
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
46
+ const CLAUDE_IMPORT = '@AGENTS.md';
47
+ const markers = (name)=>({
48
+ begin: `<!-- BEGIN:${name} -->`,
49
+ end: `<!-- END:${name} -->`
50
+ });
51
+ function applyAgentsMd(targetDir, block, markerName) {
52
+ const { begin, end } = markers(markerName);
53
+ const file = external_node_path_default().join(targetDir, 'AGENTS.md');
54
+ if (!external_node_fs_default().existsSync(file)) {
55
+ external_node_fs_default().writeFileSync(file, `${block}\n`, 'utf-8');
56
+ return 'created';
57
+ }
58
+ const content = external_node_fs_default().readFileSync(file, 'utf-8');
59
+ const from = content.indexOf(begin);
60
+ const to = content.indexOf(end);
61
+ if (-1 !== from && -1 !== to && to > from) {
62
+ const next = content.slice(0, from) + block + content.slice(to + end.length);
63
+ if (next === content) return 'unchanged';
64
+ external_node_fs_default().writeFileSync(file, next, 'utf-8');
65
+ return 'updated';
66
+ }
67
+ const rest = content.replace(/^\s*/, '');
68
+ external_node_fs_default().writeFileSync(file, rest ? `${block}\n\n${rest}` : `${block}\n`, 'utf-8');
69
+ return 'added';
70
+ }
71
+ function applyClaudeMd(targetDir) {
72
+ const file = external_node_path_default().join(targetDir, 'CLAUDE.md');
73
+ if (!external_node_fs_default().existsSync(file)) {
74
+ external_node_fs_default().writeFileSync(file, `${CLAUDE_IMPORT}\n`, 'utf-8');
75
+ return 'created';
76
+ }
77
+ const content = external_node_fs_default().readFileSync(file, 'utf-8');
78
+ if (content.split('\n').some((line)=>line.trim() === CLAUDE_IMPORT)) return 'unchanged';
79
+ external_node_fs_default().writeFileSync(file, `${CLAUDE_IMPORT}\n\n${content.replace(/^\s*/, '')}`, 'utf-8');
80
+ return 'linked';
81
+ }
82
+ function applyAgentFiles(options) {
83
+ const { targetDir, block, markerName } = options;
84
+ if (!external_node_fs_default().existsSync(targetDir)) throw new Error(`target directory does not exist: ${targetDir}`);
85
+ return {
86
+ agents: applyAgentsMd(targetDir, block, markerName),
87
+ claude: applyClaudeMd(targetDir)
88
+ };
89
+ }
90
+ exports.applyAgentFiles = __webpack_exports__.applyAgentFiles;
91
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
92
+ "applyAgentFiles"
93
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
94
+ Object.defineProperty(exports, '__esModule', {
95
+ value: true
96
+ });