Skip to content

feat: list supported frameworks in the CLI scaffold flow - #295

Merged
fforootd merged 3 commits into
mainfrom
codex/list-supported-frameworks
Jun 15, 2026
Merged

feat: list supported frameworks in the CLI scaffold flow#295
fforootd merged 3 commits into
mainfrom
codex/list-supported-frameworks

Conversation

@fforootd

Copy link
Copy Markdown
Member

Summary

  • Add framework discovery and selection helpers for the consumer journey scaffold path
  • Update CLI setup behavior, Nuxt patching, and SDK Nuxt runtime handling to match the new flow
  • Refresh journey docs, instructions, CI wiring, and the changeset for the supported-frameworks work

Testing

  • Unit tests updated for framework discovery, run options, and Nuxt patching behavior
  • Playwright journey coverage updated for the fresh-app consumer path

@vercel

vercel Bot commented Jun 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
nextgen Ready Ready Preview, Comment Jun 15, 2026 8:30pm

Request Review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 start has already created runtime-only .zitadel/local state 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 fforootd changed the title List supported frameworks in the CLI scaffold flow feat: list supported frameworks in the CLI scaffold flow Jun 15, 2026
@fforootd
fforootd merged commit f02718f into main Jun 15, 2026
22 checks passed
@fforootd
fforootd deleted the codex/list-supported-frameworks branch June 15, 2026 20:52
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants