Runtime requirements
Compatibility
The CLI and the project it generates can need different Node.js versions. Use the stricter of the two. Every range below matches what CLI 2.7.1 enforces.
CLI runtime
The CLI requires Node.js >=22.12.0 since 2.7.0. That is the lowest version that runs the CLI itself and every Vite-based template. Node.js 20 is no longer supported.
node --versionGenerated projects
Nuxt and SvelteKit templates declare a stricter floor than the CLI. The other templates build on any Node.js version the CLI accepts.
| Framework | Node.js | Source | Package managers |
|---|---|---|---|
| React + Vitereact-vite | >=22.12.0 | CLI floor; vite 8.3.0 requires ^20.19.0 || >=22.12.0 | npm, pnpm, Yarn, Bun |
| Next.jsnextjs | >=22.12.0 | CLI floor; next 16.4.3 requires >=20.9.0 | npm, pnpm, Yarn, Bun |
| Vue + Vitevue-vite | >=22.12.0 | CLI floor; vite 8.3.0 requires ^20.19.0 || >=22.12.0 | npm, pnpm, Yarn, Bun |
| Nuxtnuxt | ^22.22.2 || ^24.11.0 || >=26.0.0 | FSD Nuxt template requires >=22.22.2; nuxt 4.5.2 requires ^22.19.0 || ^24.11.0 || >=26.0.0 | npm, pnpm, Yarn, Bun |
| SvelteKitsveltekit | ^22.22.2 || >=24.0.0 | FSD SvelteKit template requires >=22.22.2; @sveltejs/vite-plugin-svelte 6.2.1 requires ^20.19 || ^22.12 || >=24 | npm, pnpm, Yarn, Bun |
Angular projects are supported for read-only inspection only. Scaffolding, generation, and managed upgrades reject Angular before writing files.
Package managers
| Package manager | Minimum | Why this version |
|---|---|---|
| npm | 10.9.0 | The npm bundled with Node.js 22.12.0 |
| pnpm | 10.26.0 | Lowest pnpm release in the CLI CI matrix |
| Yarn | 4.18.0 | Yarn 4 release pinned by the CLI CI matrix |
| Bun | 1.2.0 | Oldest Bun line in the CLI package manager matrix |
How the CLI checks this
Before it downloads or writes anything, create compares the running Node.js version with both the CLI range and the selected framework range, and names the range that failed. doctor runs the same check against the framework saved in fsd.config.json and also compares the configured package manager with the minimums above.
npx create-fsd-architecture@latest doctor