@bleedingdev/modern-js-main-doc 3.2.0-ultramodern.116 → 3.2.0-ultramodern.118

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.
@@ -1,4 +1,6 @@
1
- UltraModern.js provides the BleedingDev create package to create projects. It does not require global installation and can be run on-demand using `pnpm dlx`.
1
+ UltraModern.js provides the BleedingDev create package to create SuperApp
2
+ workspaces. It does not require global installation and can be run on-demand
3
+ using `pnpm dlx`.
2
4
 
3
5
  You can initialize the empty directory you are already in:
4
6
 
@@ -10,33 +12,13 @@ pnpm dlx @bleedingdev/modern-js-create .
10
12
  You can also create a project directly in a new directory:
11
13
 
12
14
  ```bash
13
- pnpm dlx @bleedingdev/modern-js-create myapp
14
- ```
15
-
16
- TanStack Router is scaffolded by default. To force React Router compatibility:
17
-
18
- ```bash
19
- pnpm dlx @bleedingdev/modern-js-create myapp --router react-router
20
- ```
21
-
22
- Tailwind CSS v4 is scaffolded by default. To opt out:
23
-
24
- ```bash
25
- pnpm dlx @bleedingdev/modern-js-create myapp --no-tailwind
26
- ```
27
-
28
- Effect HttpApi BFF is scaffolded by default.
29
-
30
- To initialize BFF scaffold with Hono runtime:
31
-
32
- ```bash
33
- pnpm dlx @bleedingdev/modern-js-create myapp --bff-runtime hono
15
+ pnpm dlx @bleedingdev/modern-js-create my-super-app
34
16
  ```
35
17
 
36
18
  To initialize with workspace protocol dependencies (for local monorepo testing of unreleased Modern.js packages):
37
19
 
38
20
  ```bash
39
- pnpm dlx @bleedingdev/modern-js-create myapp --workspace
21
+ pnpm dlx @bleedingdev/modern-js-create my-super-app --workspace
40
22
  ```
41
23
 
42
24
  The BleedingDev create package will directly create the application without providing an interactive Q & A interface:
@@ -44,7 +26,7 @@ The BleedingDev create package will directly create the application without prov
44
26
  ```bash
45
27
  🚀 Welcome to UltraModern.js
46
28
 
47
- 📦 Creating project "myapp"...
29
+ 📦 Creating project "my-super-app"...
48
30
 
49
31
  ✨ Project created successfully! 🎉
50
32
 
@@ -52,7 +34,7 @@ The BleedingDev create package will directly create the application without prov
52
34
 
53
35
  📁 Enter the project directory:
54
36
 
55
- cd myapp
37
+ cd my-super-app
56
38
 
57
39
  🔧 Initialize Git repository:
58
40
 
@@ -71,37 +53,23 @@ Now, the project structure is as follows:
71
53
 
72
54
  ```
73
55
  .
74
- ├── biome.json
75
- ├── modern.config.ts
56
+ ├── apps
57
+ │ └── shell-super-app
76
58
  ├── package.json
77
- ├── README.md
78
- ├── src
79
- │ ├── modern-app-env.d.ts
80
- ├── modern.runtime.ts
81
- │ └── routes
82
- ├── index.css
83
- │ ├── layout.tsx
84
- │ └── page.tsx
85
- └── tsconfig.json
86
- ```
87
-
88
- Tailwind CSS v4 is generated by default; pass `--no-tailwind` to omit `postcss.config.mjs`, `tailwind.config.ts`, and the Tailwind import.
89
-
90
- By default, `modern.config.ts` enables `@modern-js/plugin-bff`, generates `api/effect/index.ts` + `shared/effect/api.ts`, and sets `bff.runtimeFramework` to `effect`.
91
- When `--bff-runtime hono` is enabled, `modern.config.ts` enables `@modern-js/plugin-bff`, generates `api/lambda/hello.ts`, and sets `bff.runtimeFramework` to `hono`.
92
- When `--workspace` is enabled, `@modern-js/*` dependencies use `workspace:*` versions for local monorepo linkage.
93
-
94
- It creates a simple production-ready UltraModern app by default and installs
95
- the published BleedingDev package aliases:
96
-
97
- ```bash
98
- pnpm dlx @bleedingdev/modern-js-create myapp
59
+ ├── packages
60
+ ├── shared-contracts
61
+ │ ├── shared-design-tokens
62
+ └── shared-effect-client
63
+ ├── scripts
64
+ ├── topology
65
+ └── verticals
99
66
  ```
100
67
 
101
- Create a SuperApp workspace only when you need independently owned verticals:
68
+ The default workspace starts shell-only and installs the published BleedingDev
69
+ package aliases:
102
70
 
103
71
  ```bash
104
- pnpm dlx @bleedingdev/modern-js-create my-super-app --ultramodern-workspace
72
+ pnpm dlx @bleedingdev/modern-js-create my-super-app
105
73
  ```
106
74
 
107
75
  From a generated SuperApp workspace, add a business MicroVertical in place:
@@ -39,8 +39,8 @@ UltraModern.js additions are designed as the default product surface for new Sup
39
39
  | MF vertical loading reliability | Retry/fallback patterns are often implemented per app | Adds deterministic timeout/network/contract-error reliability matrix and distributed OTEL continuity tests |
40
40
  | Module onboarding governance | No module-certification evidence profile in baseline | Adds module SDK contracts, boundary anti-pattern guards, and release/module certification gate workflows |
41
41
  | Router runtime | Default runtime path centers on React Router | Adds first-class TanStack Router runtime/CLI path (React Router remains supported) |
42
- | Scaffolding templates | Default create templates center on React Router starter path | Adds TanStack-ready and Tailwind-ready create templates |
43
- | Starter preset enforcement | No generated UltraModern preset gate workflow | Generated starters include `ultramodern:check`, opt-out env switches, and `.github/workflows/ultramodern-gates.yml` |
42
+ | Scaffolding templates | Default create templates center on React Router starter path | Generates a SuperApp workspace by default with TanStack, Effect, Module Federation, i18n, Tailwind, Cloudflare, and ownership contracts |
43
+ | Workspace preset enforcement | No generated UltraModern preset gate workflow | Generated workspaces include `.github/workflows/ultramodern-workspace-gates.yml`, `pnpm check`, primitive local gates, and generated contract validation |
44
44
 
45
45
  ## What We Intentionally Do Not Change
46
46
 
@@ -56,33 +56,24 @@ For teams already on Modern.js 3.0, the adoption path remains compatibility-awar
56
56
  1. Keep existing React Router apps running as-is. TanStack Router is the preferred path for new scaffolds and incremental route adoption, but the React Router lane remains supported while teams move on their own schedule.
57
57
  2. Prefer `bff.runtimeFramework: 'effect'` for new BFF work, with the entry implemented at `api/effect/index.ts`. If your app already uses Hono handlers under `api/lambda/**`, keep `bff.runtimeFramework: 'hono'` until you are ready to move them; Hono remains a supported compatibility lane.
58
58
  3. Treat the baseline contracts as progressive defaults, not a forced cutover. `MODERN_BASELINE_ENABLE_MF_SSR`, `MODERN_BASELINE_ENABLE_BFF_REQUEST_ID`, and `MODERN_BASELINE_ENABLE_TELEMETRY_EXPORTERS` already let each app opt out while it converges on the preferred stack.
59
- 4. The public preset now ships with explicit release and certification gates. The generated starter also ships `.github/workflows/ultramodern-gates.yml`, so `pnpm run ultramodern:check` and `pnpm run build` stay part of the adoption contract from day one.
59
+ 4. The public preset now ships with explicit release and certification gates. Generated workspaces include `.github/workflows/ultramodern-workspace-gates.yml`, so `pnpm check` and `pnpm build` stay part of the local adoption contract from day one while CI runs the primitive gates as parallel matrix jobs.
60
60
 
61
61
  This page is not a migration guide or codemod plan. Migration guidance for existing applications is intentionally deferred from the current Micro Verticals framework scope.
62
62
 
63
63
  ## Human Workflow
64
64
 
65
- The public BleedingDev create package starts small. The default command creates
66
- one production-ready UltraModern app with `presetUltramodern(...)`, SSR,
67
- TanStack Router, Tailwind CSS v4, i18n, Effect BFF, generated quality gates, and
68
- Cloudflare deploy basics:
65
+ The public BleedingDev create package has one supported generated product. The
66
+ default command creates a production-ready UltraModern SuperApp workspace with
67
+ `presetUltramodern(...)`, SSR, TanStack Router, Tailwind CSS v4, i18n, Effect
68
+ BFF, Module Federation topology, generated quality gates, and Cloudflare deploy
69
+ basics:
69
70
 
70
71
  ```bash
71
72
  pnpm dlx @bleedingdev/modern-js-create myapp
72
73
  cd myapp
73
74
  mise install
74
75
  mise exec -- pnpm install
75
- mise exec -- pnpm ultramodern:check
76
- ```
77
-
78
- Create a SuperApp workspace only when independent ownership is useful:
79
-
80
- ```bash
81
- pnpm dlx @bleedingdev/modern-js-create my-super-app --ultramodern-workspace
82
- cd my-super-app
83
- mise install
84
- mise exec -- pnpm install
85
- mise exec -- pnpm ultramodern:check
76
+ mise exec -- pnpm check
86
77
  ```
87
78
 
88
79
  The workspace starts from a shell and generated platform contracts. It does not
@@ -94,7 +85,7 @@ pnpm dlx @bleedingdev/modern-js-create transportation --vertical
94
85
  pnpm dlx @bleedingdev/modern-js-create food-delivery --vertical
95
86
  pnpm dlx @bleedingdev/modern-js-create payments --vertical
96
87
  pnpm dlx @bleedingdev/modern-js-create maps --vertical
97
- mise exec -- pnpm ultramodern:check
88
+ mise exec -- pnpm check
98
89
  ```
99
90
 
100
91
  The `--vertical` command mutates the current workspace. It creates the vertical
@@ -132,7 +123,7 @@ Version switching must select UI, Effect API, CSS, i18n JSON, and MF manifest ev
132
123
  Local gates:
133
124
 
134
125
  ```bash
135
- mise exec -- pnpm ultramodern:check
126
+ mise exec -- pnpm check
136
127
  mise exec -- pnpm build
137
128
  mise exec -- pnpm cloudflare:build
138
129
  ```
package/package.json CHANGED
@@ -18,14 +18,14 @@
18
18
  "modern",
19
19
  "modern.js"
20
20
  ],
21
- "version": "3.2.0-ultramodern.116",
21
+ "version": "3.2.0-ultramodern.118",
22
22
  "publishConfig": {
23
23
  "registry": "https://registry.npmjs.org/",
24
24
  "access": "public"
25
25
  },
26
26
  "dependencies": {
27
27
  "mermaid": "^11.15.0",
28
- "@modern-js/sandpack-react": "npm:@bleedingdev/modern-js-sandpack-react@3.2.0-ultramodern.116"
28
+ "@modern-js/sandpack-react": "npm:@bleedingdev/modern-js-sandpack-react@3.2.0-ultramodern.118"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@rsbuild/plugin-sass": "1.5.3",