โ† Back to overview

THE SYSTEM / ARCHITECTURE

Good structure.
From the ground up.

Understand the layers behind your codebase, then follow the complete journey from your first command to your first feature.

Explore the layersSee the workflow

Architecture

Built on Feature-Sliced Design

A layered architecture where each layer has a clear responsibility. Upper layers can only import from layers below โ€” keeping your codebase predictable as it scales.

โšก

app

Initialization, providers, global styles, routing setup

๐Ÿ“„

pages

Route-level compositions, supported in every starter through framework routing adapters

๐Ÿงฉ

widgets

Large self-contained UI blocks like headers, sidebars

๐ŸŽฏ

features

User interactions โ€” forms, toggles, actions

๐Ÿ“ฆ

entities

Business entities โ€” User, Product, Order

๐Ÿ”ง

shared

Reusable utilities, UI kit, configs, constants

โ–ฒUpper layers import from lower layers โ€” never the reverse
project structure
src/
โ”œโ”€โ”€ app/
โ”œโ”€โ”€ providers/
โ”œโ”€โ”€ styles/
โ”œโ”€โ”€ pages/
โ”œโ”€โ”€ home/
โ”œโ”€โ”€ about/
โ”œโ”€โ”€ widgets/
โ”œโ”€โ”€ header/
โ”œโ”€โ”€ sidebar/
โ”œโ”€โ”€ features/
โ”œโ”€โ”€ auth/
โ”œโ”€โ”€ create-post/
โ”œโ”€โ”€ entities/
โ”œโ”€โ”€ user/
โ”œโ”€โ”€ product/
โ”œโ”€โ”€ shared/
โ”œโ”€โ”€ ui/
โ”œโ”€โ”€ lib/
โ”œโ”€โ”€ config/

How It Works

From one command to a scalable foundation

Six steps. One command. An architecture that grows with your team.

1

Step 1

Choose your project name

Run the CLI and name your project. The scaffolder creates a clean directory with your chosen name, ready for development.

$ npm create fsd-architecture@latest
? Project name: my-app
2

Step 2

Select your template

Pick from five framework templates. React + Vite, Next.js, Vue + Vite, Nuxt, and SvelteKit each include the full FSD structure.

$ npm create fsd-architecture@latest
? Project name: my-app
? Select template: React, Next.js, Vue, Nuxt, or SvelteKit
3

Step 3

Download the template

The CLI downloads the selected template with the complete Feature-Sliced Design folder structure โ€” app, pages, widgets, features, entities, and shared layers.

$ npm create fsd-architecture@latest
โœ“ Template downloaded
โœ“ Complete FSD layers ready
โœ“ fsd.config.json written
โœ“ Git and Husky configured
4

Step 4

Install dependencies

Choose whether to install dependencies now. The selected stack, linting, strict TypeScript, Steiger, Husky, Commitlint, and Tailwind configuration are already prepared.

โœ“ Template configured
Installing dependencies...
โœ“ Dependencies installed
โœ“ ESLint or Biome configured
โœ“ TypeScript checks ready
โœ“ Husky hooks set up
โœ“ Commitlint ready
5

Step 5

Start building

Run the dev server and start writing features. Your project already has a scalable architecture โ€” just add slices to the right layers.

$ cd my-app && npm run dev
Development server ready
โžœ Local: http://localhost:5173/
โžœ Network: http://192.168.1.10:5173/
6

Step 6

Ship scalable architecture

Your project follows Feature-Sliced Design from day one. Clear boundaries make future refactors smaller and easier to reason about as the team grows.

src/ or app/
โ”œโ”€โ”€ app/ # providers, routing
โ”œโ”€โ”€ pages/ # route compositions
โ”œโ”€โ”€ widgets/ # complex UI blocks
โ”œโ”€โ”€ features/ # user interactions
โ”œโ”€โ”€ entities/ # business models
โ””โ”€โ”€ shared/ # reusable code
โœ“ Architecture scales with your team

YOUR NEXT CHAPTER

Build something big.
Start with structure.

Your framework. Your stack. A foundation you can build on.

Get started View on GitHub
$ npm create fsd-architecture@latest

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

ู„ู„ุฏุนู… ู…ู† ู…ุตุฑ ุนุจุฑ ุฅู†ุณุชุง ุจุงูŠ. ุชุฃูƒุฏ ู…ู† ุจูŠุงู†ุงุช ุงู„ู…ุณุชู„ู… ู‚ุจู„ ุชุฃูƒูŠุฏ ุงู„ุชุญูˆูŠู„.