zitadel setup
Create a Zitadel project and scaffold local auth. An interactive setup ends with a note about the Zitadel agent skills, shown once per machine; set NO_SKILLS_PROMPT=1 to hide it.
Usage
npx @zitadel/cli@latest setup [flags]Flags
| Flag | Description |
|---|---|
-f, --force | Overwrite managed files that already exist, and scaffold into a non-empty directory. |
--framework <value> | Framework to target. One of next, nuxt, tanstack-start, react, vue, solid-start, solid, sveltekit, svelte, qwik-router, qwik, angular. |
--renderer <value> | Renderer (default: react). Not yet available: web-component. One of react. |
--dev-port <value> | Dev-server port; also the issuer origin registered with Zitadel. Defaults to the detected port. Use distinct ports to run several scaffolded apps side by side. In an app already set up, moves it to this port: the dev script, ZITADEL_ISSUER and the allowed origin. |
--skip-install | Do not install dependencies after setup updates package.json. |
--[no-]git | Commit the project setup writes, initialising a repository first when there is none, so a release records the commit it was built from. Refuses a repository that already has uncommitted work. Use --no-git to leave version control alone. On by default. |
--preset <value> | Sign-in preset for the scaffolded schema and login flow (default: password-first). One of password-first, passkey-first. |
--use-case <value> | Use case for the scaffolded schema fields: who signs in to the app (default: minimal). One of minimal, consumer, business. |
--password-min-length <value> | Minimum password length for the project's password policy, for example 12; 0 sets none. Without it, setup sets 15, the NIST minimum for password-only sign-in; change it in .zitadel/policies/ later. |
--sso <value> | Social sign-in provider to enable while scaffolding, e.g. google. Skips the wizard's provider question; needs --sso-client-id, and the OAuth application must already be registered with the provider. Pipe the client secret in on stdin; never pass it as a flag. One of google, custom. |
--sso-client-id <value> | Client id of the OAuth application registered with the --sso provider. |
--sso-slug <value> | With --sso custom: the name of the connection. Schemas and flows refer to it. |
--sso-display-name <value> | With --sso custom: the name shown on the sign-in button. |
--sso-issuer <value> | With --sso custom: the provider's issuer URL. Its endpoints come from OIDC discovery. |
--sso-scopes <value> | With --sso custom: the scopes to request, separated by spaces or commas. Must include openid. Default: openid profile email. |
It also takes the global flags.
Examples
npx @zitadel/cli@latest setup --framework next
npx @zitadel/cli@latest setup --framework react --dev-port 3000Was this helpful?