주요 콘텐츠로 건너뛰기

FAQ

info

질문은 언제든 Telegram, Discord, GitHub Discussions에서 남겨 주세요.

Toolkit이나 Linter가 있나요?​

프로젝트 아키텍처를 FSD 규칙에 맞게 검사 Steiger Linter가 있으며, CLI · IDE 확장을 통해 사용할 수 있는 폴더 생성기도 함께 제공됩니다.

Page Layout / Template은 어디에 보관해야 하나요?​

  • 단순 마크업이라면 shared/ui에 두는 것이 일반적입니다.
  • 코드가 몇 줄뿐이라면 굳이 추상화하지 말고 각 페이지에 직접 작성해도 무방합니다.
  • 복잡한 Layout이 필요하다면 별도 Widget 또는 Page로 분리하고 App Router(또는 Nested Routing)에서 조합하세요.

Feature와 Entity의 차이는 무엇인가요?​

구분정의예시
Entity애플리케이션이 다루는 비즈니스 개체user, product
Feature사용자가 Entity로 수행하는 실제 상호작용로그인, 장바구니 담기

더 자세한 내용과 예시는 Slices에서 확인할 수 있습니다.

Pages, Features, Entities를 서로 포함할 수 있나요?​

가능합니다. 다만 상위 Layer에서만 조합해야 합니다.
예: Widget 내부에서 여러 Feature를 props / children 형태로 결합할 수 있지만, 한 Feature가 다른 Feature를 직접 import 하는 것은 Layer Import 규칙에 의해 금지됩니다.

Atomic Design을 함께 사용할 수 있나요?​

네. FSD는 Atomic Design 사용을 요구하지도, 금지하지도 않습니다.
필요하다면 ui Segment 내부에서 Atomic 분류를 적용할 수 있습니다. 예시

FSD 관련 참고 자료가 더 있나요?​

커뮤니티가 정리한 자료 모음은 feature‑sliced/awesome에서 확인할 수 있습니다.

Feature‑Sliced Design이 필요한 이유는 무엇인가요?​

표준화된 아키텍처는 프로젝트를 빠르게 파악하게 해 줍니다.
온보딩 속도를 높이고 “폴더 구조 논쟁”을 줄여 주는 것이 FSD의 핵심 가치입니다. 자세한 배경은 Motivation 페이지를 참고하세요.

주니어 개발자도 아키텍처 방법론이 필요할까요?​

필요합니다.
혼자 개발할 때는 문제가 없어 보여도, 개발 공백이 생기거나 새로운 팀원이 합류하면 구조의 중요성이 드러납니다

인증(Auth) Context는 어떻게 다루나요?​

예제 가이드에서 자세히 설명했습니다.