@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
@@ -0,0 +1,79 @@
1
+ import node_fs from "node:fs";
2
+ import node_path from "node:path";
3
+ const PKG = '@modern-js/app-tools';
4
+ const DOCS_PATH = 'node_modules/@modern-js/app-tools/docs/';
5
+ const BUNDLED_SINCE = '3.8.0';
6
+ function resolveVersion(cwd) {
7
+ const installed = node_path.join(cwd, 'node_modules', PKG, 'package.json');
8
+ if (node_fs.existsSync(installed)) try {
9
+ const { version } = JSON.parse(node_fs.readFileSync(installed, 'utf-8'));
10
+ if ('string' == typeof version) return version;
11
+ } catch {}
12
+ try {
13
+ const pkg = JSON.parse(node_fs.readFileSync(node_path.join(cwd, 'package.json'), 'utf-8'));
14
+ const deps = {
15
+ ...pkg.dependencies,
16
+ ...pkg.devDependencies
17
+ };
18
+ return deps[PKG] ?? null;
19
+ } catch {
20
+ return null;
21
+ }
22
+ }
23
+ function parseSemver(version) {
24
+ const match = version.match(/(\d+)\.(\d+)\.(\d+)/);
25
+ return match ? [
26
+ Number(match[1]),
27
+ Number(match[2]),
28
+ Number(match[3])
29
+ ] : null;
30
+ }
31
+ function isAtLeast(version, min) {
32
+ const floor = parseSemver(min);
33
+ if (!floor) return false;
34
+ for(let i = 0; i < 3; i++)if (version[i] !== floor[i]) return version[i] > floor[i];
35
+ return true;
36
+ }
37
+ function supportsBundledDocs(version) {
38
+ if (!version) return false;
39
+ if (/^workspace:|-canary[.-]|-alpha[.-]|-beta[.-]/.test(version)) return true;
40
+ const semver = parseSemver(version);
41
+ return semver ? isAtLeast(semver, BUNDLED_SINCE) : false;
42
+ }
43
+ function isModernProject(cwd) {
44
+ try {
45
+ const pkg = JSON.parse(node_fs.readFileSync(node_path.join(cwd, 'package.json'), 'utf-8'));
46
+ const deps = {
47
+ ...pkg.dependencies,
48
+ ...pkg.devDependencies
49
+ };
50
+ return Object.keys(deps).some((name)=>name.startsWith('@modern-js/'));
51
+ } catch {
52
+ return false;
53
+ }
54
+ }
55
+ function buildBlock(markerName) {
56
+ return [
57
+ `<!-- BEGIN:${markerName} -->`,
58
+ '',
59
+ '# Modern.js: read the docs before you code',
60
+ '',
61
+ `> Documentation: **\`${DOCS_PATH}\`**`,
62
+ `> Index: \`${DOCS_PATH}llms.txt\` — start here when unsure which page to open`,
63
+ '',
64
+ 'These docs ship inside the package, so they match the Modern.js',
65
+ 'version this project installed exactly. Your training data is likely',
66
+ 'outdated — **treat them as the source of truth**, and do not answer',
67
+ 'from memory on Modern.js configuration, APIs or directory conventions.',
68
+ '',
69
+ '**🟢 Read the docs before you touch anything, except for:**',
70
+ '',
71
+ '- Writing ordinary React components (not route components)',
72
+ '- Editing CSS or style files',
73
+ '- Adding utility functions or business logic',
74
+ '- Installing ordinary npm packages (unrelated to Modern.js)',
75
+ '',
76
+ `<!-- END:${markerName} -->`
77
+ ].join('\n');
78
+ }
79
+ export { BUNDLED_SINCE, DOCS_PATH, buildBlock, isModernProject, resolveVersion, supportsBundledDocs };
@@ -0,0 +1,133 @@
1
+ import node_fs from "node:fs";
2
+ import node_path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { runAgentsMd } from "./agents-md.js";
5
+ import { DRY_RUN_FLAG, VERTICAL_FLAG, detectApiProtocolFlag, detectBffRuntime, detectCodeSmithOverlays, detectDryRunFlag, detectExplicitTailwindFlag, detectHorizontalRemoteFlag, detectLanguage, detectPresetFlag, detectTailwindFlag, readBridgeCliOptions, resolveVerticalCliInput } from "./cli/flags.js";
6
+ import { showHelp, showVersion } from "./cli/help.js";
7
+ import { detectUltramodernPackageSource, getBleedingDevFrameworkVersion, isBleedingDevCreatePackage, readCreatePackageJson, resolveWorkspacePackageSource } from "./cli/package-source.js";
8
+ import { initializeGeneratedGitRepository } from "./cli/project-setup.js";
9
+ import { getProjectName } from "./cli/prompts.js";
10
+ import { i18n, localeKeys } from "./locale/index.js";
11
+ import { runUltramodernToolingCli } from "./ultramodern-tooling/commands.js";
12
+ import { addUltramodernVertical, generateUltramodernWorkspace, planUltramodernVertical } from "./ultramodern-workspace/index.js";
13
+ import { hasUltramodernBridgeCliOptions } from "./ultramodern-workspace/bridge-config.js";
14
+ const src_dirname = node_path.dirname(fileURLToPath(import.meta.url));
15
+ const templateDir = [
16
+ node_path.resolve(src_dirname, '../template-workspace'),
17
+ node_path.resolve(src_dirname, '../../template-workspace')
18
+ ].find((candidate)=>node_fs.existsSync(candidate));
19
+ if (!templateDir) throw new Error('Unable to locate the UltraModern workspace templates');
20
+ const availableTemplateDir = templateDir;
21
+ i18n.changeLanguage({
22
+ locale: detectLanguage()
23
+ });
24
+ async function main() {
25
+ const args = process.argv.slice(2);
26
+ if ('ultramodern' === args[0]) {
27
+ process.exitCode = await runUltramodernToolingCli(args.slice(1));
28
+ return;
29
+ }
30
+ if (args.includes('--help') || args.includes('-h')) return void showHelp();
31
+ if (args.includes('--version') || args.includes('-v')) return void showVersion();
32
+ if (args.includes('--agents-md-only')) {
33
+ const valueFlags = [
34
+ '--lang',
35
+ '-l'
36
+ ];
37
+ const hasProjectName = args.some((arg, index)=>!arg.startsWith('-') && !valueFlags.includes(args[index - 1]));
38
+ if (hasProjectName || args.includes('--no-agents-md')) {
39
+ console.error(i18n.t(localeKeys.error.agentsMdOnlyConflict));
40
+ process.exit(1);
41
+ }
42
+ runAgentsMd(availableTemplateDir, process.cwd());
43
+ return;
44
+ }
45
+ detectBffRuntime(args);
46
+ const dryRun = detectDryRunFlag(args);
47
+ const verticalInput = resolveVerticalCliInput(args);
48
+ const overlays = detectCodeSmithOverlays(args);
49
+ const bridgeRequested = hasUltramodernBridgeCliOptions(args);
50
+ if (dryRun && !verticalInput.addVertical) {
51
+ console.error(`${DRY_RUN_FLAG} is currently supported only with ${VERTICAL_FLAG}`);
52
+ process.exit(1);
53
+ }
54
+ if (verticalInput.addVertical && bridgeRequested) {
55
+ console.error('Bridge options are supported only when creating a new UltraModern workspace.');
56
+ process.exit(1);
57
+ }
58
+ const bridge = readBridgeCliOptions(args);
59
+ if (!dryRun) console.log(`\n${i18n.t(localeKeys.message.welcome)}\n`);
60
+ const createPackage = readCreatePackageJson();
61
+ const version = createPackage.version || 'latest';
62
+ const ultramodernPackageVersion = isBleedingDevCreatePackage(createPackage) ? getBleedingDevFrameworkVersion(createPackage, version) : version;
63
+ if (verticalInput.addVertical) {
64
+ const overridePackageSource = args.some((arg)=>arg.startsWith('--ultramodern-package-')) ? detectUltramodernPackageSource(args, ultramodernPackageVersion, createPackage) : void 0;
65
+ const preset = detectPresetFlag(args);
66
+ const apiProtocol = detectApiProtocolFlag(args);
67
+ const horizontalRemote = detectHorizontalRemoteFlag(args);
68
+ const verticalOptions = {
69
+ workspaceRoot: process.cwd(),
70
+ name: verticalInput.name,
71
+ modernVersion: version,
72
+ enableTailwind: detectExplicitTailwindFlag(),
73
+ overlays,
74
+ packageSource: overridePackageSource,
75
+ ...preset ? {
76
+ preset
77
+ } : {},
78
+ ...apiProtocol ? {
79
+ apiProtocol
80
+ } : {},
81
+ ...horizontalRemote ? {
82
+ horizontalRemote: true
83
+ } : {}
84
+ };
85
+ if (dryRun) return void console.log(JSON.stringify(planUltramodernVertical(verticalOptions), null, 2));
86
+ addUltramodernVertical(verticalOptions);
87
+ const dim = '\x1b[2m\x1b[3m';
88
+ const reset = '\x1b[0m';
89
+ console.log(`${i18n.t(localeKeys.message.success)}\n`);
90
+ console.log(`${dim} pnpm check${reset}\n`);
91
+ return;
92
+ }
93
+ const { name: projectName, useCurrentDir } = await getProjectName();
94
+ const targetDir = useCurrentDir ? process.cwd() : node_path.isAbsolute(projectName) ? projectName : node_path.resolve(process.cwd(), projectName);
95
+ const generatedPackageName = useCurrentDir || node_path.isAbsolute(projectName) ? node_path.basename(targetDir) : projectName;
96
+ if (node_fs.existsSync(targetDir)) {
97
+ const files = node_fs.readdirSync(targetDir);
98
+ if (files.length > 0) {
99
+ console.error(i18n.t(localeKeys.error.directoryExists, {
100
+ projectName
101
+ }));
102
+ process.exit(1);
103
+ }
104
+ }
105
+ const packageSource = resolveWorkspacePackageSource(args, createPackage, detectUltramodernPackageSource(args, ultramodernPackageVersion, createPackage));
106
+ const generateAgentFiles = !args.includes('--no-agents-md');
107
+ generateUltramodernWorkspace({
108
+ targetDir,
109
+ packageName: generatedPackageName,
110
+ modernVersion: version,
111
+ enableTailwind: detectTailwindFlag(),
112
+ bridge,
113
+ overlays,
114
+ packageSource,
115
+ generateAgentFiles
116
+ });
117
+ initializeGeneratedGitRepository(targetDir);
118
+ const dim = '\x1b[2m\x1b[3m';
119
+ const reset = '\x1b[0m';
120
+ console.log(`${i18n.t(localeKeys.message.success)}\n`);
121
+ if (generateAgentFiles) console.log(`${i18n.t(localeKeys.message.agentsMd)}\n`);
122
+ console.log(i18n.t(localeKeys.message.nextSteps));
123
+ if (!useCurrentDir) console.log(`${dim} ${i18n.t(localeKeys.message.step1, {
124
+ projectName
125
+ })}${reset}`);
126
+ console.log(`${dim} ${i18n.t(localeKeys.message.step2)}${reset}`);
127
+ console.log(`${dim} pnpm check${reset}`);
128
+ console.log(`${dim} ${i18n.t(localeKeys.message.step3)}${reset}\n`);
129
+ }
130
+ main().catch((error)=>{
131
+ console.error(i18n.t(localeKeys.error.createFailed), error);
132
+ process.exit(1);
133
+ });
@@ -0,0 +1,88 @@
1
+ const EN_LOCALE = {
2
+ prompt: {
3
+ projectName: 'Please enter project name: '
4
+ },
5
+ error: {
6
+ projectNameEmpty: 'Error: Project name cannot be empty',
7
+ directoryExists: 'Error: Directory "{projectName}" already exists and is not empty',
8
+ verticalNameMissing: 'Error: Missing MicroVertical name. Use <name> --vertical, --vertical=<name>, or --vertical-name <name>.',
9
+ verticalNameAmbiguous: 'Error: Ambiguous MicroVertical name: "{firstName}" from {firstSource} does not match "{secondName}" from {secondSource}.',
10
+ createFailed: 'Error creating project:',
11
+ agentsMdOnlyConflict: 'Error: --agents-md-only only updates the current project and cannot be combined with a project name or --no-agents-md'
12
+ },
13
+ message: {
14
+ welcome: '🚀 Welcome to UltraModern.js',
15
+ success: '✨ Created successfully!',
16
+ agentsMd: '✔ AGENTS.md & CLAUDE.md generated — AI coding agents will pick them up automatically. (--no-agents-md to skip)',
17
+ nextSteps: '📋 Next steps:',
18
+ step1: 'cd {projectName}',
19
+ step2: 'pnpm install',
20
+ step3: 'pnpm dev'
21
+ },
22
+ agentsCmd: {
23
+ created: '✔ Created {file}',
24
+ updatedBlock: '✔ Updated the modernjs-agent-rules block in {file}',
25
+ addedBlock: '✔ Added the modernjs-agent-rules block to the top of {file}',
26
+ linked: '✔ Added the `@AGENTS.md` import to {file}',
27
+ unchanged: '• {file} is already up to date',
28
+ done: '✨ Done — AI coding agents will read {location}.',
29
+ targetNotFound: 'Error: target directory "{dir}" does not exist',
30
+ notAProject: 'Error: not a Modern.js project — run this in a project root',
31
+ unsupportedVersion: '• @modern-js/app-tools@{version} does not ship bundled docs; nothing was changed. Add https://modernjs.dev/llms.txt to AGENTS.md so AI tools can reach the framework docs, or upgrade to {since} or later and re-run this command'
32
+ },
33
+ help: {
34
+ title: '🚀 UltraModern.js Project Creator',
35
+ description: 'Create a new UltraModern.js SuperApp workspace with the full quality baseline by default',
36
+ usage: '📖 Usage:',
37
+ usageExample: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create [project-name] [options]',
38
+ options: '⚙️ Options:',
39
+ optionHelp: ' -h, --help Display this help message',
40
+ optionVersion: ' -v, --version Display version information',
41
+ optionLang: ' -l, --lang Set the language (en default; zh opt-in)',
42
+ optionNoAgentsMd: ' --no-agents-md Skip generating AGENTS.md / CLAUDE.md for AI coding agents',
43
+ optionAgentsMdOnly: ' --agents-md-only Only add/refresh AGENTS.md / CLAUDE.md in the current project (no scaffolding)',
44
+ optionTailwind: ' --no-tailwind Disable default Tailwind CSS v4 workspace styling',
45
+ optionBff: ' --bff Keep the default strict Effect API runtime (every MicroVertical ships one)',
46
+ optionBffRuntime: ' --bff-runtime Select the BFF runtime for scaffolded MicroVerticals (supported: effect; default: effect)',
47
+ optionWorkspace: ' --workspace Use workspace protocol for @modern-js dependencies (for local monorepo testing)',
48
+ optionUltramodernPackageSource: ' --ultramodern-package-source Select UltraModern package source (workspace or install; BleedingDev defaults to install aliases)',
49
+ optionUltramodernPackageVersion: ' --ultramodern-package-version Pin the exact BleedingDev framework cohort for install package sources',
50
+ optionUltramodernPackageRegistry: ' --ultramodern-package-registry npm registry URL used for install package sources',
51
+ optionUltramodernPackageScope: ' --ultramodern-package-scope Publish scope for npm alias installs (for example bleedingdev)',
52
+ optionUltramodernPackageNamePrefix: ' --ultramodern-package-name-prefix Prefix for npm alias package names (default: modern-js-)',
53
+ optionBridge: ' --bridge Enable explicit nested parent-monorepo bridge mode for new workspaces',
54
+ optionBridgeParentRoot: ' --bridge-parent-root <path> Parent monorepo root for bridge mode',
55
+ optionBridgeWorkspacePackage: ' --bridge-workspace-package <glob> Parent workspace package glob consumed by generated apps',
56
+ optionBridgeWorkspacePackageName: ' --bridge-workspace-package-name <glob=package[,package]> Package names covered by a bridge workspace glob',
57
+ optionBridgeTestAlias: ' --bridge-test-alias <glob:alias=target> Test/source alias for a bridge workspace package glob',
58
+ optionBridgeDependency: ' --bridge-dependency <package[,package]> Explicit parent package dependency consumed by generated apps',
59
+ optionBridgeLockfilePolicy: ' --bridge-lockfile-policy <nested|parent> Bridge lockfile ownership policy (default: nested)',
60
+ optionBridgeGate: ' --bridge-gate <name=command> Delegated parent workspace gate command for bridge packages',
61
+ optionBridgeGateCwd: ' --bridge-gate-cwd <name=cwd> Working directory for a named bridge gate',
62
+ optionBridgeReactSingleton: ' --bridge-react-singleton <package[,package]> React singleton package expectation (default: react,react-dom,react-dom/client)',
63
+ optionVertical: ' --vertical[=<name>] Mutate the current existing UltraModern workspace and wire a MicroVertical',
64
+ optionVerticalName: ' --vertical-name <name> Explicit MicroVertical name for automation-friendly workspace mutation',
65
+ optionDryRun: ' --dry-run Preview a MicroVertical mutation plan without writing files (supported with --vertical)',
66
+ optionCodeSmithOverlay: ' --codesmith-overlay <package-or-path> Run an explicit CodeSmith overlay after generation',
67
+ optionPreset: ' --preset=<full-stack|api-only|ui-only> Restrict a MicroVertical to API-only or UI-only surfaces (default full-stack)',
68
+ optionApiProtocol: ' --api-protocol=<rest|rpc> Select the MicroVertical API protocol (default rest)',
69
+ optionHorizontalRemote: ' --horizontal-remote Generate a components-only Horizontal Remote delivery unit',
70
+ examples: '💡 Examples:',
71
+ example1: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace',
72
+ example2: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --lang zh',
73
+ example3: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --no-tailwind',
74
+ example4: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --help',
75
+ example5: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create .',
76
+ example6: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --workspace',
77
+ example7: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical',
78
+ example8: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=catalog',
79
+ example9: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical --dry-run',
80
+ example10: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical --codesmith-overlay ./overlay-generator',
81
+ example11: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --agents-md-only',
82
+ moreInfo: '📚 Learn more: https://modernjs.dev'
83
+ },
84
+ version: {
85
+ message: '{name} version: {version}'
86
+ }
87
+ };
88
+ export { EN_LOCALE };
@@ -0,0 +1,9 @@
1
+ import { I18n } from "@modern-js/i18n-utils";
2
+ import { EN_LOCALE } from "./en.js";
3
+ import { ZH_LOCALE } from "./zh.js";
4
+ const i18n = new I18n();
5
+ const localeKeys = i18n.init('en', {
6
+ zh: ZH_LOCALE,
7
+ en: EN_LOCALE
8
+ });
9
+ export { i18n, localeKeys };
@@ -0,0 +1,88 @@
1
+ const ZH_LOCALE = {
2
+ prompt: {
3
+ projectName: '请输入项目名称: '
4
+ },
5
+ error: {
6
+ projectNameEmpty: '错误: 项目名称不能为空',
7
+ directoryExists: '错误: 目录 "{projectName}" 已存在且不为空',
8
+ verticalNameMissing: '错误: 缺少 MicroVertical 名称。请使用 <名称> --vertical、--vertical=<名称> 或 --vertical-name <名称>。',
9
+ verticalNameAmbiguous: '错误: MicroVertical 名称不明确:{firstSource} 的 "{firstName}" 与 {secondSource} 的 "{secondName}" 不一致。',
10
+ createFailed: '创建项目时出错:',
11
+ agentsMdOnlyConflict: '错误: --agents-md-only 只更新当前项目,不能与项目名或 --no-agents-md 同时使用'
12
+ },
13
+ message: {
14
+ welcome: '🚀 欢迎使用 UltraModern.js',
15
+ success: '✨ 创建成功!',
16
+ agentsMd: '✔ 已生成 AGENTS.md 和 CLAUDE.md —— AI 编码助手会自动读取。(--no-agents-md 可跳过)',
17
+ nextSteps: '📋 下一步:',
18
+ step1: 'cd {projectName}',
19
+ step2: 'pnpm install',
20
+ step3: 'pnpm dev'
21
+ },
22
+ agentsCmd: {
23
+ created: '✔ 已创建 {file}',
24
+ updatedBlock: '✔ 已更新 {file} 中的 modernjs-agent-rules 块',
25
+ addedBlock: '✔ 已在 {file} 顶部添加 modernjs-agent-rules 块',
26
+ linked: '✔ 已向 {file} 添加 `@AGENTS.md` 引用',
27
+ unchanged: '• {file} 已是最新',
28
+ done: '✨ 完成 —— AI 编码助手会读取 {location}。',
29
+ targetNotFound: '错误: 目标目录 "{dir}" 不存在',
30
+ notAProject: '错误: 当前目录不是 Modern.js 项目,请在项目根目录运行',
31
+ unsupportedVersion: '• 当前 @modern-js/app-tools@{version} 不支持随包文档,未修改任何文件。可在 AGENTS.md 中补充 https://modernjs.dev/llms.txt 供 AI 工具获取框架知识,或升级到 {since} 及以上后重新执行本命令'
32
+ },
33
+ help: {
34
+ title: '🚀 UltraModern.js 项目创建工具',
35
+ description: '默认创建带完整质量基线的 UltraModern.js SuperApp 工作区',
36
+ usage: '📖 用法:',
37
+ usageExample: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create [项目名称] [选项]',
38
+ options: '⚙️ 选项:',
39
+ optionHelp: ' -h, --help 显示帮助信息',
40
+ optionVersion: ' -v, --version 显示版本信息',
41
+ optionLang: ' -l, --lang 设置语言 (默认 en;zh 需显式选择)',
42
+ optionNoAgentsMd: ' --no-agents-md 跳过生成 AGENTS.md / CLAUDE.md(AI 编码助手指引文件)',
43
+ optionAgentsMdOnly: ' --agents-md-only 仅为当前项目补齐/更新 AGENTS.md / CLAUDE.md(不创建项目)',
44
+ optionTailwind: ' --no-tailwind 禁用默认 Tailwind CSS v4 工作区样式',
45
+ optionBff: ' --bff 保留默认的严格 Effect API 运行时(每个 MicroVertical 自带一个)',
46
+ optionBffRuntime: ' --bff-runtime 选择 MicroVertical 脚手架的 BFF 运行时(支持: effect;默认: effect)',
47
+ optionWorkspace: ' --workspace 对 @modern-js 依赖使用 workspace 协议(用于本地 monorepo 联调)',
48
+ optionUltramodernPackageSource: ' --ultramodern-package-source 选择 UltraModern 依赖来源(workspace 或 install;BleedingDev 默认使用 install alias)',
49
+ optionUltramodernPackageVersion: ' --ultramodern-package-version 为 install 依赖来源固定精确的 BleedingDev 框架版本',
50
+ optionUltramodernPackageRegistry: ' --ultramodern-package-registry install 依赖来源使用的 npm registry 地址',
51
+ optionUltramodernPackageScope: ' --ultramodern-package-scope npm alias 安装使用的发布 scope(例如 bleedingdev)',
52
+ optionUltramodernPackageNamePrefix: ' --ultramodern-package-name-prefix npm alias 包名前缀(默认:modern-js-)',
53
+ optionBridge: ' --bridge 为新工作区启用显式的嵌套父 monorepo 桥接模式',
54
+ optionBridgeParentRoot: ' --bridge-parent-root <路径> 桥接模式使用的父 monorepo 根目录',
55
+ optionBridgeWorkspacePackage: ' --bridge-workspace-package <glob> 生成应用消费的父工作区包 glob',
56
+ optionBridgeWorkspacePackageName: ' --bridge-workspace-package-name <glob=包名[,包名]> 桥接工作区 glob 覆盖的包名',
57
+ optionBridgeTestAlias: ' --bridge-test-alias <glob:别名=目标> 桥接工作区包 glob 的测试/源码 alias',
58
+ optionBridgeDependency: ' --bridge-dependency <包名[,包名]> 生成应用显式消费的父包依赖',
59
+ optionBridgeLockfilePolicy: ' --bridge-lockfile-policy <nested|parent> 桥接 lockfile 归属策略(默认:nested)',
60
+ optionBridgeGate: ' --bridge-gate <名称=命令> 桥接包委托给父工作区执行的 gate 命令',
61
+ optionBridgeGateCwd: ' --bridge-gate-cwd <名称=目录> 指定桥接 gate 的工作目录',
62
+ optionBridgeReactSingleton: ' --bridge-react-singleton <包名[,包名]> React 单例包预期(默认:react,react-dom,react-dom/client)',
63
+ optionVertical: ' --vertical[=<名称>] 修改当前已有的 UltraModern 工作区,并接入 MicroVertical',
64
+ optionVerticalName: ' --vertical-name <名称> 为自动化工作流显式指定 MicroVertical 名称',
65
+ optionDryRun: ' --dry-run 预览 MicroVertical 修改计划但不写入文件(与 --vertical 一起使用)',
66
+ optionCodeSmithOverlay: ' --codesmith-overlay <包或路径> 生成完成后运行显式配置的 CodeSmith overlay',
67
+ optionPreset: ' --preset=<full-stack|api-only|ui-only> 将 MicroVertical 限定为仅 API 或仅 UI 表面(默认 full-stack)',
68
+ optionApiProtocol: ' --api-protocol=<rest|rpc> 选择 MicroVertical API 协议(默认 rest)',
69
+ optionHorizontalRemote: ' --horizontal-remote 生成仅包含组件的 Horizontal Remote 交付单元',
70
+ examples: '💡 示例:',
71
+ example1: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace',
72
+ example2: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --lang zh',
73
+ example3: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --no-tailwind',
74
+ example4: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --help',
75
+ example5: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create .',
76
+ example6: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create my-workspace --workspace',
77
+ example7: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical',
78
+ example8: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --vertical=catalog',
79
+ example9: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical --dry-run',
80
+ example10: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create catalog --vertical --codesmith-overlay ./overlay-generator',
81
+ example11: ' pnpm dlx @bleedingdev/modern-js-ultramodern-create --agents-md-only',
82
+ moreInfo: '📚 更多信息: https://modernjs.dev'
83
+ },
84
+ version: {
85
+ message: '{name} 版本: {version}'
86
+ }
87
+ };
88
+ export { ZH_LOCALE };
@@ -0,0 +1,43 @@
1
+ const WORKSPACE_PACKAGE_VERSION = 'workspace:*';
2
+ const ULTRAMODERN_CREATE_PACKAGE = '@modern-js/ultramodern-create';
3
+ const BLEEDINGDEV_CREATE_PACKAGE = '@bleedingdev/modern-js-ultramodern-create';
4
+ const LEGACY_BLEEDINGDEV_CREATE_PACKAGE = '@bleedingdev/modern-js-create';
5
+ const BLEEDINGDEV_PACKAGE_SCOPE = 'bleedingdev';
6
+ const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
7
+ const ULTRAMODERN_FRAMEWORK_VERSION_ENV = 'ULTRAMODERN_CREATE_FRAMEWORK_VERSION';
8
+ const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
9
+ const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
10
+ ULTRAMODERN_CREATE_PACKAGE,
11
+ '@modern-js/code-tools',
12
+ '@modern-js/runtime',
13
+ '@modern-js/app-tools',
14
+ '@modern-js/tsconfig',
15
+ '@modern-js/plugin-i18n',
16
+ '@modern-js/plugin-tanstack',
17
+ '@modern-js/plugin-bff',
18
+ '@modern-js/adapter-rstest'
19
+ ];
20
+ const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
21
+ ULTRAMODERN_CREATE_PACKAGE,
22
+ '@modern-js/code-tools',
23
+ '@modern-js/app-tools',
24
+ '@modern-js/plugin-bff',
25
+ '@modern-js/plugin-i18n',
26
+ '@modern-js/plugin-tanstack',
27
+ '@modern-js/runtime'
28
+ ];
29
+ function modernPackageVersion(packageSource) {
30
+ return 'install' === packageSource.strategy ? packageSource.modernPackageVersion : WORKSPACE_PACKAGE_VERSION;
31
+ }
32
+ function modernAliasPackageName(packageName, packageSource) {
33
+ if (!packageSource.aliasScope) return packageName;
34
+ const scope = packageSource.aliasScope.replace(/^@/, '');
35
+ const unscopedName = packageName.split('/').at(-1);
36
+ return `@${scope}/${packageSource.aliasPackageNamePrefix ?? ''}${unscopedName}`;
37
+ }
38
+ function modernPackageSpecifier(packageName, packageSource) {
39
+ if ('install' !== packageSource.strategy) return WORKSPACE_PACKAGE_VERSION;
40
+ if (!packageSource.aliasScope) return packageSource.modernPackageVersion;
41
+ return `npm:${modernAliasPackageName(packageName, packageSource)}@${packageSource.modernPackageVersion}`;
42
+ }
43
+ export { BLEEDINGDEV_CREATE_PACKAGE, BLEEDINGDEV_FRAMEWORK_VERSION_ENV, BLEEDINGDEV_PACKAGE_NAME_PREFIX, BLEEDINGDEV_PACKAGE_SCOPE, LEGACY_BLEEDINGDEV_CREATE_PACKAGE, ULTRAMODERN_CREATE_PACKAGE, ULTRAMODERN_FRAMEWORK_VERSION_ENV, ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES, ULTRAMODERN_WORKSPACE_MODERN_PACKAGES, WORKSPACE_PACKAGE_VERSION, modernPackageSpecifier, modernPackageVersion };
@@ -0,0 +1,133 @@
1
+ import node_fs from "node:fs";
2
+ import node_path from "node:path";
3
+ import { createPackageRoot, writeFile } from "./ultramodern-workspace/fs-io.js";
4
+ const RELEASE_COHORT_PROJECTION_PATH = '.modernjs/release-cohort.json';
5
+ const RELEASE_COHORT_PROJECTION_SCHEMA = 'bleedingdev.ultramodern.release-cohort';
6
+ const RELEASE_COHORT_PROJECTION_SCHEMA_VERSION = 1;
7
+ function assert(condition, message) {
8
+ if (!condition) throw new Error(message);
9
+ }
10
+ function isRecord(value) {
11
+ return Boolean(value) && 'object' == typeof value && !Array.isArray(value);
12
+ }
13
+ function assertExactKeys(value, expectedKeys, label) {
14
+ assert(isRecord(value), `${label} must be a JSON object.`);
15
+ const actualKeys = Object.keys(value).sort();
16
+ const expected = [
17
+ ...expectedKeys
18
+ ].sort();
19
+ assert(JSON.stringify(actualKeys) === JSON.stringify(expected), `${label} has unknown or missing fields: expected ${expected.join(', ')}; found ${actualKeys.join(', ')}.`);
20
+ }
21
+ function assertNonEmptyString(value, label) {
22
+ assert('string' == typeof value && value.length > 0 && value.trim() === value, `${label} must be a non-empty trimmed string.`);
23
+ }
24
+ function sourcePackageSuffix(sourceName) {
25
+ assert(sourceName.startsWith('@modern-js/') && sourceName.lastIndexOf('/') > 0, `Release cohort sourceName must be an @modern-js package: ${sourceName}.`);
26
+ return sourceName.slice(sourceName.lastIndexOf('/') + 1);
27
+ }
28
+ function targetAliasProfile(sourceName, targetName) {
29
+ const match = /^@([^/]+)\/([^/]+)$/u.exec(targetName);
30
+ assert(match, `Release cohort targetName is invalid: ${targetName}.`);
31
+ const [, aliasScope, targetPackageName] = match;
32
+ const suffix = sourcePackageSuffix(sourceName);
33
+ assert(targetPackageName.endsWith(suffix), `Release cohort alias ${sourceName} -> ${targetName} does not preserve the source package suffix.`);
34
+ return {
35
+ aliasPackageNamePrefix: targetPackageName.slice(0, targetPackageName.length - suffix.length),
36
+ aliasScope
37
+ };
38
+ }
39
+ function parseUltramodernReleaseCohort(value) {
40
+ assertExactKeys(value, [
41
+ 'aliases',
42
+ 'packages',
43
+ 'release',
44
+ 'schema',
45
+ 'schemaVersion',
46
+ 'source'
47
+ ], 'Release cohort projection');
48
+ const cohort = value;
49
+ assert(cohort.schema === RELEASE_COHORT_PROJECTION_SCHEMA && cohort.schemaVersion === RELEASE_COHORT_PROJECTION_SCHEMA_VERSION, `Unknown release cohort projection schema ${String(cohort.schema)}@${String(cohort.schemaVersion)}.`);
50
+ assertExactKeys(cohort.source, [
51
+ 'commit',
52
+ 'repository'
53
+ ], 'Release cohort source');
54
+ assertNonEmptyString(cohort.source.commit, 'Release cohort source.commit');
55
+ assertNonEmptyString(cohort.source.repository, 'Release cohort source.repository');
56
+ assertExactKeys(cohort.release, [
57
+ 'tag',
58
+ 'version'
59
+ ], 'Release cohort release');
60
+ assertNonEmptyString(cohort.release.tag, 'Release cohort release.tag');
61
+ assertNonEmptyString(cohort.release.version, 'Release cohort release.version');
62
+ assert(isRecord(cohort.aliases), 'Release cohort aliases must be an object.');
63
+ assert(Array.isArray(cohort.packages), 'Release cohort packages must be an array.');
64
+ const aliasNames = Object.keys(cohort.aliases).sort();
65
+ assert(aliasNames.length > 0, 'Release cohort aliases must not be empty.');
66
+ const packageSourceNames = [];
67
+ const packageTargetNames = new Set();
68
+ for (const [index, item] of cohort.packages.entries()){
69
+ assertExactKeys(item, [
70
+ 'sourceName',
71
+ 'targetName',
72
+ 'version'
73
+ ], `Release cohort packages[${index}]`);
74
+ assertNonEmptyString(item.sourceName, `Release cohort packages[${index}].sourceName`);
75
+ assertNonEmptyString(item.targetName, `Release cohort packages[${index}].targetName`);
76
+ assertNonEmptyString(item.version, `Release cohort packages[${index}].version`);
77
+ sourcePackageSuffix(item.sourceName);
78
+ assert(cohort.aliases[item.sourceName] === item.targetName, `Release cohort packages[${index}] targetName does not match aliases for ${item.sourceName}.`);
79
+ assert(item.version === cohort.release.version, `Release cohort packages[${index}] version does not match release.version.`);
80
+ packageSourceNames.push(item.sourceName);
81
+ assert(!packageTargetNames.has(item.targetName), `Release cohort packages contains duplicate targetName ${item.targetName}.`);
82
+ packageTargetNames.add(item.targetName);
83
+ }
84
+ assert(JSON.stringify(packageSourceNames) === JSON.stringify(aliasNames), 'Release cohort packages must exactly match aliases in source-name order.');
85
+ return cohort;
86
+ }
87
+ function readCohortFile(filePath) {
88
+ const stat = node_fs.lstatSync(filePath, {
89
+ throwIfNoEntry: false
90
+ });
91
+ assert(stat?.isFile() && !stat.isSymbolicLink(), `Authenticated release cohort projection is missing or unsafe: ${filePath}.`);
92
+ let value;
93
+ try {
94
+ value = JSON.parse(node_fs.readFileSync(filePath, 'utf8'));
95
+ } catch (error) {
96
+ throw new Error(`Authenticated release cohort projection is invalid JSON: ${error instanceof Error ? error.message : String(error)}.`);
97
+ }
98
+ return parseUltramodernReleaseCohort(value);
99
+ }
100
+ function readCreateReleaseCohort() {
101
+ return readCohortFile(node_path.join(createPackageRoot, 'template-workspace', RELEASE_COHORT_PROJECTION_PATH));
102
+ }
103
+ function hasCreateReleaseCohort() {
104
+ return node_fs.existsSync(node_path.join(createPackageRoot, 'template-workspace', RELEASE_COHORT_PROJECTION_PATH));
105
+ }
106
+ function isCreatePackageSourceCheckout() {
107
+ return node_fs.existsSync(node_path.join(createPackageRoot, 'src'));
108
+ }
109
+ function readWorkspaceReleaseCohort(workspaceRoot) {
110
+ return readCohortFile(node_path.join(workspaceRoot, RELEASE_COHORT_PROJECTION_PATH));
111
+ }
112
+ function copyCreateReleaseCohort(workspaceRoot) {
113
+ const sourcePath = node_path.join(createPackageRoot, 'template-workspace', RELEASE_COHORT_PROJECTION_PATH);
114
+ const cohort = readCohortFile(sourcePath);
115
+ writeFile(workspaceRoot, RELEASE_COHORT_PROJECTION_PATH, node_fs.readFileSync(sourcePath, 'utf8'));
116
+ return cohort;
117
+ }
118
+ function assertReleaseCohortPackageSource(cohort, packageSource) {
119
+ if ('install' !== packageSource.strategy) return;
120
+ assert(packageSource.modernPackageVersion === cohort.release.version, `Package source release ${packageSource.modernPackageVersion} does not match authenticated release cohort ${cohort.release.version}.`);
121
+ let expectedProfile;
122
+ for (const item of cohort.packages){
123
+ const profile = targetAliasProfile(item.sourceName, item.targetName);
124
+ expectedProfile ??= profile;
125
+ assert(profile.aliasScope === expectedProfile.aliasScope && profile.aliasPackageNamePrefix === expectedProfile.aliasPackageNamePrefix, 'Authenticated release cohort aliases cannot be represented by one package-source profile.');
126
+ }
127
+ assert(packageSource.aliasScope?.replace(/^@/u, '') === expectedProfile?.aliasScope && (packageSource.aliasPackageNamePrefix ?? '') === expectedProfile?.aliasPackageNamePrefix, 'Package source aliases rebind the authenticated release cohort.');
128
+ return cohort;
129
+ }
130
+ function releaseCohortSelectors(cohort) {
131
+ return cohort.packages.map((item)=>`${item.targetName}@${item.version}`).sort();
132
+ }
133
+ export { RELEASE_COHORT_PROJECTION_PATH, assertReleaseCohortPackageSource, copyCreateReleaseCohort, hasCreateReleaseCohort, isCreatePackageSourceCheckout, parseUltramodernReleaseCohort, readCreateReleaseCohort, readWorkspaceReleaseCohort, releaseCohortSelectors };