Skip to content

Applies to CLI v2.7.1Last updated

Help

FAQ and glossary

Quick answers to the questions people ask most, and the terms used across these docs. If a command fails, run npx create-fsd-architecture@latest doctor first.

Frequently asked questions

Is this the official Feature-Sliced Design tool?

No. FSD is a methodology maintained at feature-sliced.design. FSD CLI is an independent tool that scaffolds projects and generates slices that follow it.

What is the difference between fsd and create-fsd-architecture?

Nothing. They are two names for the same CLI. Install it globally with npm install -g create-fsd-architecture to get the shorter fsd command, or run it once with npx create-fsd-architecture@latest.

Which frameworks are supported?

React + Vite, Next.js, Vue + Vite, Nuxt, and SvelteKit can be scaffolded and generated. Angular projects can be inspected read-only; scaffolding Angular is not available yet.

Which Node.js version do I need?

Node.js 22.12.0 or later for the CLI. Nuxt and SvelteKit projects need 22.22.2 or later. Node.js 20 is not supported since CLI 2.7.0.

Can I use the CLI in a project it did not create?

Yes. Generators infer the stack from package.json when fsd.config.json is missing, and structure-only generation with --segments adds layers without touching existing files. For a guided migration, use the AI Agent Skill.

Does generating a slice install dependencies?

No. Only project creation runs the package manager. Generators use the stack already recorded in fsd.config.json.

Can a generator overwrite my code?

Not by default. Existing slices are protected; --force replaces a single slice you name, and batch generation refuses --force. Preview any command with --dry-run.

Where are slices created?

Under the framework's source root: src/ for React, Next.js, Vue, and SvelteKit, and app/ for Nuxt. Structure-only mode accepts a different --root.

Does the CLI enforce FSD import rules?

The CLI creates the structure; Steiger enforces the rules. Every template installs Steiger and runs it in npm run ci, and check --architecture runs it on demand.

Does installing a newer CLI update my project?

No. Run upgrade --dry-run to see the plan and upgrade --yes to apply it. Only CLI-owned files change, and the upgrade rolls back on failure.

Can I use pnpm, Yarn, or Bun?

Yes. Pass --package-manager pnpm, yarn, or bun when creating the project. The choice is saved in fsd.config.json and used for lockfiles and commands.

Does the CLI create a backend or database?

No. It generates frontend code. Auth and API slices call endpoints you provide, and the optional Supabase adapter talks to a Supabase project you own.

Does the CLI collect telemetry?

No. It downloads the pinned template and runs your package manager; it sends nothing about you or your project.

Can I use it in commercial projects?

The CLI is released under the MIT license. Before reusing a template repository on its own, outside a generated project, check that repository for its license terms.

Glossary

Layer
A top-level folder with a fixed rank: app, pages, widgets, features, entities, shared. Code imports only from lower layers.
Slice
A folder inside a layer named after a business concept, such as entities/product or features/cart.
Segment
A folder inside a slice grouped by technical purpose: ui, model, api, lib, config.
Public API
The slice's index.ts. Other code imports the slice only through it.
Entity
A business object the product works with, like a product or user.
Feature
A user interaction that brings value, like adding to a cart or signing in.
Widget
A large, self-contained UI block composed from features and entities.
Preset
A generator name with ready-made content: navbar, sidebar, footer, bottom-bar widgets and home, about, consult pages.
Structure-only mode
Generation with --segments that creates folders and empty public APIs without overwriting files.
Batch generation
Passing several names in one command; all slices are checked first and earlier ones roll back if a later one fails.
fsd.config.json
The project file that records framework and stack choices so generators produce matching code.
Ownership manifest
The .fsd/manifest.json file that records which files the CLI owns, so upgrades change only those.
Managed upgrade
A migration applied by the upgrade command to CLI-owned tooling, with conflict detection and rollback.
Steiger
The FSD linter that checks layer, slice, and public-API rules.
Agent Skill
The fsd-cli skill that lets coding agents inspect, implement, and migrate FSD projects using the CLI.

Support FSD CLI

If FSD CLI helps you build, consider supporting its development and documentation. Donations are optional.

GitHub Sponsors (opens in a new tab)Buy Me a Coffee (opens in a new tab)

InstaPay · Egypt

ashrafmo-1

للدعم من مصر عبر إنستا باي. تأكد من بيانات المستلم قبل تأكيد التحويل.