buildx-cli 1.8.24 → 1.8.26

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
@@ -236,6 +236,7 @@ Key options:
236
236
  - `--react-stack <vite|next|expo-web>`: required when `--app react`
237
237
  - `--out-dir <path>`: output workspace directory (default `./<project-id>`)
238
238
  - `--overwrite`: allow writing into non-empty output directory
239
+ - `--use-existing`: allow using existing `project_id` without creating a new backend project
239
240
  - `--dry-run`: compute output without writing files or calling APIs
240
241
  - `--json`: print machine-readable result
241
242
 
@@ -256,8 +257,45 @@ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app
256
257
 
257
258
  # backend + Expo app
258
259
  npx buildx-cli project:init --project-id hello-world --name "Hello World" --app expo
260
+
261
+ # existing backend project id (reuse backend, scaffold local files)
262
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app next --use-existing
259
263
  ```
260
264
 
265
+ Existing project behavior:
266
+ - CLI checks existing project IDs before create.
267
+ - If `project_id` already exists:
268
+ - interactive mode asks for confirmation to continue with existing backend.
269
+ - with `--use-existing`, CLI skips confirmation and continues directly.
270
+ - with `--json` and no `--use-existing`, CLI exits with error (no interactive prompt in JSON mode).
271
+
272
+ Next.js starter behavior (`--app next`):
273
+ - public/private route split remains (`app/(public)` and `app/(private)`).
274
+ - root app shell includes a reusable navbar.
275
+ - includes built-in theme mode setup (`light|dark|system`) with toggle.
276
+ - includes built-in locale setup (`en|th`) with selector.
277
+ - default web UI stack is HeroUI (`@heroui/react`) as primary component framework.
278
+ - auth screens use shared UI pack components without forcing full-screen background, so page/layout background is controlled by the generated app.
279
+
280
+ Expo starter behavior (`--app expo`):
281
+ - scaffold base runs `npx create-expo-app@latest` (TypeScript template) first.
282
+ - mobile-first scaffold with HeroUI Native (`heroui-native`) provider and starter controls.
283
+ - starter provider defaults disable animated-style helper noise for custom-style scaffolds:
284
+ - `isAnimatedStyleActive={false}`
285
+ - `config.devInfo.stylingPrinciples=false`
286
+ - includes required `heroui-native` peer dependencies: `uniwind`, `tailwind-merge`, `tailwind-variants`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`.
287
+ - includes `react-native-worklets` dependency required by current `react-native-reanimated` chain.
288
+ - keeps auth state split (public/private view) and uses shared Buildx auth provider wiring.
289
+ - includes starter auth flows on mobile:
290
+ - sign-in (username/password)
291
+ - sign-up (name/email/tel support)
292
+ - EOTP request + verify
293
+ - forgot/reset password
294
+ - private change-password form
295
+ - after Buildx dependency rewiring, CLI runs install to ensure added packages are available immediately.
296
+ - CLI also runs `expo install` for native compatibility packages (`react-native-reanimated`, `react-native-safe-area-context`, `react-native-screens`, `react-native-svg`, `react-native-worklets`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`) to align with Expo SDK expectations.
297
+ - generated Expo app includes `global.css` setup for Uniwind + HeroUI Native styles and wraps app with `GestureHandlerRootView`.
298
+
261
299
  #### `project:add-pack`
262
300
  Add Buildx pack dependencies into an existing project package.
263
301
 
@@ -281,14 +319,17 @@ Generated auth-aware structure:
281
319
  - Next.js scaffold source:
282
320
  - `project:init --app next` runs `npx create-next-app@latest` first (TypeScript + App Router)
283
321
  - then applies Buildx auth/public-private route wiring and maintenance scripts
322
+ - then runs dependency install to ensure added Buildx/HeroUI packages are present before first `dev`
284
323
  - Next.js template uses route groups for separation:
285
324
  - `app/(public)/...` (sign-in/sign-up/forgot-password)
286
325
  - `app/(private)/...` (protected dashboard)
287
- - preserves create-next-app root `app/layout.tsx` (no hard overwrite)
326
+ - rewrites root `app/layout.tsx` and starter shell to include provider wiring (auth + theme + locale)
288
327
  - starter root `app/page.tsx` includes generic `Dashboard`, `Sign in`, and `Sign up` links with usage description
289
328
  - Expo template uses auth-state route split in `App.tsx`:
329
+ - `project:init --app expo` runs `npx create-expo-app@latest` first
290
330
  - public screen tree for unauthenticated users
291
331
  - private screen tree for authenticated users
332
+ - mobile-first baseline with `heroui-native` provider
292
333
  - Scaffold layout is single-level:
293
334
  - app package files are generated at workspace root (no `apps/web` nesting)
294
335
  - `buildx/` artifacts are generated at root level alongside app files
@@ -296,7 +337,7 @@ Generated auth-aware structure:
296
337
  UI package dependency resolution:
297
338
  - generated apps depend on package from env `BUILDX_UI_PACKS_PACKAGE`
298
339
  - default package name is `buildx-react-ui-packs`
299
- - default package version is `^1.8.3` (override via `BUILDX_UI_PACKS_VERSION`)
340
+ - default package version/tag is `latest` (override via `BUILDX_UI_PACKS_VERSION`)
300
341
  - set a scoped package before seeding when unscoped npm name is unavailable:
301
342
  - `BUILDX_UI_PACKS_PACKAGE=@your-scope/buildx-react-ui-packs npx buildx-cli project:init ...`
302
343
 
@@ -305,6 +346,8 @@ Notes:
305
346
  - Use `--dry-run` to preview file plan without running scaffold commands.
306
347
  - Generated projects are package-manager agnostic (no forced `packageManager` lock in generated `package.json`).
307
348
  - 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).
349
+ - Next starter includes `@heroui/react` by default.
350
+ - Expo starter includes `heroui-native` by default.
308
351
 
309
352
  ### New Project Maintenance
310
353
 
package/dist/README.md CHANGED
@@ -236,6 +236,7 @@ Key options:
236
236
  - `--react-stack <vite|next|expo-web>`: required when `--app react`
237
237
  - `--out-dir <path>`: output workspace directory (default `./<project-id>`)
238
238
  - `--overwrite`: allow writing into non-empty output directory
239
+ - `--use-existing`: allow using existing `project_id` without creating a new backend project
239
240
  - `--dry-run`: compute output without writing files or calling APIs
240
241
  - `--json`: print machine-readable result
241
242
 
@@ -256,8 +257,45 @@ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app
256
257
 
257
258
  # backend + Expo app
258
259
  npx buildx-cli project:init --project-id hello-world --name "Hello World" --app expo
260
+
261
+ # existing backend project id (reuse backend, scaffold local files)
262
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app next --use-existing
259
263
  ```
260
264
 
265
+ Existing project behavior:
266
+ - CLI checks existing project IDs before create.
267
+ - If `project_id` already exists:
268
+ - interactive mode asks for confirmation to continue with existing backend.
269
+ - with `--use-existing`, CLI skips confirmation and continues directly.
270
+ - with `--json` and no `--use-existing`, CLI exits with error (no interactive prompt in JSON mode).
271
+
272
+ Next.js starter behavior (`--app next`):
273
+ - public/private route split remains (`app/(public)` and `app/(private)`).
274
+ - root app shell includes a reusable navbar.
275
+ - includes built-in theme mode setup (`light|dark|system`) with toggle.
276
+ - includes built-in locale setup (`en|th`) with selector.
277
+ - default web UI stack is HeroUI (`@heroui/react`) as primary component framework.
278
+ - auth screens use shared UI pack components without forcing full-screen background, so page/layout background is controlled by the generated app.
279
+
280
+ Expo starter behavior (`--app expo`):
281
+ - scaffold base runs `npx create-expo-app@latest` (TypeScript template) first.
282
+ - mobile-first scaffold with HeroUI Native (`heroui-native`) provider and starter controls.
283
+ - starter provider defaults disable animated-style helper noise for custom-style scaffolds:
284
+ - `isAnimatedStyleActive={false}`
285
+ - `config.devInfo.stylingPrinciples=false`
286
+ - includes required `heroui-native` peer dependencies: `uniwind`, `tailwind-merge`, `tailwind-variants`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`.
287
+ - includes `react-native-worklets` dependency required by current `react-native-reanimated` chain.
288
+ - keeps auth state split (public/private view) and uses shared Buildx auth provider wiring.
289
+ - includes starter auth flows on mobile:
290
+ - sign-in (username/password)
291
+ - sign-up (name/email/tel support)
292
+ - EOTP request + verify
293
+ - forgot/reset password
294
+ - private change-password form
295
+ - after Buildx dependency rewiring, CLI runs install to ensure added packages are available immediately.
296
+ - CLI also runs `expo install` for native compatibility packages (`react-native-reanimated`, `react-native-safe-area-context`, `react-native-screens`, `react-native-svg`, `react-native-worklets`, `react-native-gesture-handler`, `@gorhom/bottom-sheet`) to align with Expo SDK expectations.
297
+ - generated Expo app includes `global.css` setup for Uniwind + HeroUI Native styles and wraps app with `GestureHandlerRootView`.
298
+
261
299
  #### `project:add-pack`
262
300
  Add Buildx pack dependencies into an existing project package.
263
301
 
@@ -281,14 +319,17 @@ Generated auth-aware structure:
281
319
  - Next.js scaffold source:
282
320
  - `project:init --app next` runs `npx create-next-app@latest` first (TypeScript + App Router)
283
321
  - then applies Buildx auth/public-private route wiring and maintenance scripts
322
+ - then runs dependency install to ensure added Buildx/HeroUI packages are present before first `dev`
284
323
  - Next.js template uses route groups for separation:
285
324
  - `app/(public)/...` (sign-in/sign-up/forgot-password)
286
325
  - `app/(private)/...` (protected dashboard)
287
- - preserves create-next-app root `app/layout.tsx` (no hard overwrite)
326
+ - rewrites root `app/layout.tsx` and starter shell to include provider wiring (auth + theme + locale)
288
327
  - starter root `app/page.tsx` includes generic `Dashboard`, `Sign in`, and `Sign up` links with usage description
289
328
  - Expo template uses auth-state route split in `App.tsx`:
329
+ - `project:init --app expo` runs `npx create-expo-app@latest` first
290
330
  - public screen tree for unauthenticated users
291
331
  - private screen tree for authenticated users
332
+ - mobile-first baseline with `heroui-native` provider
292
333
  - Scaffold layout is single-level:
293
334
  - app package files are generated at workspace root (no `apps/web` nesting)
294
335
  - `buildx/` artifacts are generated at root level alongside app files
@@ -296,7 +337,7 @@ Generated auth-aware structure:
296
337
  UI package dependency resolution:
297
338
  - generated apps depend on package from env `BUILDX_UI_PACKS_PACKAGE`
298
339
  - default package name is `buildx-react-ui-packs`
299
- - default package version is `^1.8.3` (override via `BUILDX_UI_PACKS_VERSION`)
340
+ - default package version/tag is `latest` (override via `BUILDX_UI_PACKS_VERSION`)
300
341
  - set a scoped package before seeding when unscoped npm name is unavailable:
301
342
  - `BUILDX_UI_PACKS_PACKAGE=@your-scope/buildx-react-ui-packs npx buildx-cli project:init ...`
302
343
 
@@ -305,6 +346,8 @@ Notes:
305
346
  - Use `--dry-run` to preview file plan without running scaffold commands.
306
347
  - Generated projects are package-manager agnostic (no forced `packageManager` lock in generated `package.json`).
307
348
  - 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).
349
+ - Next starter includes `@heroui/react` by default.
350
+ - Expo starter includes `heroui-native` by default.
308
351
 
309
352
  ### New Project Maintenance
310
353