buildx-cli 1.8.18 → 1.8.20

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
@@ -160,6 +160,12 @@ Lists available projects for the authenticated account.
160
160
  npx buildx-cli projects:list
161
161
  ```
162
162
 
163
+ Filter by product key (`project.product.key`):
164
+
165
+ ```bash
166
+ npx buildx-cli projects:list --product-key approval
167
+ ```
168
+
163
169
  #### `projects:set-default <project-id>`
164
170
  Sets default project used by commands when `--project-id` is not provided.
165
171
 
@@ -213,6 +219,65 @@ Validate locale format before saving.
213
219
  npx buildx-cli projects:locale:validate --default-language en-US --timezone UTC
214
220
  ```
215
221
 
222
+ #### `project:init`
223
+ Initialize a new Buildx project and optional app scaffold.
224
+
225
+ Modes:
226
+ - `plain`: creates standalone project via `POST /projects`.
227
+ - `product`: tries `POST /product/:product_key/projects`, then falls back to `plain` when product creation is denied (for example non-root auth).
228
+
229
+ Key options:
230
+ - `--project-id <id>`: target project ID (required)
231
+ - `--name <name>`: project name (required)
232
+ - `--description <text>`: project description (optional)
233
+ - `--product-key <key>`: enable product mode first, with fallback to plain mode
234
+ - `--app <none|next|expo|react>`: app scaffold target (default `none`)
235
+ - `--react-stack <vite|next|expo-web>`: required when `--app react`
236
+ - `--out-dir <path>`: output workspace directory (default `./<project-id>`)
237
+ - `--overwrite`: allow writing into non-empty output directory
238
+ - `--dry-run`: compute output without writing files or calling APIs
239
+ - `--json`: print machine-readable result
240
+
241
+ Examples:
242
+
243
+ ```bash
244
+ # backend only (plain mode)
245
+ npx buildx-cli project:init --project-id hello-world --name "Hello World"
246
+
247
+ # product mode first, fallback to plain when not allowed
248
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --product-key approval
249
+
250
+ # backend + Next.js app
251
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app next
252
+
253
+ # backend + Expo app
254
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app expo
255
+ ```
256
+
257
+ Generated auth-aware structure:
258
+ - Next.js template uses route groups for separation:
259
+ - `app/(public)/...` (sign-in/sign-up/forgot-password)
260
+ - `app/(private)/...` (protected dashboard)
261
+ - Expo template uses auth-state route split in `App.tsx`:
262
+ - public screen tree for unauthenticated users
263
+ - private screen tree for authenticated users
264
+
265
+ ### New Project Maintenance
266
+
267
+ After `project:init`, use these commands to maintain local/remote artifact parity:
268
+
269
+ ```bash
270
+ # schema lifecycle
271
+ npx buildx-cli schema:pull --project-id <project-id>
272
+ npx buildx-cli schema:diff --project-id <project-id>
273
+ npx buildx-cli schema:push --project-id <project-id> --dry-run
274
+
275
+ # function lifecycle
276
+ npx buildx-cli function:pull --project-id <project-id>
277
+ npx buildx-cli function:diff --project-id <project-id>
278
+ npx buildx-cli function:push --project-id <project-id> --dry-run
279
+ ```
280
+
216
281
  ### Users
217
282
 
218
283
  #### `user:list`
@@ -333,6 +398,7 @@ Behavior:
333
398
 
334
399
  Key options:
335
400
  - `-p, --project-id <id>`
401
+ - `--product-key <key>` push to all projects where `project.product.key` matches (cannot be used with `--project-id`)
336
402
  - `-t, --target-dir <path>`
337
403
  - `--collections-file <path>` (when no `--target-dir`)
338
404
  - `--filter <pattern...>`
@@ -341,6 +407,7 @@ Key options:
341
407
 
342
408
  ```bash
343
409
  npx buildx-cli schema:push --project-id hello-world --target-dir ./.sandbox/buildx-cli --dry-run
410
+ npx buildx-cli schema:push --product-key approval --target-dir ./.sandbox/buildx-cli --dry-run
344
411
  ```
345
412
 
346
413
  #### `schema:types:convert`
@@ -478,6 +545,7 @@ Behavior:
478
545
 
479
546
  Key options:
480
547
  - `-p, --project-id <id>`
548
+ - `--product-key <key>` push to all projects where `project.product.key` matches (cannot be used with `--project-id`)
481
549
  - `-t, --target-dir <path>`
482
550
  - `--functions-dir <path>` (when no `--target-dir`)
483
551
  - `-n, --name <function-name>` for a single function
@@ -489,6 +557,7 @@ Key options:
489
557
 
490
558
  ```bash
491
559
  npx buildx-cli function:push --project-id hello-world --target-dir ./.sandbox/buildx-cli --dry-run
560
+ npx buildx-cli function:push --product-key approval --target-dir ./.sandbox/buildx-cli --dry-run
492
561
  ```
493
562
 
494
563
  #### `function:list`
package/dist/README.md CHANGED
@@ -160,6 +160,12 @@ Lists available projects for the authenticated account.
160
160
  npx buildx-cli projects:list
161
161
  ```
162
162
 
163
+ Filter by product key (`project.product.key`):
164
+
165
+ ```bash
166
+ npx buildx-cli projects:list --product-key approval
167
+ ```
168
+
163
169
  #### `projects:set-default <project-id>`
164
170
  Sets default project used by commands when `--project-id` is not provided.
165
171
 
@@ -213,6 +219,65 @@ Validate locale format before saving.
213
219
  npx buildx-cli projects:locale:validate --default-language en-US --timezone UTC
214
220
  ```
215
221
 
222
+ #### `project:init`
223
+ Initialize a new Buildx project and optional app scaffold.
224
+
225
+ Modes:
226
+ - `plain`: creates standalone project via `POST /projects`.
227
+ - `product`: tries `POST /product/:product_key/projects`, then falls back to `plain` when product creation is denied (for example non-root auth).
228
+
229
+ Key options:
230
+ - `--project-id <id>`: target project ID (required)
231
+ - `--name <name>`: project name (required)
232
+ - `--description <text>`: project description (optional)
233
+ - `--product-key <key>`: enable product mode first, with fallback to plain mode
234
+ - `--app <none|next|expo|react>`: app scaffold target (default `none`)
235
+ - `--react-stack <vite|next|expo-web>`: required when `--app react`
236
+ - `--out-dir <path>`: output workspace directory (default `./<project-id>`)
237
+ - `--overwrite`: allow writing into non-empty output directory
238
+ - `--dry-run`: compute output without writing files or calling APIs
239
+ - `--json`: print machine-readable result
240
+
241
+ Examples:
242
+
243
+ ```bash
244
+ # backend only (plain mode)
245
+ npx buildx-cli project:init --project-id hello-world --name "Hello World"
246
+
247
+ # product mode first, fallback to plain when not allowed
248
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --product-key approval
249
+
250
+ # backend + Next.js app
251
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app next
252
+
253
+ # backend + Expo app
254
+ npx buildx-cli project:init --project-id hello-world --name "Hello World" --app expo
255
+ ```
256
+
257
+ Generated auth-aware structure:
258
+ - Next.js template uses route groups for separation:
259
+ - `app/(public)/...` (sign-in/sign-up/forgot-password)
260
+ - `app/(private)/...` (protected dashboard)
261
+ - Expo template uses auth-state route split in `App.tsx`:
262
+ - public screen tree for unauthenticated users
263
+ - private screen tree for authenticated users
264
+
265
+ ### New Project Maintenance
266
+
267
+ After `project:init`, use these commands to maintain local/remote artifact parity:
268
+
269
+ ```bash
270
+ # schema lifecycle
271
+ npx buildx-cli schema:pull --project-id <project-id>
272
+ npx buildx-cli schema:diff --project-id <project-id>
273
+ npx buildx-cli schema:push --project-id <project-id> --dry-run
274
+
275
+ # function lifecycle
276
+ npx buildx-cli function:pull --project-id <project-id>
277
+ npx buildx-cli function:diff --project-id <project-id>
278
+ npx buildx-cli function:push --project-id <project-id> --dry-run
279
+ ```
280
+
216
281
  ### Users
217
282
 
218
283
  #### `user:list`
@@ -333,6 +398,7 @@ Behavior:
333
398
 
334
399
  Key options:
335
400
  - `-p, --project-id <id>`
401
+ - `--product-key <key>` push to all projects where `project.product.key` matches (cannot be used with `--project-id`)
336
402
  - `-t, --target-dir <path>`
337
403
  - `--collections-file <path>` (when no `--target-dir`)
338
404
  - `--filter <pattern...>`
@@ -341,6 +407,7 @@ Key options:
341
407
 
342
408
  ```bash
343
409
  npx buildx-cli schema:push --project-id hello-world --target-dir ./.sandbox/buildx-cli --dry-run
410
+ npx buildx-cli schema:push --product-key approval --target-dir ./.sandbox/buildx-cli --dry-run
344
411
  ```
345
412
 
346
413
  #### `schema:types:convert`
@@ -478,6 +545,7 @@ Behavior:
478
545
 
479
546
  Key options:
480
547
  - `-p, --project-id <id>`
548
+ - `--product-key <key>` push to all projects where `project.product.key` matches (cannot be used with `--project-id`)
481
549
  - `-t, --target-dir <path>`
482
550
  - `--functions-dir <path>` (when no `--target-dir`)
483
551
  - `-n, --name <function-name>` for a single function
@@ -489,6 +557,7 @@ Key options:
489
557
 
490
558
  ```bash
491
559
  npx buildx-cli function:push --project-id hello-world --target-dir ./.sandbox/buildx-cli --dry-run
560
+ npx buildx-cli function:push --product-key approval --target-dir ./.sandbox/buildx-cli --dry-run
492
561
  ```
493
562
 
494
563
  #### `function:list`