feat: list supported frameworks in the CLI scaffold flow - #295
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR expands the CLI fresh-app scaffold/journey flow from “Next-only” to a supported-framework matrix, and updates the Nuxt SDK/runtime wiring and consumer-journey infrastructure to match.
Changes:
- Allow fresh scaffolding when
zitadel starthas already created runtime-only.zitadel/localstate and a.gitignore, preserving/merging those artifacts during scaffold. - Update Nuxt integration defaults (runtime config + protected routes) and make the Nuxt SDK read runtime config via Nuxt virtual imports (
#imports). - Convert the consumer journey runner + CI job into a framework matrix (Next, Nuxt, React, Vue, Angular) with per-framework diagnostics/output isolation.
Reviewed changes
Copilot reviewed 27 out of 28 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates journey description to run setup across all supported frameworks with filtering option. |
| packages/sdk-nuxt/src/shims.d.ts | Adds useRuntimeConfig ambient type for Nuxt virtual imports. |
| packages/sdk-nuxt/src/runtime/server/handler.ts | Switches runtime-config access to #imports and keeps handler options derived from nextgen config. |
| packages/sdk-nuxt/package.json | Externalizes #imports in the primary tsup build to support the new import. |
| apps/cli/tests/unit/lib/orca/patchers/rule/nuxt/nuxt-config.test.ts | Extends Nuxt config patcher tests for nextgen.url and protectedRoutes. |
| apps/cli/tests/unit/lib/orca/index.test.ts | Adds coverage ensuring .gitignore is allowed/preserved when scaffolding with runtime-only state present. |
| apps/cli/tests/unit/commands/setup.test.ts | Adds dry-run setup fixtures asserting framework support across Next/Nuxt/React/Vue/Angular. |
| apps/cli/src/lib/orca/patchers/rule/nuxt/README.md | Documents new Nuxt defaults (backend URL + protected route). |
| apps/cli/src/lib/orca/patchers/rule/nuxt/nuxt-config.ts | Seeds nextgen.url and nextgen.protectedRoutes in Nuxt config edits. |
| apps/cli/src/lib/orca/index.ts | Extends fresh-scaffold target inspection + stashing/restoration to include .gitignore alongside runtime-only .zitadel. |
| apps/cli-journey-e2e/src/user-journey.spec.ts | Generalizes the journey spec to run against any selected framework and handles framework-specific redirects/flows. |
| apps/cli-journey-e2e/src/contract.spec.ts | Aligns contract assertions with new sdkPackage and framework metadata. |
| apps/cli-journey-e2e/scripts/run-options.test.mjs | Adds unit tests for local journey CLI option parsing. |
| apps/cli-journey-e2e/scripts/run-options.mjs | Introduces shared local journey arg parsing (framework selection, concurrency, etc.). |
| apps/cli-journey-e2e/scripts/run-local.mjs | Refactors local journey runner to execute a framework matrix in parallel with isolated ports and diagnostics. |
| apps/cli-journey-e2e/scripts/prepare-app.test.mjs | Updates prepare script tests for multi-framework support and generic SDK package key. |
| apps/cli-journey-e2e/scripts/prepare-app.mjs | Replaces Next-only prepare logic with framework-aware setup (including --dev-port) and package-resolution checks. |
| apps/cli-journey-e2e/scripts/local-registry.mjs | Improves HTTP readiness diagnostics by including response bodies for non-OK statuses. |
| apps/cli-journey-e2e/scripts/frameworks.test.mjs | Adds tests for the framework registry and helpers. |
| apps/cli-journey-e2e/scripts/frameworks.mjs | Defines the framework registry (ids, sdk dirs, dev args, expectations) and URL→port helper. |
| apps/cli-journey-e2e/README.md | Updates documentation to describe the framework-matrix journey runner and options. |
| apps/cli-journey-e2e/playwright.config.mts | Supports per-framework Playwright output/report directories via env overrides. |
| apps/cli-journey-e2e/package.json | Updates prepare script entrypoint name to the new framework-aware script. |
| apps/cli-journey-e2e/AGENTS.md | Updates agent guidance to reflect multi-framework fresh-app journey requirements. |
| AGENTS.md | Updates repo-level guidance describing the consumer journey as multi-framework. |
| .github/workflows/ci.yml | Runs consumer-journey-e2e as a framework matrix and isolates logs/artifacts per framework. |
| .github/instructions/consumer-journey.instructions.md | Updates journey instructions to reference multi-framework setup and artifacts. |
| .changeset/fix-start-then-setup-scaffold.md | Adds changeset for CLI + sdk-nuxt behavior changes tied to scaffold/runtime-config handling. |
fforootd
pushed a commit
that referenced
this pull request
Jun 15, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ `main` is currently in **pre mode** so this branch has prereleases rather than normal releases. If you want to exit prereleases, run `changeset pre exit` on `main`.⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ # Releases ## @zitadel/cli@0.1.0-alpha.5 ### Minor Changes - [#257](#257) [`6f8dd2d`](6f8dd2d) Thanks [@mridang](https://github.com/mridang)! - Add `setup --framework react|vue|angular|nuxt` support to the CLI. Each framework scaffolds its auth entry/pages and wires `/__nextgen/*` calls to the backend with a `sk_<project_id>` bearer attached: React and Vue get a dev proxy magicast-merged into the Vite config (`vite.config.*`) that reads the project id from `ZITADEL_PROJECT_ID`; Angular gets a `proxy.conf.cjs` wired into `angular.json` that reads it from `zitadel.json`; and Nuxt registers the `@zitadel/sdk-nuxt` module in the Nuxt config (`nuxt.config.*`), which adds the proxy via server middleware. A `--dev-port` flag sets the scaffolded dev-server port. - [#299](#299) [`f77ca44`](f77ca44) Thanks [@fforootd](https://github.com/fforootd)! - Make the generated Next.js auth app easier for agents and developers to prove end-to-end registration, logout, and login in a visible browser. ### Patch Changes - [#295](#295) [`f02718f`](f02718f) Thanks [@fforootd](https://github.com/fforootd)! - Allow fresh app scaffolding after `zitadel start` creates local runtime ignore files, and load Nuxt runtime config through the Nuxt virtual imports module. - Updated dependencies []: - @zitadel/api@0.1.0-alpha.5 ## @zitadel/components@0.1.0-alpha.5 ### Patch Changes - [#299](#299) [`f77ca44`](f77ca44) Thanks [@fforootd](https://github.com/fforootd)! - Make the generated Next.js auth app easier for agents and developers to prove end-to-end registration, logout, and login in a visible browser. - [#286](#286) [`3795b67`](3795b67) Thanks [@bastionstack](https://github.com/bastionstack)! - Align the login flow with the latest Figma designs: load `branding.font_url` at document level so branded fonts (including the heading face) actually render, change the sign-in CTA from "Continue" to "Sign in", add the missing `identifier.field.password` label, drop the sign-up subheadline, and rename the passkey registration action to "Continue with a passkey". The default login flow no longer shows the post-registration passkey upsell screen — passkey registration is offered up front instead. ## @zitadel/sdk-angular@0.1.0-alpha.5 ### Patch Changes - Updated dependencies [[`f77ca44`](f77ca44), [`3795b67`](3795b67)]: - @zitadel/components@0.1.0-alpha.5 - @zitadel/api@0.1.0-alpha.5 ## @zitadel/sdk-next@0.1.0-alpha.5 ### Patch Changes - Updated dependencies [[`f77ca44`](f77ca44), [`3795b67`](3795b67)]: - @zitadel/components@0.1.0-alpha.5 - @zitadel/api@0.1.0-alpha.5 - @zitadel/sdk-core@0.1.0-alpha.5 ## @zitadel/sdk-nuxt@0.1.0-alpha.5 ### Patch Changes - [#295](#295) [`f02718f`](f02718f) Thanks [@fforootd](https://github.com/fforootd)! - Allow fresh app scaffolding after `zitadel start` creates local runtime ignore files, and load Nuxt runtime config through the Nuxt virtual imports module. - Updated dependencies [[`f77ca44`](f77ca44), [`3795b67`](3795b67)]: - @zitadel/components@0.1.0-alpha.5 - @zitadel/api@0.1.0-alpha.5 - @zitadel/sdk-core@0.1.0-alpha.5 ## @zitadel/sdk-react@0.1.0-alpha.5 ### Patch Changes - Updated dependencies [[`f77ca44`](f77ca44), [`3795b67`](3795b67)]: - @zitadel/components@0.1.0-alpha.5 - @zitadel/api@0.1.0-alpha.5 - @zitadel/sdk-core@0.1.0-alpha.5 ## @zitadel/sdk-vue@0.1.0-alpha.5 ### Patch Changes - Updated dependencies [[`f77ca44`](f77ca44), [`3795b67`](3795b67)]: - @zitadel/components@0.1.0-alpha.5 - @zitadel/api@0.1.0-alpha.5 - @zitadel/sdk-core@0.1.0-alpha.5 ## @zitadel/api@0.1.0-alpha.5 ## @zitadel/sdk-core@0.1.0-alpha.5 Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Testing