@zitadel/cli 0.1.0-alpha.9 → 1.0.0-alpha.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.
Files changed (66) hide show
  1. package/README.md +250 -62
  2. package/SKILLS.md +221 -37
  3. package/dist/branding-cygSBPkV.mjs +79 -0
  4. package/dist/branding-cygSBPkV.mjs.map +1 -0
  5. package/dist/claim-state-DlfD6Res.mjs +66 -0
  6. package/dist/claim-state-DlfD6Res.mjs.map +1 -0
  7. package/dist/commands/apply.mjs +27 -8
  8. package/dist/commands/apply.mjs.map +1 -1
  9. package/dist/commands/branding/eject.mjs +104 -0
  10. package/dist/commands/branding/eject.mjs.map +1 -0
  11. package/dist/commands/claim.mjs +402 -0
  12. package/dist/commands/claim.mjs.map +1 -0
  13. package/dist/commands/doctor.mjs +594 -41
  14. package/dist/commands/doctor.mjs.map +1 -1
  15. package/dist/commands/eject.mjs +18 -6
  16. package/dist/commands/eject.mjs.map +1 -1
  17. package/dist/commands/logs.mjs +2 -2
  18. package/dist/commands/plan.mjs +19 -6
  19. package/dist/commands/plan.mjs.map +1 -1
  20. package/dist/commands/reset.mjs +2 -2
  21. package/dist/commands/schemas/list.mjs +146 -0
  22. package/dist/commands/schemas/list.mjs.map +1 -0
  23. package/dist/commands/setup.mjs +629 -214
  24. package/dist/commands/setup.mjs.map +1 -1
  25. package/dist/commands/start.mjs +4 -4
  26. package/dist/commands/start.mjs.map +1 -1
  27. package/dist/commands/status.mjs +52 -13
  28. package/dist/commands/status.mjs.map +1 -1
  29. package/dist/commands/stop.mjs +3 -3
  30. package/dist/commands/stop.mjs.map +1 -1
  31. package/dist/designs-Ckz18Dpo.mjs +38 -0
  32. package/dist/designs-Ckz18Dpo.mjs.map +1 -0
  33. package/dist/{docker-CnGQK3ZK.mjs → docker-DcRGTOJa.mjs} +5 -4
  34. package/dist/docker-DcRGTOJa.mjs.map +1 -0
  35. package/dist/environment-rjRVkJjW.mjs +17 -0
  36. package/dist/environment-rjRVkJjW.mjs.map +1 -0
  37. package/dist/journey-guidance-BGrOX_gT.mjs +40 -0
  38. package/dist/journey-guidance-BGrOX_gT.mjs.map +1 -0
  39. package/dist/oclif-CanO3zdt.mjs +1769 -0
  40. package/dist/oclif-CanO3zdt.mjs.map +1 -0
  41. package/dist/{orca-U142Wrau.mjs → orca-BzQIQqzt.mjs} +1663 -303
  42. package/dist/orca-BzQIQqzt.mjs.map +1 -0
  43. package/dist/package-manager-DFdLcDx1.mjs +194 -0
  44. package/dist/package-manager-DFdLcDx1.mjs.map +1 -0
  45. package/dist/{ports-B09RjuHx.mjs → ports-BM20XIZb.mjs} +25 -20
  46. package/dist/ports-BM20XIZb.mjs.map +1 -0
  47. package/dist/{processes-Cw8TO1SY.mjs → processes-DKHPkU8O.mjs} +1 -1
  48. package/dist/{processes-Cw8TO1SY.mjs.map → processes-DKHPkU8O.mjs.map} +1 -1
  49. package/dist/{project-Cd0L3PtM.mjs → project-CHhot85s.mjs} +57 -4
  50. package/dist/project-CHhot85s.mjs.map +1 -0
  51. package/dist/sync-BBlACKzT.mjs +1633 -0
  52. package/dist/sync-BBlACKzT.mjs.map +1 -0
  53. package/dist/user-schema-DTuOsdKE.mjs +91 -0
  54. package/dist/user-schema-DTuOsdKE.mjs.map +1 -0
  55. package/oclif.manifest.json +406 -5
  56. package/package.json +10 -5
  57. package/dist/docker-CnGQK3ZK.mjs.map +0 -1
  58. package/dist/docker-guidance-ypN3IM3o.mjs +0 -21
  59. package/dist/docker-guidance-ypN3IM3o.mjs.map +0 -1
  60. package/dist/oclif-B7lBzh3R.mjs +0 -808
  61. package/dist/oclif-B7lBzh3R.mjs.map +0 -1
  62. package/dist/orca-U142Wrau.mjs.map +0 -1
  63. package/dist/ports-B09RjuHx.mjs.map +0 -1
  64. package/dist/project-Cd0L3PtM.mjs.map +0 -1
  65. package/dist/sync-BojoQm2P.mjs +0 -733
  66. package/dist/sync-BojoQm2P.mjs.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @zitadel/cli
2
2
 
3
- Scaffolds Zitadel auth (login, register, profile, middleware) into a Next.js, React, Vue, Angular, or Nuxt app.
3
+ Scaffolds Zitadel auth (login, register, profile, middleware/proxy) into a Next.js, Nuxt, React, Vue, Angular, Solid, Svelte, or Qwik app.
4
4
 
5
5
  ```sh
6
6
  npx @zitadel/cli@alpha start
@@ -15,9 +15,10 @@ automation when reproducibility matters.
15
15
 
16
16
  ## Requirements
17
17
 
18
- - Node 24+
18
+ - Node from the supported range in `package.json#engines` (currently ≥ 24)
19
19
  - Docker only when using the optional Docker runtime backend
20
- - A Next.js project, or an empty directory where setup can scaffold one
20
+ - An app in one of the eight supported frameworks, or an empty directory
21
+ where setup can scaffold one
21
22
 
22
23
  ## Quickstart
23
24
 
@@ -31,20 +32,29 @@ npm run dev
31
32
  ```
32
33
 
33
34
  `start` runs the `@zitadel/server` npm binary by default and stores runtime data
34
- under `.zitadel/local/`. Remote-server setup can use `--server <url>` without
35
- starting a local runtime. Use `--runtime docker`, `--image`, or
36
- `ZITADEL_LOCAL_IMAGE` for advanced Docker backend debugging.
35
+ under `.zitadel/local/` (SQLite by default). Remote-server setup can use
36
+ `--server <url>` without starting a local runtime. Use `--runtime docker`,
37
+ `--image`, or `ZITADEL_LOCAL_IMAGE` for advanced Docker backend debugging.
37
38
  `setup --server local` creates a project on that local server, asks which
38
- framework to scaffold when the directory is fresh, writes the Next.js app into
39
- the current directory, scaffolds `app/login`, `app/register`, `app/profile`, and
40
- `proxy.ts` for Next 16+ or `middleware.ts` for older Next versions. Fresh
41
- scaffolds also replace the starter `app/page.tsx` with links to sign in, create
42
- an account, and profile. Setup writes `.env.local` and `.zitadel/`, and installs
39
+ framework to scaffold when the directory is fresh (and which login design to
40
+ use), writes the app into the current directory, and scaffolds the framework's
41
+ idiomatic auth routes plus the proxy layer — for Next.js that means
42
+ `app/login`, `app/register`, `app/profile`, and `proxy.ts` for Next 16+ or
43
+ `middleware.ts` for older versions; other frameworks get their equivalents
44
+ from the same patcher system. In a pre-existing app, setup derives the
45
+ embedding posture from the app instead of assuming a fresh skeleton: the
46
+ scaffolded pages take the `variant="widget"` posture inside your app's own
47
+ shell, recorded in the scaffold manifest and verified by `doctor`. Fresh
48
+ scaffolds also replace the starter home page with a redirect to `/login`.
49
+ Setup writes `.env.local` and `.zitadel/`, and installs
43
50
  dependencies with the detected package manager. Pass `--skip-install` to install
44
51
  them yourself. The project's default user schema and login flow are provisioned
45
- server-side at creation time, so the CLI does not scaffold or upload them. Open
46
- the dev server URL printed by your framework, register a user, log out, log back
47
- in, and end on the signed-in profile page.
52
+ from versioned local defaults; setup writes editable copies into
53
+ `.zitadel/schemas/default-human-user.json` and
54
+ `.zitadel/flows/default-login.json`, uploads them through the schema and flow
55
+ APIs, then seeds `.zitadel/state.json` so `zitadel plan` is immediately empty.
56
+ Open the dev server URL printed by your framework, register a user, log out,
57
+ log back in, and end on the signed-in profile page.
48
58
 
49
59
  For a reproducible tester report, use the exact alpha train from the GitHub
50
60
  Release:
@@ -60,15 +70,40 @@ registration/login, and optional passkey setup after password registration.
60
70
  Users who skip passkey setup can still sign in with password; users who add a
61
71
  passkey can sign in with either credential.
62
72
 
73
+ Repo config is authoritative: edit `zitadel.json`, `.zitadel/schemas/*.json`,
74
+ `.zitadel/flows/*.json`, or `.zitadel/branding/` (a `branding.json` descriptor
75
+ plus a `login.liquid` LiquidJS template), then re-run `zitadel plan` and
76
+ `zitadel apply`. Server-provisioned defaults remain a fallback for non-CLI
77
+ project creation, but CLI-created projects are authored from local files first.
78
+ Login templates are supported: scaffold them with the `branding eject` command
79
+ (`--design centered|split|split-right|hero|minimal`) or `setup --design <name>`;
80
+ every edit publishes a new immutable branding revision and the login serves
81
+ the newest one. Flow create, read, list, update, and delete are available; the
82
+ server enforces flow lifecycle rules such as draft-only edits.
83
+
84
+ For agent scripts, pass `--non-interactive --json` and capture stdout and stderr
85
+ separately. The CLI contract is one parseable JSON object on stdout; terminals
86
+ and agent UIs may display stderr package-manager progress together with stdout.
87
+
63
88
  ## Other commands
64
89
 
90
+ - `zitadel claim` — attach the project to your team (opens the claim page,
91
+ polls for completion; team attachment then shows in `setup`, `status`, and
92
+ `doctor`)
65
93
  - `zitadel doctor` — verify the local runtime and generated project files
94
+ (including scaffold drift and dependency-version alignment)
66
95
  - `zitadel status` — summarise the local runtime and project
67
96
  - `zitadel plan` — validate config and preview sync changes without mutation
68
97
  - `zitadel apply` — validate and upload repo config to Zitadel
98
+ - `zitadel branding eject` — scaffold an editable login template from a design
99
+ - `zitadel schemas list` — list the project's user schemas
69
100
  - `zitadel eject` — remove what setup wrote (alias: `zitadel uninstall`)
70
101
  - `zitadel start|stop|logs|reset` — manage the local runtime
71
102
 
103
+ The full agent-facing contract (JSON envelope, posture rules, claim flow,
104
+ doctor repair) is [`SKILLS.md`](https://github.com/zitadel/nextgen/blob/main/apps/cli/SKILLS.md),
105
+ which ships in this package.
106
+
72
107
  ## Reference
73
108
 
74
109
  <details>
@@ -77,6 +112,8 @@ passkey can sign in with either credential.
77
112
  <!-- commands -->
78
113
  * [`zitadel apply`](#zitadel-apply)
79
114
  * [`zitadel autocomplete [SHELL]`](#zitadel-autocomplete-shell)
115
+ * [`zitadel branding eject`](#zitadel-branding-eject)
116
+ * [`zitadel claim`](#zitadel-claim)
80
117
  * [`zitadel commands`](#zitadel-commands)
81
118
  * [`zitadel doctor`](#zitadel-doctor)
82
119
  * [`zitadel eject`](#zitadel-eject)
@@ -84,6 +121,7 @@ passkey can sign in with either credential.
84
121
  * [`zitadel logs`](#zitadel-logs)
85
122
  * [`zitadel plan`](#zitadel-plan)
86
123
  * [`zitadel reset`](#zitadel-reset)
124
+ * [`zitadel schemas list`](#zitadel-schemas-list)
87
125
  * [`zitadel search`](#zitadel-search)
88
126
  * [`zitadel setup`](#zitadel-setup)
89
127
  * [`zitadel start`](#zitadel-start)
@@ -99,8 +137,8 @@ Validate and upload repo config to the platform.
99
137
 
100
138
  ```
101
139
  USAGE
102
- $ zitadel apply [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug] [-e
103
- development|preview|production]
140
+ $ zitadel apply [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
141
+ [--telemetry] [-e development|preview|production]
104
142
 
105
143
  FLAGS
106
144
  -c, --cwd=<value> Project directory to operate on.
@@ -111,6 +149,7 @@ FLAGS
111
149
  -s, --server=<value> Override the resolved server URL.
112
150
  --debug Debug logging.
113
151
  --dry-run Preview without mutating files or the platform.
152
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
114
153
  --verbose Verbose logging.
115
154
 
116
155
  GLOBAL FLAGS
@@ -151,6 +190,69 @@ EXAMPLES
151
190
 
152
191
  _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.2.50/src/commands/autocomplete/index.ts)_
153
192
 
193
+ ## `zitadel branding eject`
194
+
195
+ Take ownership of the login template: scaffold .zitadel/branding/ from a shipped design.
196
+
197
+ ```
198
+ USAGE
199
+ $ zitadel branding eject [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
200
+ [--telemetry] [--design centered|split|split-right|hero|minimal]
201
+
202
+ FLAGS
203
+ -c, --cwd=<value> Project directory to operate on.
204
+ -f, --force Overwrite protected files on conflict.
205
+ -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
206
+ -s, --server=<value> Override the resolved server URL.
207
+ --debug Debug logging.
208
+ --design=<option> Design to start from (default: centered).
209
+ <options: centered|split|split-right|hero|minimal>
210
+ --dry-run Preview without mutating files or the platform.
211
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
212
+ --verbose Verbose logging.
213
+
214
+ GLOBAL FLAGS
215
+ --json Format output as json.
216
+
217
+ DESCRIPTION
218
+ Take ownership of the login template: scaffold .zitadel/branding/ from a shipped design.
219
+ ```
220
+
221
+ ## `zitadel claim`
222
+
223
+ Attach this project to a team so it becomes permanent. Opens a browser to finish signing in.
224
+
225
+ ```
226
+ USAGE
227
+ $ zitadel claim [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
228
+ [--telemetry] [--no-open] [--timeout <value>]
229
+
230
+ FLAGS
231
+ -c, --cwd=<value> Project directory to operate on.
232
+ -f, --force Overwrite protected files on conflict.
233
+ -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
234
+ -s, --server=<value> Override the resolved server URL.
235
+ --debug Debug logging.
236
+ --dry-run Preview without mutating files or the platform.
237
+ --no-open Print the link instead of opening a browser.
238
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
239
+ --timeout=<value> Seconds to wait for the browser step. Defaults to the link's own expiry (10 minutes).
240
+ --verbose Verbose logging.
241
+
242
+ GLOBAL FLAGS
243
+ --json Format output as json.
244
+
245
+ DESCRIPTION
246
+ Attach this project to a team so it becomes permanent. Opens a browser to finish signing in.
247
+
248
+ EXAMPLES
249
+ $ zitadel claim
250
+
251
+ $ zitadel claim --no-open
252
+
253
+ $ zitadel claim --timeout 120
254
+ ```
255
+
154
256
  ## `zitadel commands`
155
257
 
156
258
  List all zitadel commands.
@@ -186,22 +288,23 @@ Verify local runtime and project state.
186
288
 
187
289
  ```
188
290
  USAGE
189
- $ zitadel doctor [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug] [--fix]
190
- [--image <value>] [--port <value>] [--runtime binary|docker]
291
+ $ zitadel doctor [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
292
+ [--telemetry] [--fix] [--image <value>] [--port <value>] [--runtime binary|docker]
191
293
 
192
294
  FLAGS
193
- -c, --cwd=<value> Project directory to operate on.
194
- -f, --force Overwrite protected files on conflict.
195
- -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
196
- -s, --server=<value> Override the resolved server URL.
197
- --debug Debug logging.
198
- --dry-run Preview without mutating files or the platform.
199
- --fix Re-apply missing managed files.
200
- --image=<value> Container image to check.
201
- --port=<value> [default: 8080] Local HTTP port.
202
- --runtime=<option> Local runtime backend.
203
- <options: binary|docker>
204
- --verbose Verbose logging.
295
+ -c, --cwd=<value> Project directory to operate on.
296
+ -f, --force Overwrite protected files on conflict.
297
+ -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
298
+ -s, --server=<value> Override the resolved server URL.
299
+ --debug Debug logging.
300
+ --dry-run Preview without mutating files or the platform.
301
+ --fix Repair missing files and stale managed wiring.
302
+ --image=<value> Container image to check.
303
+ --port=<value> [default: 8080] Local HTTP port.
304
+ --runtime=<option> Local runtime backend.
305
+ <options: binary|docker>
306
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
307
+ --verbose Verbose logging.
205
308
 
206
309
  GLOBAL FLAGS
207
310
  --json Format output as json.
@@ -217,6 +320,7 @@ Remove managed files and local Zitadel state.
217
320
  ```
218
321
  USAGE
219
322
  $ zitadel eject [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
323
+ [--telemetry]
220
324
 
221
325
  FLAGS
222
326
  -c, --cwd=<value> Project directory to operate on.
@@ -225,6 +329,7 @@ FLAGS
225
329
  -s, --server=<value> Override the resolved server URL.
226
330
  --debug Debug logging.
227
331
  --dry-run Preview without mutating files or the platform.
332
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
228
333
  --verbose Verbose logging.
229
334
 
230
335
  GLOBAL FLAGS
@@ -263,8 +368,8 @@ Show local Zitadel server logs.
263
368
 
264
369
  ```
265
370
  USAGE
266
- $ zitadel logs [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug] [--follow]
267
- [--tail <value>]
371
+ $ zitadel logs [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
372
+ [--telemetry] [--follow] [--tail <value>]
268
373
 
269
374
  FLAGS
270
375
  -c, --cwd=<value> Project directory to operate on.
@@ -275,6 +380,7 @@ FLAGS
275
380
  --dry-run Preview without mutating files or the platform.
276
381
  --follow Follow logs.
277
382
  --tail=<value> [default: 200] Number of lines to show.
383
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
278
384
  --verbose Verbose logging.
279
385
 
280
386
  GLOBAL FLAGS
@@ -290,8 +396,8 @@ Validate config without mutation and preview the sync diff.
290
396
 
291
397
  ```
292
398
  USAGE
293
- $ zitadel plan [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug] [-e
294
- development|preview|production]
399
+ $ zitadel plan [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
400
+ [--telemetry] [-e development|preview|production]
295
401
 
296
402
  FLAGS
297
403
  -c, --cwd=<value> Project directory to operate on.
@@ -302,6 +408,7 @@ FLAGS
302
408
  -s, --server=<value> Override the resolved server URL.
303
409
  --debug Debug logging.
304
410
  --dry-run Preview without mutating files or the platform.
411
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
305
412
  --verbose Verbose logging.
306
413
 
307
414
  GLOBAL FLAGS
@@ -318,6 +425,7 @@ Delete the local Zitadel server runtime and data.
318
425
  ```
319
426
  USAGE
320
427
  $ zitadel reset [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
428
+ [--telemetry]
321
429
 
322
430
  FLAGS
323
431
  -c, --cwd=<value> Project directory to operate on.
@@ -326,6 +434,7 @@ FLAGS
326
434
  -s, --server=<value> Override the resolved server URL.
327
435
  --debug Debug logging.
328
436
  --dry-run Preview without mutating files or the platform.
437
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
329
438
  --verbose Verbose logging.
330
439
 
331
440
  GLOBAL FLAGS
@@ -335,6 +444,35 @@ DESCRIPTION
335
444
  Delete the local Zitadel server runtime and data.
336
445
  ```
337
446
 
447
+ ## `zitadel schemas list`
448
+
449
+ List revisions of a user-schema by objectType.
450
+
451
+ ```
452
+ USAGE
453
+ $ zitadel schemas list -t <value> [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
454
+ [--telemetry] [-e development|preview|production]
455
+
456
+ FLAGS
457
+ -c, --cwd=<value> Project directory to operate on.
458
+ -e, --environment=<option> Target environment (default: development).
459
+ <options: development|preview|production>
460
+ -f, --force Overwrite protected files on conflict.
461
+ -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
462
+ -s, --server=<value> Override the resolved server URL.
463
+ -t, --object-type=<value> (required) Filter revisions by objectType (e.g. human-user).
464
+ --debug Debug logging.
465
+ --dry-run Preview without mutating files or the platform.
466
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
467
+ --verbose Verbose logging.
468
+
469
+ GLOBAL FLAGS
470
+ --json Format output as json.
471
+
472
+ DESCRIPTION
473
+ List revisions of a user-schema by objectType.
474
+ ```
475
+
338
476
  ## `zitadel search`
339
477
 
340
478
  Search for a command.
@@ -358,23 +496,65 @@ Create a Zitadel project and scaffold local auth.
358
496
  ```
359
497
  USAGE
360
498
  $ zitadel setup [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
361
- [--framework next|nuxt|react|vue|angular] [--renderer react|web-component] [--dev-port <value>] [--skip-install]
499
+ [--telemetry] [--framework next|nuxt|react|vue|solid|svelte|qwik|angular] [--renderer react] [--dev-port <value>]
500
+ [--skip-install] [--preset password-first|passkey-first] [--use-case minimal|consumer|business] [--design
501
+ centered|split|split-right|hero|minimal]
362
502
 
363
503
  FLAGS
364
- -c, --cwd=<value> Project directory to operate on.
365
- -f, --force Overwrite protected files on conflict.
366
- -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
367
- -s, --server=<value> Override the resolved server URL.
368
- --debug Debug logging.
369
- --dev-port=<value> Dev-server port; also the issuer origin registered with Zitadel. Defaults to the detected
370
- port. Use distinct ports to run several scaffolded apps side by side.
371
- --dry-run Preview without mutating files or the platform.
372
- --framework=<option> Framework to target.
373
- <options: next|nuxt|react|vue|angular>
374
- --renderer=<option> Renderer (default: react).
375
- <options: react|web-component>
376
- --skip-install Do not install dependencies after setup updates package.json.
377
- --verbose Verbose logging.
504
+ -c, --cwd=<value>
505
+ Project directory to operate on.
506
+
507
+ -f, --force
508
+ Overwrite protected files on conflict.
509
+
510
+ -n, --non-interactive
511
+ Disable prompts. Required when scripting or running as an agent.
512
+
513
+ -s, --server=<value>
514
+ Override the resolved server URL.
515
+
516
+ --debug
517
+ Debug logging.
518
+
519
+ --design=<option>
520
+ Login design to eject into .zitadel/branding/ and publish as branding revision 1. Skips the wizard's design
521
+ question. When omitted in non-interactive runs, the login uses the built-in template; run the `branding eject`
522
+ command later to customize. Split-family designs (split, split-right, hero) collapse their brand pane by container
523
+ width: narrow containers — including widget-posture embeds at card width — render the compact brand mark instead
524
+ (logo_url, else hero_url, from .zitadel/branding/branding.json; hero falls back to editable text).
525
+ <options: centered|split|split-right|hero|minimal>
526
+
527
+ --dev-port=<value>
528
+ Dev-server port; also the issuer origin registered with Zitadel. Defaults to the detected port. Use distinct ports
529
+ to run several scaffolded apps side by side.
530
+
531
+ --dry-run
532
+ Preview without mutating files or the platform.
533
+
534
+ --framework=<option>
535
+ Framework to target.
536
+ <options: next|nuxt|react|vue|solid|svelte|qwik|angular>
537
+
538
+ --preset=<option>
539
+ Sign-in preset for the scaffolded schema and login flow (default: password-first).
540
+ <options: password-first|passkey-first>
541
+
542
+ --renderer=<option>
543
+ Renderer (default: react). Not yet available: web-component.
544
+ <options: react>
545
+
546
+ --skip-install
547
+ Do not install dependencies after setup updates package.json.
548
+
549
+ --[no-]telemetry
550
+ Send anonymous usage analytics. Disable with --no-telemetry.
551
+
552
+ --use-case=<option>
553
+ Use case for the scaffolded schema fields: who signs in to the app (default: minimal).
554
+ <options: minimal|consumer|business>
555
+
556
+ --verbose
557
+ Verbose logging.
378
558
 
379
559
  GLOBAL FLAGS
380
560
  --json Format output as json.
@@ -394,21 +574,22 @@ Start a local Zitadel server.
394
574
 
395
575
  ```
396
576
  USAGE
397
- $ zitadel start [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug] [--image
398
- <value>] [--port <value>] [--runtime binary|docker]
577
+ $ zitadel start [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
578
+ [--telemetry] [--image <value>] [--port <value>] [--runtime binary|docker]
399
579
 
400
580
  FLAGS
401
- -c, --cwd=<value> Project directory to operate on.
402
- -f, --force Overwrite protected files on conflict.
403
- -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
404
- -s, --server=<value> Override the resolved server URL.
405
- --debug Debug logging.
406
- --dry-run Preview without mutating files or the platform.
407
- --image=<value> Container image to run.
408
- --port=<value> [default: 8080] Local HTTP port.
409
- --runtime=<option> Local runtime backend.
410
- <options: binary|docker>
411
- --verbose Verbose logging.
581
+ -c, --cwd=<value> Project directory to operate on.
582
+ -f, --force Overwrite protected files on conflict.
583
+ -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
584
+ -s, --server=<value> Override the resolved server URL.
585
+ --debug Debug logging.
586
+ --dry-run Preview without mutating files or the platform.
587
+ --image=<value> Container image to run.
588
+ --port=<value> [default: 8080] Local HTTP port.
589
+ --runtime=<option> Local runtime backend.
590
+ <options: binary|docker>
591
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
592
+ --verbose Verbose logging.
412
593
 
413
594
  GLOBAL FLAGS
414
595
  --json Format output as json.
@@ -424,6 +605,7 @@ Summarize the local Zitadel server and project state.
424
605
  ```
425
606
  USAGE
426
607
  $ zitadel status [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
608
+ [--telemetry]
427
609
 
428
610
  FLAGS
429
611
  -c, --cwd=<value> Project directory to operate on.
@@ -432,6 +614,7 @@ FLAGS
432
614
  -s, --server=<value> Override the resolved server URL.
433
615
  --debug Debug logging.
434
616
  --dry-run Preview without mutating files or the platform.
617
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
435
618
  --verbose Verbose logging.
436
619
 
437
620
  GLOBAL FLAGS
@@ -448,14 +631,17 @@ Stop the local Zitadel server.
448
631
  ```
449
632
  USAGE
450
633
  $ zitadel stop [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
634
+ [--telemetry] [--all]
451
635
 
452
636
  FLAGS
453
637
  -c, --cwd=<value> Project directory to operate on.
454
638
  -f, --force Overwrite protected files on conflict.
455
639
  -n, --non-interactive Disable prompts. Required when scripting or running as an agent.
456
640
  -s, --server=<value> Override the resolved server URL.
641
+ --all Stop all discovered CLI-managed local Zitadel runtime processes.
457
642
  --debug Debug logging.
458
643
  --dry-run Preview without mutating files or the platform.
644
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
459
645
  --verbose Verbose logging.
460
646
 
461
647
  GLOBAL FLAGS
@@ -472,6 +658,7 @@ Remove managed files and local Zitadel state.
472
658
  ```
473
659
  USAGE
474
660
  $ zitadel uninstall [--json] [-c <value>] [-s <value>] [-n] [-f] [--dry-run] [--verbose] [--debug]
661
+ [--telemetry]
475
662
 
476
663
  FLAGS
477
664
  -c, --cwd=<value> Project directory to operate on.
@@ -480,6 +667,7 @@ FLAGS
480
667
  -s, --server=<value> Override the resolved server URL.
481
668
  --debug Debug logging.
482
669
  --dry-run Preview without mutating files or the platform.
670
+ --[no-]telemetry Send anonymous usage analytics. Disable with --no-telemetry.
483
671
  --verbose Verbose logging.
484
672
 
485
673
  GLOBAL FLAGS