- Repo: Next.js App Router + TypeScript + Tailwind v4
- Architecture: Feature-Sliced Design (FSD)
- Alias:
@/*->src/*
src/app/is entry/composition only. Do not put domain logic here.- Follow FSD layer boundaries and slice isolation.
- Import slices only via their public
index.ts(no internal deep paths).
- Page section UI:
src/widgets/ - User actions/scenarios:
src/features/ - Domain model/types/queries/UI:
src/entities/ - Shared primitives and infra:
src/shared/
Choose by reuse scope:
- Single page/widget: keep in that slice.
- Multiple screens in a feature:
features/<slice>/api. - Cross-feature domain API:
entities/<domain>/api.
pnpm devpnpm lintpnpm type-checkpnpm format
- Destructive changes (deletions, large refactors).
- Adding or changing external dependencies.
- Modifying CI/CD or Git hooks.