FAQ
This content is not available in your language yet.
Is there a toolkit or a linter?
Section titled “Is there a toolkit or a linter?”Yes! We have a linter called Steiger to check your project’s architecture and folder generators through a CLI or IDEs.
Where to store the layout/template of pages?
Section titled “Where to store the layout/template of pages?”Layouts used only for a specific screen can be defined directly in the corresponding page. Layouts that are reusable across multiple screens without any business context can be placed in shared/ui. Layouts applied to the entire application or to the route structure should be managed in app.
For more detailed criteria and examples, see the page layouts guide.
What is the difference between a feature and an entity?
Section titled “What is the difference between a feature and an entity?”An entity is a real-life concept that your app is working with. A feature is an interaction that provides real-life value to your app’s users, the thing people want to do with your entities.
For more information, along with examples, see the Reference page on slices.
Can I embed pages/features/entities into each other?
Section titled “Can I embed pages/features/entities into each other?”This is possible, but the composition must happen in a higher layer. For example, a page can import multiple features and entities to compose a complete screen. When necessary, components can also be passed through props or children for composition.
However, one feature must not directly import another feature according to the layer import rule.
What about Atomic Design?
Section titled “What about Atomic Design?”The current version of the methodology does not require nor prohibit the use of Atomic Design together with Feature-Sliced Design.
For example, Atomic Design can be applied well for the ui segment of modules.
Are there any useful resources/articles/etc. about FSD?
Section titled “Are there any useful resources/articles/etc. about FSD?”Yes! https://github.com/feature-sliced/awesome
Why do I need Feature-Sliced Design?
Section titled “Why do I need Feature-Sliced Design?”It helps you and your team to quickly overview the project in terms of its main value-bringing components. A standardized architecture helps to speed up onboarding and resolves debates about code structure. See the motivation page to learn more about why FSD was created.
Does a novice developer need an architecture/methodology?
Section titled “Does a novice developer need an architecture/methodology?”Rather yes than no
Usually, when you design and develop a project in one person, everything goes smoothly. But if there are pauses in development, new developers are added to the team - then problems come
How do I work with the authorization context?
Section titled “How do I work with the authorization context?”Answered here