minutework 0.1.39 → 0.1.41

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 (166) hide show
  1. package/EXTERNAL_ALPHA.md +17 -1
  2. package/README.md +21 -1
  3. package/assets/claude-local/skills/README.md +6 -0
  4. package/assets/claude-local/skills/ai-capability-defaults/SKILL.md +3 -0
  5. package/assets/claude-local/skills/app-pack-authoring/SKILL.md +15 -0
  6. package/assets/claude-local/skills/generated-workspace-architecture/SKILL.md +25 -9
  7. package/assets/claude-local/skills/integration-broker-and-connectors/SKILL.md +122 -0
  8. package/assets/claude-local/skills/layering-and-import-modes/SKILL.md +4 -0
  9. package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +6 -0
  10. package/assets/claude-local/skills/shell-architecture/SKILL.md +15 -0
  11. package/assets/claude-local/skills/vuilder-public-site-authoring/SKILL.md +10 -4
  12. package/assets/claude-local/skills/vuilder-workspace-architecture/SKILL.md +78 -0
  13. package/assets/templates/vuilder-public-site/.env.example +11 -0
  14. package/assets/templates/vuilder-public-site/README.md +15 -0
  15. package/assets/templates/vuilder-public-site/eslint.config.mjs +6 -0
  16. package/assets/templates/vuilder-public-site/next-env.d.ts +4 -0
  17. package/assets/templates/vuilder-public-site/next.config.mjs +28 -0
  18. package/assets/templates/vuilder-public-site/package.json +39 -0
  19. package/assets/templates/vuilder-public-site/postcss.config.mjs +5 -0
  20. package/assets/templates/vuilder-public-site/src/app/api/onboarding/start/route.ts +19 -0
  21. package/assets/templates/vuilder-public-site/src/app/blog/[slug]/page.tsx +25 -0
  22. package/assets/templates/vuilder-public-site/src/app/blog/page.tsx +26 -0
  23. package/assets/templates/vuilder-public-site/src/app/globals.css +103 -0
  24. package/assets/templates/vuilder-public-site/src/app/layout.tsx +18 -0
  25. package/assets/templates/vuilder-public-site/src/app/onboarding/[[...step]]/page.tsx +39 -0
  26. package/assets/templates/vuilder-public-site/src/app/page.tsx +43 -0
  27. package/assets/templates/vuilder-public-site/src/lib/env.server.ts +31 -0
  28. package/assets/templates/vuilder-public-site/src/lib/platform.server.ts +47 -0
  29. package/assets/templates/vuilder-public-site/src/lib/public-dj.server.ts +86 -0
  30. package/assets/templates/vuilder-public-site/src/lib/public-dj.test.ts +8 -0
  31. package/assets/templates/vuilder-public-site/src/lib/routes.test.ts +13 -0
  32. package/assets/templates/vuilder-public-site/src/lib/routes.ts +12 -0
  33. package/assets/templates/vuilder-public-site/template.json +21 -0
  34. package/assets/templates/vuilder-public-site/tools/template/validate-template.mjs +44 -0
  35. package/assets/templates/vuilder-public-site/tsconfig.json +23 -0
  36. package/assets/templates/vuilder-public-site/vitest.config.ts +13 -0
  37. package/assets/templates/vuilder-shell/.env.example +8 -0
  38. package/assets/templates/vuilder-shell/.storybook/main.ts +19 -0
  39. package/assets/templates/vuilder-shell/.storybook/preview.tsx +38 -0
  40. package/assets/templates/vuilder-shell/README.md +49 -0
  41. package/assets/templates/vuilder-shell/components.json +21 -0
  42. package/assets/templates/vuilder-shell/eslint.config.mjs +41 -0
  43. package/assets/templates/vuilder-shell/next-env.d.ts +6 -0
  44. package/assets/templates/vuilder-shell/next.config.mjs +33 -0
  45. package/assets/templates/vuilder-shell/package.json +61 -0
  46. package/assets/templates/vuilder-shell/postcss.config.mjs +8 -0
  47. package/assets/templates/vuilder-shell/public/.gitkeep +1 -0
  48. package/assets/templates/vuilder-shell/src/app/api/auth/accept-shell-session/route.test.ts +105 -0
  49. package/assets/templates/vuilder-shell/src/app/api/auth/accept-shell-session/route.ts +63 -0
  50. package/assets/templates/vuilder-shell/src/app/api/auth/logout/route.test.ts +63 -0
  51. package/assets/templates/vuilder-shell/src/app/api/auth/logout/route.ts +24 -0
  52. package/assets/templates/vuilder-shell/src/app/api/auth/session/route.test.ts +70 -0
  53. package/assets/templates/vuilder-shell/src/app/api/auth/session/route.ts +27 -0
  54. package/assets/templates/vuilder-shell/src/app/app/layout.tsx +17 -0
  55. package/assets/templates/vuilder-shell/src/app/app/page.tsx +30 -0
  56. package/assets/templates/vuilder-shell/src/app/blog/[slug]/page.tsx +15 -0
  57. package/assets/templates/vuilder-shell/src/app/blog/page.tsx +15 -0
  58. package/assets/templates/vuilder-shell/src/app/docs/[...slug]/page.tsx +15 -0
  59. package/assets/templates/vuilder-shell/src/app/docs/page.tsx +15 -0
  60. package/assets/templates/vuilder-shell/src/app/globals.css +70 -0
  61. package/assets/templates/vuilder-shell/src/app/layout.tsx +69 -0
  62. package/assets/templates/vuilder-shell/src/app/login/route.test.ts +33 -0
  63. package/assets/templates/vuilder-shell/src/app/login/route.ts +21 -0
  64. package/assets/templates/vuilder-shell/src/app/page.tsx +16 -0
  65. package/assets/templates/vuilder-shell/src/app/pricing/page.tsx +15 -0
  66. package/assets/templates/vuilder-shell/src/app/providers.tsx +25 -0
  67. package/assets/templates/vuilder-shell/src/app/robots.ts +21 -0
  68. package/assets/templates/vuilder-shell/src/app/sitemap.ts +33 -0
  69. package/assets/templates/vuilder-shell/src/app/w/[workspace_slug]/connect/page.tsx +31 -0
  70. package/assets/templates/vuilder-shell/src/app/w/[workspace_slug]/page.tsx +54 -0
  71. package/assets/templates/vuilder-shell/src/components/ui/button.tsx +59 -0
  72. package/assets/templates/vuilder-shell/src/components/ui/input.tsx +21 -0
  73. package/assets/templates/vuilder-shell/src/design-system/docs/governance.mdx +26 -0
  74. package/assets/templates/vuilder-shell/src/design-system/patterns/panel-frame.stories.tsx +48 -0
  75. package/assets/templates/vuilder-shell/src/design-system/patterns/panel-frame.tsx +26 -0
  76. package/assets/templates/vuilder-shell/src/design-system/patterns/status-badge.stories.tsx +26 -0
  77. package/assets/templates/vuilder-shell/src/design-system/patterns/status-badge.tsx +35 -0
  78. package/assets/templates/vuilder-shell/src/design-system/patterns/theme-mode-toggle.stories.tsx +21 -0
  79. package/assets/templates/vuilder-shell/src/design-system/patterns/theme-mode-toggle.tsx +75 -0
  80. package/assets/templates/vuilder-shell/src/design-system/primitives/button.stories.tsx +37 -0
  81. package/assets/templates/vuilder-shell/src/design-system/primitives/button.ts +1 -0
  82. package/assets/templates/vuilder-shell/src/design-system/primitives/input.stories.tsx +26 -0
  83. package/assets/templates/vuilder-shell/src/design-system/primitives/input.ts +1 -0
  84. package/assets/templates/vuilder-shell/src/design-system/recipes/chrome.ts +28 -0
  85. package/assets/templates/vuilder-shell/src/design-system/tokens/foundation.css +31 -0
  86. package/assets/templates/vuilder-shell/src/design-system/tokens/index.css +3 -0
  87. package/assets/templates/vuilder-shell/src/design-system/tokens/manifest.json +85 -0
  88. package/assets/templates/vuilder-shell/src/design-system/tokens/manifest.ts +87 -0
  89. package/assets/templates/vuilder-shell/src/design-system/tokens/semantic.css +105 -0
  90. package/assets/templates/vuilder-shell/src/design-system/tokens/theme.css +59 -0
  91. package/assets/templates/vuilder-shell/src/design-system/tokens/tokens.stories.tsx +71 -0
  92. package/assets/templates/vuilder-shell/src/features/dashboard/components/tenant-dashboard.tsx +134 -0
  93. package/assets/templates/vuilder-shell/src/features/public-shell/components/static-public-page.tsx +58 -0
  94. package/assets/templates/vuilder-shell/src/features/shell/components/authenticated-app-layout-shell.tsx +84 -0
  95. package/assets/templates/vuilder-shell/src/features/shell/components/private-app-shell.tsx +22 -0
  96. package/assets/templates/vuilder-shell/src/features/vuilder-shell/components/vuilder-connect-screen.tsx +89 -0
  97. package/assets/templates/vuilder-shell/src/features/vuilder-shell/components/vuilder-workspace-screen.tsx +49 -0
  98. package/assets/templates/vuilder-shell/src/lib/app-routes.test.ts +37 -0
  99. package/assets/templates/vuilder-shell/src/lib/app-routes.ts +86 -0
  100. package/assets/templates/vuilder-shell/src/lib/auth-routes.server.test.ts +26 -0
  101. package/assets/templates/vuilder-shell/src/lib/auth-routes.server.ts +53 -0
  102. package/assets/templates/vuilder-shell/src/lib/http/same-origin.test.ts +23 -0
  103. package/assets/templates/vuilder-shell/src/lib/http/same-origin.ts +18 -0
  104. package/assets/templates/vuilder-shell/src/lib/platform/client.server.test.ts +201 -0
  105. package/assets/templates/vuilder-shell/src/lib/platform/client.server.ts +540 -0
  106. package/assets/templates/vuilder-shell/src/lib/platform/contracts.ts +190 -0
  107. package/assets/templates/vuilder-shell/src/lib/platform/endpoints.server.ts +29 -0
  108. package/assets/templates/vuilder-shell/src/lib/platform/env.server.ts +82 -0
  109. package/assets/templates/vuilder-shell/src/lib/platform/route-response.ts +33 -0
  110. package/assets/templates/vuilder-shell/src/lib/platform/session.server.ts +145 -0
  111. package/assets/templates/vuilder-shell/src/lib/public-site.test.ts +20 -0
  112. package/assets/templates/vuilder-shell/src/lib/public-site.ts +48 -0
  113. package/assets/templates/vuilder-shell/src/lib/theme-config.ts +10 -0
  114. package/assets/templates/vuilder-shell/src/lib/theme.tsx +159 -0
  115. package/assets/templates/vuilder-shell/src/lib/utils.ts +6 -0
  116. package/assets/templates/vuilder-shell/template.json +28 -0
  117. package/assets/templates/vuilder-shell/template.schema.json +171 -0
  118. package/assets/templates/vuilder-shell/test/server-only-stub.ts +1 -0
  119. package/assets/templates/vuilder-shell/tools/design-system/build-token-manifest.mjs +3 -0
  120. package/assets/templates/vuilder-shell/tools/design-system/check-imports.mjs +9 -0
  121. package/assets/templates/vuilder-shell/tools/design-system/check-stories.mjs +9 -0
  122. package/assets/templates/vuilder-shell/tools/design-system/check-values.mjs +9 -0
  123. package/assets/templates/vuilder-shell/tools/design-system/checks.mjs +238 -0
  124. package/assets/templates/vuilder-shell/tools/design-system/eslint-plugin-design-system.mjs +184 -0
  125. package/assets/templates/vuilder-shell/tools/design-system/playwright.config.mjs +34 -0
  126. package/assets/templates/vuilder-shell/tools/design-system/run-checks.mjs +22 -0
  127. package/assets/templates/vuilder-shell/tools/design-system/shared.mjs +166 -0
  128. package/assets/templates/vuilder-shell/tools/design-system/visual.spec.ts +41 -0
  129. package/assets/templates/vuilder-shell/tools/template/validate-route-contract.mjs +373 -0
  130. package/assets/templates/vuilder-shell/tools/template/validate-template.mjs +45 -0
  131. package/assets/templates/vuilder-shell/tools/template/with-public-site-fixture.mjs +45 -0
  132. package/assets/templates/vuilder-shell/tsconfig.json +42 -0
  133. package/assets/templates/vuilder-shell/vitest.config.ts +23 -0
  134. package/dist/auth.js +66 -14
  135. package/dist/auth.js.map +1 -1
  136. package/dist/deploy-state.d.ts +1 -0
  137. package/dist/deploy-state.js.map +1 -1
  138. package/dist/deploy.js +18 -4
  139. package/dist/deploy.js.map +1 -1
  140. package/dist/developer-client.d.ts +1 -1
  141. package/dist/index.js +12 -2
  142. package/dist/index.js.map +1 -1
  143. package/dist/init-prompt.js +21 -13
  144. package/dist/init-prompt.js.map +1 -1
  145. package/dist/init.d.ts +3 -1
  146. package/dist/init.js +103 -12
  147. package/dist/init.js.map +1 -1
  148. package/dist/orchestrator-context.js +17 -5
  149. package/dist/orchestrator-context.js.map +1 -1
  150. package/dist/orchestrator-state.d.ts +2 -2
  151. package/dist/orchestrator-state.js.map +1 -1
  152. package/dist/publish.js +12 -2
  153. package/dist/publish.js.map +1 -1
  154. package/dist/state.d.ts +2 -0
  155. package/dist/state.js +9 -0
  156. package/dist/state.js.map +1 -1
  157. package/package.json +2 -2
  158. package/vendor/workspace-mcp/context.d.ts +3 -1
  159. package/vendor/workspace-mcp/context.js +134 -21
  160. package/vendor/workspace-mcp/context.js.map +1 -1
  161. package/vendor/workspace-mcp/types.d.ts +72 -7
  162. package/vendor/workspace-mcp/types.js +8 -4
  163. package/vendor/workspace-mcp/types.js.map +1 -1
  164. package/assets/templates/fastapi-sidecar/poetry.lock +0 -757
  165. package/assets/templates/next-tenant-app/package-lock.json +0 -9682
  166. package/assets/templates/next-tenant-app/pnpm-lock.yaml +0 -6062
package/dist/state.js CHANGED
@@ -150,10 +150,12 @@ function normalizeWorkspaceBinding(rawBinding) {
150
150
  targetKind: "runtime_app",
151
151
  };
152
152
  }
153
+ const hostedStarterId = normalizeHostedStarterId(rawBinding.starterId);
153
154
  return {
154
155
  ...shared,
155
156
  propertyKey: String(rawBinding.propertyKey || "").trim(),
156
157
  releaseClass: "ssr_container",
158
+ ...(hostedStarterId ? { starterId: hostedStarterId } : {}),
157
159
  targetKind: "public_site",
158
160
  };
159
161
  }
@@ -168,4 +170,11 @@ function normalizeRuntimeReleaseClass(value) {
168
170
  function normalizeRuntimeTier(value) {
169
171
  return String(value || "").trim().toLowerCase() === "sandbox" ? "sandbox" : "primary";
170
172
  }
173
+ function normalizeHostedStarterId(value) {
174
+ const normalized = String(value || "").trim();
175
+ if (normalized === "tenant-app" || normalized === "vuilder-app") {
176
+ return normalized;
177
+ }
178
+ return null;
179
+ }
171
180
  //# sourceMappingURL=state.js.map
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "minutework",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "MinuteWork CLI for workspace scaffolding, local preview workflows, and hosted preview deploys.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -25,7 +25,7 @@
25
25
  "jiti": "^2.6.1",
26
26
  "zod": "^4.3.6",
27
27
  "@minutework/platform-config": "0.1.2",
28
- "@minutework/schema-compiler": "0.1.5"
28
+ "@minutework/schema-compiler": "0.1.6"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^24.9.1",
@@ -53,9 +53,11 @@ export type WorkspaceContext = {
53
53
  mobileStarterExists: boolean;
54
54
  sidecarStarterExists: boolean;
55
55
  tenantAppStarterExists: boolean;
56
+ vuilderAppStarterExists: boolean;
57
+ vuilderShellStarterExists: boolean;
56
58
  workspaceRoot: string;
57
59
  };
58
- export type LocalRuntimeStatusContext = Pick<WorkspaceContext, "compileGraphArtifactExists" | "compilerStaticAnalysis" | "config" | "persistedCompileGraphDigest" | "persistedCompileGraphCurrent" | "persistedCompileGraphCorrupted" | "runtimeStatePaths" | "runtimeTestRunState" | "runtimeDevSessionState" | "sidecarStarterExists" | "tenantAppStarterExists" | "workspaceRoot">;
60
+ export type LocalRuntimeStatusContext = Pick<WorkspaceContext, "compileGraphArtifactExists" | "compilerStaticAnalysis" | "config" | "persistedCompileGraphDigest" | "persistedCompileGraphCurrent" | "persistedCompileGraphCorrupted" | "runtimeStatePaths" | "runtimeTestRunState" | "runtimeDevSessionState" | "sidecarStarterExists" | "tenantAppStarterExists" | "vuilderAppStarterExists" | "vuilderShellStarterExists" | "workspaceRoot">;
59
61
  export declare class WorkspaceMcpError extends Error {
60
62
  }
61
63
  export declare const WORKSPACE_MCP_TOOL_SPECS: readonly [{
@@ -116,6 +116,10 @@ export async function loadWorkspaceContext(options = {}) {
116
116
  const schemaEntrypointPath = path.join(workspaceRoot, config.schema.entrypoint);
117
117
  const schemaMwPath = path.join(workspaceRoot, "schema.mw");
118
118
  const tenantAppStarterPath = path.join(workspaceRoot, config.starters.tenantApp.path);
119
+ const vuilderAppStarter = resolveVuilderAppStarterConfig(config);
120
+ const vuilderShellStarter = resolveVuilderShellStarterConfig(config);
121
+ const vuilderAppStarterPath = path.join(workspaceRoot, vuilderAppStarter.path);
122
+ const vuilderShellStarterPath = path.join(workspaceRoot, vuilderShellStarter.path);
119
123
  const sidecarStarterPath = path.join(workspaceRoot, config.starters.sidecar.path);
120
124
  const mobileStarter = resolveMobileStarterConfig(config);
121
125
  const mobileStarterPath = path.join(workspaceRoot, mobileStarter.path);
@@ -125,7 +129,7 @@ export async function loadWorkspaceContext(options = {}) {
125
129
  const capabilityGapReportPath = path.join(runtimeStatePaths.sandboxRoot, "capability-gap-report.json");
126
130
  const compilerStaticAnalysis = await inspectCompilerWorkspace(workspaceRoot);
127
131
  const compilerAnalysis = await analyzeCompilerWorkspace(workspaceRoot);
128
- const [cursorConfigExists, claudeDesktopSampleExists, schemaDirectoryExists, schemaEntrypointExists, schemaMwExists, compileGraphArtifactExists, openapiArtifactExists, clientTypesArtifactExists, tenantAppStarterExists, sidecarStarterExists, mobileStarterExists,] = await Promise.all([
132
+ const [cursorConfigExists, claudeDesktopSampleExists, schemaDirectoryExists, schemaEntrypointExists, schemaMwExists, compileGraphArtifactExists, openapiArtifactExists, clientTypesArtifactExists, tenantAppStarterExists, vuilderAppStarterExists, vuilderShellStarterExists, sidecarStarterExists, mobileStarterExists,] = await Promise.all([
129
133
  exists(cursorConfigPath),
130
134
  exists(claudeDesktopSamplePath),
131
135
  exists(schemaDirectoryPath),
@@ -135,6 +139,8 @@ export async function loadWorkspaceContext(options = {}) {
135
139
  exists(path.join(workspaceRoot, artifactPaths.openapiPath)),
136
140
  exists(path.join(workspaceRoot, artifactPaths.clientTypesPath)),
137
141
  exists(tenantAppStarterPath),
142
+ exists(vuilderAppStarterPath),
143
+ exists(vuilderShellStarterPath),
138
144
  exists(sidecarStarterPath),
139
145
  exists(mobileStarterPath),
140
146
  ]);
@@ -223,6 +229,8 @@ export async function loadWorkspaceContext(options = {}) {
223
229
  mobileStarterExists,
224
230
  sidecarStarterExists,
225
231
  tenantAppStarterExists,
232
+ vuilderAppStarterExists,
233
+ vuilderShellStarterExists,
226
234
  workspaceRoot,
227
235
  };
228
236
  }
@@ -239,10 +247,16 @@ export async function loadLocalRuntimeStatusContext(options = {}) {
239
247
  const compileGraphPath = path.join(workspaceRoot, artifactPaths.compileGraphPath);
240
248
  const runtimeStatePaths = resolveLocalRuntimeStatePaths(workspaceRoot, config.localState.directory);
241
249
  const tenantAppStarterPath = path.join(workspaceRoot, config.starters.tenantApp.path);
250
+ const vuilderAppStarter = resolveVuilderAppStarterConfig(config);
251
+ const vuilderShellStarter = resolveVuilderShellStarterConfig(config);
252
+ const vuilderAppStarterPath = path.join(workspaceRoot, vuilderAppStarter.path);
253
+ const vuilderShellStarterPath = path.join(workspaceRoot, vuilderShellStarter.path);
242
254
  const sidecarStarterPath = path.join(workspaceRoot, config.starters.sidecar.path);
243
- const [compileGraphArtifactExists, tenantAppStarterExists, sidecarStarterExists] = await Promise.all([
255
+ const [compileGraphArtifactExists, tenantAppStarterExists, vuilderAppStarterExists, vuilderShellStarterExists, sidecarStarterExists,] = await Promise.all([
244
256
  exists(compileGraphPath),
245
257
  exists(tenantAppStarterPath),
258
+ exists(vuilderAppStarterPath),
259
+ exists(vuilderShellStarterPath),
246
260
  exists(sidecarStarterPath),
247
261
  ]);
248
262
  const persistedCompileGraphState = compileGraphArtifactExists
@@ -271,6 +285,8 @@ export async function loadLocalRuntimeStatusContext(options = {}) {
271
285
  runtimeTestRunState,
272
286
  sidecarStarterExists,
273
287
  tenantAppStarterExists,
288
+ vuilderAppStarterExists,
289
+ vuilderShellStarterExists,
274
290
  workspaceRoot,
275
291
  };
276
292
  }
@@ -306,6 +322,8 @@ export function collectWorkspaceSnapshot(context) {
306
322
  },
307
323
  starters: [
308
324
  buildStarter("tenant-app", context),
325
+ buildStarter("vuilder-app", context),
326
+ buildStarter("vuilder-shell", context),
309
327
  buildStarter("sidecar", context),
310
328
  buildStarter("mobile", context),
311
329
  ],
@@ -341,6 +359,8 @@ function buildNormalizedWorkspaceConfig(context) {
341
359
  mobile: buildNormalizedStarterConfig("mobile", context),
342
360
  sidecar: buildNormalizedStarterConfig("sidecar", context),
343
361
  tenantApp: buildNormalizedStarterConfig("tenant-app", context),
362
+ vuilderApp: buildNormalizedStarterConfig("vuilder-app", context),
363
+ vuilderShell: buildNormalizedStarterConfig("vuilder-shell", context),
344
364
  },
345
365
  workspace: {
346
366
  name: context.config.workspace.name,
@@ -379,11 +399,20 @@ export function collectLocalRuntimeStatus(context) {
379
399
  const surfaces = [
380
400
  buildSchemaCompileSurface(context, compileGraphPath),
381
401
  buildStarterSurface(context, "tenant_app"),
402
+ buildStarterSurface(context, "vuilder_app"),
403
+ buildStarterSurface(context, "vuilder_shell"),
382
404
  buildStarterSurface(context, "sidecar"),
383
405
  ];
384
406
  const previewSurfaceIssueCodes = collectPreviewSurfaceIssueCodes(surfaces);
385
- const hasMissingPreviewSurfacePath = previewSurfaceIssueCodes.some((code) => code === "workspace.runtime.tenant_app_missing" || code === "workspace.runtime.sidecar_missing");
386
- const hasEnabledPreviewSurface = surfaces.some((surface) => (surface.id === "tenant_app" || surface.id === "sidecar") && surface.status === "ready");
407
+ const hasMissingPreviewSurfacePath = previewSurfaceIssueCodes.some((code) => code === "workspace.runtime.tenant_app_missing" ||
408
+ code === "workspace.runtime.vuilder_app_missing" ||
409
+ code === "workspace.runtime.vuilder_shell_missing" ||
410
+ code === "workspace.runtime.sidecar_missing");
411
+ const hasEnabledPreviewSurface = surfaces.some((surface) => (surface.id === "tenant_app" ||
412
+ surface.id === "vuilder_app" ||
413
+ surface.id === "vuilder_shell" ||
414
+ surface.id === "sidecar") &&
415
+ surface.status === "ready");
387
416
  const devActivity = buildLocalRuntimeActivitySummary("dev", context.runtimeDevSessionState, context.persistedCompileGraphDigest);
388
417
  const testActivity = buildLocalRuntimeActivitySummary("test", context.runtimeTestRunState, context.persistedCompileGraphDigest);
389
418
  return {
@@ -400,7 +429,7 @@ export function collectLocalRuntimeStatus(context) {
400
429
  ? "The local sandbox can start the enabled preview surfaces from the current canonical compile graph."
401
430
  : hasMissingPreviewSurfacePath
402
431
  ? "The local sandbox cannot start preview surfaces until the enabled starter paths exist."
403
- : "The local sandbox does not have any enabled preview surfaces yet. Add a tenant-app or sidecar starter before running dev."
432
+ : "The local sandbox does not have any enabled preview surfaces yet. Add a hosted web or sidecar starter before running dev."
404
433
  : "The local sandbox needs a current canonical compile graph before preview surfaces can start. Run `minutework compile` first."
405
434
  : "The local sandbox cannot start until the workspace has exactly one supported schema input.",
406
435
  name: "dev",
@@ -615,10 +644,27 @@ function buildSchemaCompileSurface(context, compileGraphPath) {
615
644
  };
616
645
  }
617
646
  function buildStarterSurface(context, id) {
618
- const isTenantApp = id === "tenant_app";
619
- const starter = isTenantApp ? context.config.starters.tenantApp : context.config.starters.sidecar;
620
- const starterExists = isTenantApp ? context.tenantAppStarterExists : context.sidecarStarterExists;
621
- const starterLabel = isTenantApp ? "tenant-app" : "sidecar";
647
+ const starter = id === "tenant_app"
648
+ ? context.config.starters.tenantApp
649
+ : id === "vuilder_app"
650
+ ? resolveVuilderAppStarterConfig(context.config)
651
+ : id === "vuilder_shell"
652
+ ? resolveVuilderShellStarterConfig(context.config)
653
+ : context.config.starters.sidecar;
654
+ const starterExists = id === "tenant_app"
655
+ ? context.tenantAppStarterExists
656
+ : id === "vuilder_app"
657
+ ? context.vuilderAppStarterExists
658
+ : id === "vuilder_shell"
659
+ ? context.vuilderShellStarterExists
660
+ : context.sidecarStarterExists;
661
+ const starterLabel = id === "tenant_app"
662
+ ? "tenant-app"
663
+ : id === "vuilder_app"
664
+ ? "vuilder-app"
665
+ : id === "vuilder_shell"
666
+ ? "vuilder-shell"
667
+ : "sidecar";
622
668
  const absolutePath = path.join(context.workspaceRoot, starter.path);
623
669
  if (!starter.enabled) {
624
670
  return {
@@ -654,6 +700,8 @@ function buildStarterSurface(context, id) {
654
700
  function collectPreviewSurfaceIssueCodes(surfaces) {
655
701
  const issueCodes = [];
656
702
  const tenantAppSurface = surfaces.find((surface) => surface.id === "tenant_app");
703
+ const vuilderAppSurface = surfaces.find((surface) => surface.id === "vuilder_app");
704
+ const vuilderShellSurface = surfaces.find((surface) => surface.id === "vuilder_shell");
657
705
  const sidecarSurface = surfaces.find((surface) => surface.id === "sidecar");
658
706
  if (tenantAppSurface?.status === "missing") {
659
707
  issueCodes.push("workspace.runtime.tenant_app_missing");
@@ -661,7 +709,16 @@ function collectPreviewSurfaceIssueCodes(surfaces) {
661
709
  if (sidecarSurface?.status === "missing") {
662
710
  issueCodes.push("workspace.runtime.sidecar_missing");
663
711
  }
664
- if ((tenantAppSurface?.status ?? "disabled") === "disabled" && (sidecarSurface?.status ?? "disabled") === "disabled") {
712
+ if (vuilderAppSurface?.status === "missing") {
713
+ issueCodes.push("workspace.runtime.vuilder_app_missing");
714
+ }
715
+ if (vuilderShellSurface?.status === "missing") {
716
+ issueCodes.push("workspace.runtime.vuilder_shell_missing");
717
+ }
718
+ if ((tenantAppSurface?.status ?? "disabled") === "disabled" &&
719
+ (vuilderAppSurface?.status ?? "disabled") === "disabled" &&
720
+ (vuilderShellSurface?.status ?? "disabled") === "disabled" &&
721
+ (sidecarSurface?.status ?? "disabled") === "disabled") {
665
722
  issueCodes.push("workspace.runtime.preview_surface_missing");
666
723
  }
667
724
  return issueCodes;
@@ -707,6 +764,26 @@ function buildLocalRuntimePreviewSteps(context) {
707
764
  program: "pnpm",
708
765
  });
709
766
  }
767
+ const vuilderAppStarter = resolveVuilderAppStarterConfig(context.config);
768
+ if (vuilderAppStarter.enabled && context.vuilderAppStarterExists) {
769
+ steps.push({
770
+ args: ["--dir", vuilderAppStarter.path, "dev"],
771
+ cwd: context.workspaceRoot,
772
+ detail: "Start the Vuilder public app preview surface.",
773
+ id: "vuilder_app_dev",
774
+ program: "pnpm",
775
+ });
776
+ }
777
+ const vuilderShellStarter = resolveVuilderShellStarterConfig(context.config);
778
+ if (vuilderShellStarter.enabled && context.vuilderShellStarterExists) {
779
+ steps.push({
780
+ args: ["--dir", vuilderShellStarter.path, "dev"],
781
+ cwd: context.workspaceRoot,
782
+ detail: "Start the Vuilder shell preview surface.",
783
+ id: "vuilder_shell_dev",
784
+ program: "pnpm",
785
+ });
786
+ }
710
787
  if (context.config.starters.sidecar.enabled && context.sidecarStarterExists) {
711
788
  steps.push({
712
789
  args: ["run", "uvicorn", "fastapi_sidecar.main:app", "--reload"],
@@ -729,6 +806,26 @@ function buildLocalRuntimeTestSteps(context) {
729
806
  program: "pnpm",
730
807
  });
731
808
  }
809
+ const vuilderAppStarter = resolveVuilderAppStarterConfig(context.config);
810
+ if (vuilderAppStarter.enabled && context.vuilderAppStarterExists) {
811
+ steps.push({
812
+ args: ["--dir", vuilderAppStarter.path, "test"],
813
+ cwd: context.workspaceRoot,
814
+ detail: "Run the Vuilder public app local test suite.",
815
+ id: "vuilder_app_test",
816
+ program: "pnpm",
817
+ });
818
+ }
819
+ const vuilderShellStarter = resolveVuilderShellStarterConfig(context.config);
820
+ if (vuilderShellStarter.enabled && context.vuilderShellStarterExists) {
821
+ steps.push({
822
+ args: ["--dir", vuilderShellStarter.path, "test"],
823
+ cwd: context.workspaceRoot,
824
+ detail: "Run the Vuilder shell local test suite.",
825
+ id: "vuilder_shell_test",
826
+ program: "pnpm",
827
+ });
828
+ }
732
829
  if (context.config.starters.sidecar.enabled && context.sidecarStarterExists) {
733
830
  steps.push({
734
831
  args: ["run", "pytest"],
@@ -743,7 +840,7 @@ function buildLocalRuntimeTestSteps(context) {
743
840
  export function collectDeployStatus(context) {
744
841
  const binding = context.bindingStatus.binding;
745
842
  const activeEnvironment = binding?.environment ?? null;
746
- const compiledRelease = resolveCompiledPreviewReleaseMetadata(context.compilerAnalysis.compileGraph, binding?.propertyKey ?? null);
843
+ const compiledRelease = resolveCompiledPreviewReleaseMetadata(context.compilerAnalysis.compileGraph, binding);
747
844
  const previewState = resolvePreviewDeployStateForBinding(context.previewDeployState, binding);
748
845
  const previewPrerequisiteCodes = collectDeployPrerequisiteCodes({
749
846
  binding,
@@ -810,6 +907,8 @@ export function collectCapabilityInventory(context) {
810
907
  buildLiveDeployTargetStatus(context, false);
811
908
  const enabledStarters = [
812
909
  context.config.starters.tenantApp.enabled ? "tenant-app" : null,
910
+ resolveVuilderAppStarterConfig(context.config).enabled ? "vuilder-app" : null,
911
+ resolveVuilderShellStarterConfig(context.config).enabled ? "vuilder-shell" : null,
813
912
  context.config.starters.sidecar.enabled ? "sidecar" : null,
814
913
  resolveMobileStarterConfig(context.config).enabled ? "mobile" : null,
815
914
  ].filter((starter) => starter !== null);
@@ -835,9 +934,9 @@ export function collectCapabilityInventory(context) {
835
934
  "runtime-local Builder host work initiated from the developer-local broker lane",
836
935
  ],
837
936
  detail: "Generated workspaces can inspect local authoring, compile-graph, and preview deploy posture, but they do not imply full live runtime descriptor or live-public deployment coverage.",
838
- hostedPreviewDeploy: "Hosted preview/deploy remains narrower than local authoring: the current external alpha lane centers on tenant-app preview deploys and does not imply sidecar, mobile, or runtime-backed deploy support.",
839
- localAuthoring: "Developer-local MinuteWork authoring currently supports tenant-app, sidecar, mobile, or combinations through the broker plus the local sandbox/workspace MCP lane. Mobile is a standalone native client, not a hosted deploy lane.",
840
- supportedLocalAuthoringSurfaces: ["tenant-app", "sidecar", "mobile", "combinations"],
937
+ hostedPreviewDeploy: "Hosted preview/deploy remains narrower than local authoring: hosted web starters can preview deploy, while sidecar/runtime-backed deploy support remains separate from mobile distribution.",
938
+ localAuthoring: "Developer-local MinuteWork authoring supports tenant-app, vuilder-app, vuilder-shell, sidecar, mobile, or combinations through the broker plus the local sandbox/workspace MCP lane. Mobile is a standalone native client, not a hosted deploy lane.",
939
+ supportedLocalAuthoringSurfaces: ["tenant-app", "vuilder-app", "vuilder-shell", "sidecar", "mobile", "combinations"],
841
940
  },
842
941
  authAndBindingInventory: {
843
942
  authStatus: context.authStatus.status,
@@ -866,6 +965,8 @@ export function collectCapabilityInventory(context) {
866
965
  },
867
966
  contractualDefaults: [
868
967
  "`tenant-app` is the combined public plus private web starter.",
968
+ "`vuilder-app` is the Vuilder public landing/blog/onboarding site backed by public-dj manifests.",
969
+ "`vuilder-shell` is the Vuilder-branded customer tenant shell; it customizes tenant UX, not identity/provisioning/install authority.",
869
970
  "`mobile` is a standalone Expo/React Native client that talks directly to platform native session endpoints; it is not a tenant-app BFF or sidecar.",
870
971
  "`mw.core.site` is a first-party baseline runtime capability by architecture contract.",
871
972
  "Generated workspaces are developer-local authoring clients, not live runtime descriptors.",
@@ -1063,7 +1164,7 @@ function buildPreviewDeployTargetStatus(options) {
1063
1164
  compiledRelease: null,
1064
1165
  currentPreviewUrl: previewUrl,
1065
1166
  currentTarget: options.currentTarget,
1066
- detail: "The linked preview target does not have current hosted release metadata. Re-run `minutework compile` after confirming tenant-app preview env defaults.",
1167
+ detail: "The linked preview target does not have current hosted release metadata. Re-run `minutework compile` after confirming hosted starter preview env defaults.",
1067
1168
  environment: "preview",
1068
1169
  lastRequestedAt: options.previewState?.lastRequestedAt ?? null,
1069
1170
  lastRequestedReceiptId: options.previewState?.lastRequestedReceiptId ?? null,
@@ -1163,13 +1264,15 @@ function collectDeployPrerequisiteCodes(options) {
1163
1264
  }
1164
1265
  return Array.from(new Set(codes));
1165
1266
  }
1166
- function resolveCompiledPreviewReleaseMetadata(compileGraph, propertyKey) {
1167
- if (!compileGraph || !propertyKey) {
1267
+ function resolveCompiledPreviewReleaseMetadata(compileGraph, binding) {
1268
+ if (!compileGraph || !binding?.propertyKey) {
1168
1269
  return null;
1169
1270
  }
1170
1271
  for (const document of compileGraph.documents.releaseMetadata) {
1171
1272
  const parsed = HostedPreviewReleaseMetadataSchema.safeParse(document);
1172
- if (parsed.success && parsed.data.propertyKey === propertyKey) {
1273
+ if (parsed.success &&
1274
+ parsed.data.propertyKey === binding.propertyKey &&
1275
+ (!binding.starterId || parsed.data.starterId === binding.starterId)) {
1173
1276
  return mapCompiledRelease(parsed.data);
1174
1277
  }
1175
1278
  }
@@ -1481,9 +1584,13 @@ function buildStarter(id, context) {
1481
1584
  function buildNormalizedStarterConfig(id, context) {
1482
1585
  const starter = id === "tenant-app"
1483
1586
  ? context.config.starters.tenantApp
1484
- : id === "sidecar"
1485
- ? context.config.starters.sidecar
1486
- : resolveMobileStarterConfig(context.config);
1587
+ : id === "vuilder-app"
1588
+ ? resolveVuilderAppStarterConfig(context.config)
1589
+ : id === "vuilder-shell"
1590
+ ? resolveVuilderShellStarterConfig(context.config)
1591
+ : id === "sidecar"
1592
+ ? context.config.starters.sidecar
1593
+ : resolveMobileStarterConfig(context.config);
1487
1594
  return {
1488
1595
  absolutePath: path.join(context.workspaceRoot, starter.path),
1489
1596
  enabled: starter.enabled,
@@ -1493,6 +1600,12 @@ function buildNormalizedStarterConfig(id, context) {
1493
1600
  function resolveMobileStarterConfig(config) {
1494
1601
  return config.starters.mobile ?? { enabled: false, path: "mobile" };
1495
1602
  }
1603
+ function resolveVuilderAppStarterConfig(config) {
1604
+ return config.starters.vuilderApp ?? { enabled: false, path: "vuilder-app" };
1605
+ }
1606
+ function resolveVuilderShellStarterConfig(config) {
1607
+ return config.starters.vuilderShell ?? { enabled: false, path: "vuilder-shell" };
1608
+ }
1496
1609
  function collectPrerequisiteCodes(context) {
1497
1610
  return [
1498
1611
  ...context.diagnostics.filter((item) => item.severity !== "info").map((item) => item.code),