buildx-cli 1.8.36 → 1.8.38

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.
package/README.md CHANGED
@@ -292,6 +292,12 @@ Next.js starter behavior (`--app next`):
292
292
  - includes built-in theme mode setup (`light|dark|system`) with toggle.
293
293
  - includes built-in locale setup (`en|th`) with selector.
294
294
  - default web UI stack is HeroUI (`@heroui/react`) as primary component framework.
295
+ - generated provider wiring does not import/wrap `HeroUIProvider` (compatibility with current HeroUI export surface).
296
+ - generated auth wiring supports dual mode:
297
+ - `buildx` mode (root auth API, no project scope)
298
+ - `project` mode (project-scoped auth API with project id)
299
+ - `auto` mode (uses project id only when provided)
300
+ - starter card layout uses `CardContent` (not `CardBody`) for current HeroUI package compatibility.
295
301
  - auth screens use shared UI pack components without forcing full-screen background, so page/layout background is controlled by the generated app.
296
302
 
297
303
  Expo starter behavior (`--app expo`):
@@ -305,6 +311,7 @@ Expo starter behavior (`--app expo`):
305
311
  - includes required `heroui-native` peer dependencies: `uniwind`, `tailwind-merge`, `tailwind-variants`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`.
306
312
  - includes `react-native-worklets` dependency required by current `react-native-reanimated` chain.
307
313
  - keeps auth state split (public/private view) and uses shared Buildx auth provider wiring.
314
+ - generated auth wiring supports dual mode (`buildx|project|auto`) with project-id forwarding on auth actions.
308
315
  - includes starter auth flows on mobile:
309
316
  - sign-in (username/password)
310
317
  - sign-up (name/email/tel support)
@@ -350,6 +357,11 @@ Generated auth-aware structure:
350
357
  - public screen tree for unauthenticated users
351
358
  - private screen tree for authenticated users
352
359
  - mobile-first baseline with `heroui-native` provider
360
+ - Generated auth mode env defaults:
361
+ - `NEXT_PUBLIC_BUILDX_AUTH_MODE` / `EXPO_PUBLIC_BUILDX_AUTH_MODE` / `VITE_BUILDX_AUTH_MODE` (default: `auto`)
362
+ - `NEXT_PUBLIC_BUILDX_PROJECT_ID` / `EXPO_PUBLIC_BUILDX_PROJECT_ID` / `VITE_BUILDX_PROJECT_ID` used as default project scope in `project` mode
363
+ - in `project` mode, generated auth forms pass `projectId` explicitly to auth actions
364
+ - in `buildx` mode, generated auth provider forces root scope (no project id)
353
365
  - Scaffold layout is single-level:
354
366
  - app package files are generated at workspace root (no `apps/web` nesting)
355
367
  - `buildx/` artifacts are generated at root level alongside app files
@@ -364,25 +376,61 @@ UI package dependency resolution:
364
376
  Notes:
365
377
  - Next scaffold requires npm registry connectivity for `create-next-app`.
366
378
  - Use `--dry-run` to preview file plan without running scaffold commands.
379
+ - After backend bootstrap, `project:init` automatically runs initial pull via CLI:
380
+ - `schema:pull --target-dir <workspace>/buildx/generated`
381
+ - `function:pull --target-dir <workspace>/buildx`
382
+ - `ai-function:pull --target-dir <workspace>/buildx/ai-functions`
383
+ - `template:pull --target-dir <workspace>/buildx/templates`
384
+ so starter artifact docs/structure are available immediately.
367
385
  - Generated projects are package-manager agnostic (no forced `packageManager` lock in generated `package.json`).
368
386
  - Next `app/globals.css` is normalized with Tailwind `@source` to include UI pack classes from `node_modules` (prevents missing utilities like `grid-cols-2` from shared components).
369
387
  - Next starter includes `@heroui/react` by default.
370
388
  - Expo starter includes `heroui-native` by default.
371
389
 
372
- ### New Project Maintenance
390
+ ### Standard Artifact Guideline
373
391
 
374
- After `project:init`, use these commands to maintain local/remote artifact parity:
392
+ Use this as the standard workflow for project artifacts after `project:init`.
393
+
394
+ Scope and location:
395
+ - schema artifacts: `buildx/generated/*`
396
+ - function artifacts: `buildx/functions/*`
397
+ - AI function artifacts: `buildx/ai-functions/*`
398
+ - template artifacts: `buildx/templates/*`
399
+
400
+ Initial sync baseline:
401
+ - `project:init` auto-pulls all artifact groups (`schema`, `function`, `ai-function`, `template`).
402
+
403
+ Daily standard loop (recommended):
404
+ 1. Pull latest remote artifacts first.
405
+ 2. Edit local files.
406
+ 3. Diff against remote.
407
+ 4. Push with `--dry-run`.
408
+ 5. Push for real after review.
375
409
 
376
410
  ```bash
377
- # schema lifecycle
411
+ # 1) pull latest (all artifact groups)
378
412
  npx buildx-cli schema:pull --project-id <project-id>
379
- npx buildx-cli schema:diff --project-id <project-id>
380
- npx buildx-cli schema:push --project-id <project-id> --dry-run
381
-
382
- # function lifecycle
383
413
  npx buildx-cli function:pull --project-id <project-id>
414
+ npx buildx-cli ai-function:pull --project-id <project-id>
415
+ npx buildx-cli template:pull --project-id <project-id>
416
+
417
+ # 2) diff before push
418
+ npx buildx-cli schema:diff --project-id <project-id> --details
384
419
  npx buildx-cli function:diff --project-id <project-id>
420
+ npx buildx-cli ai-function:diff --project-id <project-id>
421
+ npx buildx-cli template:diff --project-id <project-id>
422
+
423
+ # 3) dry-run push
424
+ npx buildx-cli schema:push --project-id <project-id> --dry-run
385
425
  npx buildx-cli function:push --project-id <project-id> --dry-run
426
+ npx buildx-cli ai-function:push --project-id <project-id> --dry-run
427
+ npx buildx-cli template:push --project-id <project-id> --dry-run
428
+
429
+ # 4) push for real
430
+ npx buildx-cli schema:push --project-id <project-id>
431
+ npx buildx-cli function:push --project-id <project-id>
432
+ npx buildx-cli ai-function:push --project-id <project-id>
433
+ npx buildx-cli template:push --project-id <project-id>
386
434
  ```
387
435
 
388
436
  ### Users
@@ -553,6 +601,10 @@ Field annotations (JSDoc in `types.ts`) are supported:
553
601
  - `@bx.validate <json_or_string>`
554
602
  - `@bx.props <json-object>` (merge custom keys into `propertiesScheme`)
555
603
 
604
+ Required behavior:
605
+ - converter does not auto-assume `required: true` from non-optional TypeScript syntax by default.
606
+ - use `@bx.required` (or `@bx.required false`) for explicit required control.
607
+
556
608
  System-managed fields:
557
609
  - `createdAt`, `updatedAt`, `createdBy`, `updatedBy` in `types.ts` are ignored by convert output and never synced back
558
610
 
package/dist/README.md CHANGED
@@ -292,6 +292,12 @@ Next.js starter behavior (`--app next`):
292
292
  - includes built-in theme mode setup (`light|dark|system`) with toggle.
293
293
  - includes built-in locale setup (`en|th`) with selector.
294
294
  - default web UI stack is HeroUI (`@heroui/react`) as primary component framework.
295
+ - generated provider wiring does not import/wrap `HeroUIProvider` (compatibility with current HeroUI export surface).
296
+ - generated auth wiring supports dual mode:
297
+ - `buildx` mode (root auth API, no project scope)
298
+ - `project` mode (project-scoped auth API with project id)
299
+ - `auto` mode (uses project id only when provided)
300
+ - starter card layout uses `CardContent` (not `CardBody`) for current HeroUI package compatibility.
295
301
  - auth screens use shared UI pack components without forcing full-screen background, so page/layout background is controlled by the generated app.
296
302
 
297
303
  Expo starter behavior (`--app expo`):
@@ -305,6 +311,7 @@ Expo starter behavior (`--app expo`):
305
311
  - includes required `heroui-native` peer dependencies: `uniwind`, `tailwind-merge`, `tailwind-variants`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`.
306
312
  - includes `react-native-worklets` dependency required by current `react-native-reanimated` chain.
307
313
  - keeps auth state split (public/private view) and uses shared Buildx auth provider wiring.
314
+ - generated auth wiring supports dual mode (`buildx|project|auto`) with project-id forwarding on auth actions.
308
315
  - includes starter auth flows on mobile:
309
316
  - sign-in (username/password)
310
317
  - sign-up (name/email/tel support)
@@ -350,6 +357,11 @@ Generated auth-aware structure:
350
357
  - public screen tree for unauthenticated users
351
358
  - private screen tree for authenticated users
352
359
  - mobile-first baseline with `heroui-native` provider
360
+ - Generated auth mode env defaults:
361
+ - `NEXT_PUBLIC_BUILDX_AUTH_MODE` / `EXPO_PUBLIC_BUILDX_AUTH_MODE` / `VITE_BUILDX_AUTH_MODE` (default: `auto`)
362
+ - `NEXT_PUBLIC_BUILDX_PROJECT_ID` / `EXPO_PUBLIC_BUILDX_PROJECT_ID` / `VITE_BUILDX_PROJECT_ID` used as default project scope in `project` mode
363
+ - in `project` mode, generated auth forms pass `projectId` explicitly to auth actions
364
+ - in `buildx` mode, generated auth provider forces root scope (no project id)
353
365
  - Scaffold layout is single-level:
354
366
  - app package files are generated at workspace root (no `apps/web` nesting)
355
367
  - `buildx/` artifacts are generated at root level alongside app files
@@ -364,25 +376,61 @@ UI package dependency resolution:
364
376
  Notes:
365
377
  - Next scaffold requires npm registry connectivity for `create-next-app`.
366
378
  - Use `--dry-run` to preview file plan without running scaffold commands.
379
+ - After backend bootstrap, `project:init` automatically runs initial pull via CLI:
380
+ - `schema:pull --target-dir <workspace>/buildx/generated`
381
+ - `function:pull --target-dir <workspace>/buildx`
382
+ - `ai-function:pull --target-dir <workspace>/buildx/ai-functions`
383
+ - `template:pull --target-dir <workspace>/buildx/templates`
384
+ so starter artifact docs/structure are available immediately.
367
385
  - Generated projects are package-manager agnostic (no forced `packageManager` lock in generated `package.json`).
368
386
  - Next `app/globals.css` is normalized with Tailwind `@source` to include UI pack classes from `node_modules` (prevents missing utilities like `grid-cols-2` from shared components).
369
387
  - Next starter includes `@heroui/react` by default.
370
388
  - Expo starter includes `heroui-native` by default.
371
389
 
372
- ### New Project Maintenance
390
+ ### Standard Artifact Guideline
373
391
 
374
- After `project:init`, use these commands to maintain local/remote artifact parity:
392
+ Use this as the standard workflow for project artifacts after `project:init`.
393
+
394
+ Scope and location:
395
+ - schema artifacts: `buildx/generated/*`
396
+ - function artifacts: `buildx/functions/*`
397
+ - AI function artifacts: `buildx/ai-functions/*`
398
+ - template artifacts: `buildx/templates/*`
399
+
400
+ Initial sync baseline:
401
+ - `project:init` auto-pulls all artifact groups (`schema`, `function`, `ai-function`, `template`).
402
+
403
+ Daily standard loop (recommended):
404
+ 1. Pull latest remote artifacts first.
405
+ 2. Edit local files.
406
+ 3. Diff against remote.
407
+ 4. Push with `--dry-run`.
408
+ 5. Push for real after review.
375
409
 
376
410
  ```bash
377
- # schema lifecycle
411
+ # 1) pull latest (all artifact groups)
378
412
  npx buildx-cli schema:pull --project-id <project-id>
379
- npx buildx-cli schema:diff --project-id <project-id>
380
- npx buildx-cli schema:push --project-id <project-id> --dry-run
381
-
382
- # function lifecycle
383
413
  npx buildx-cli function:pull --project-id <project-id>
414
+ npx buildx-cli ai-function:pull --project-id <project-id>
415
+ npx buildx-cli template:pull --project-id <project-id>
416
+
417
+ # 2) diff before push
418
+ npx buildx-cli schema:diff --project-id <project-id> --details
384
419
  npx buildx-cli function:diff --project-id <project-id>
420
+ npx buildx-cli ai-function:diff --project-id <project-id>
421
+ npx buildx-cli template:diff --project-id <project-id>
422
+
423
+ # 3) dry-run push
424
+ npx buildx-cli schema:push --project-id <project-id> --dry-run
385
425
  npx buildx-cli function:push --project-id <project-id> --dry-run
426
+ npx buildx-cli ai-function:push --project-id <project-id> --dry-run
427
+ npx buildx-cli template:push --project-id <project-id> --dry-run
428
+
429
+ # 4) push for real
430
+ npx buildx-cli schema:push --project-id <project-id>
431
+ npx buildx-cli function:push --project-id <project-id>
432
+ npx buildx-cli ai-function:push --project-id <project-id>
433
+ npx buildx-cli template:push --project-id <project-id>
386
434
  ```
387
435
 
388
436
  ### Users
@@ -553,6 +601,10 @@ Field annotations (JSDoc in `types.ts`) are supported:
553
601
  - `@bx.validate <json_or_string>`
554
602
  - `@bx.props <json-object>` (merge custom keys into `propertiesScheme`)
555
603
 
604
+ Required behavior:
605
+ - converter does not auto-assume `required: true` from non-optional TypeScript syntax by default.
606
+ - use `@bx.required` (or `@bx.required false`) for explicit required control.
607
+
556
608
  System-managed fields:
557
609
  - `createdAt`, `updatedAt`, `createdBy`, `updatedBy` in `types.ts` are ignored by convert output and never synced back
558
610