svelte-archlisted
Install: claude install-skill XIYO/svelte-arch
# SvelteKit × FSD 2.1 아키텍처 (`svelte-arch` v5)
한 문장 정의: **FSD 2.1 표준 구조(계층·slice·segment·public API·pages first)를 SvelteKit 방언으로 완역하고, FSD가 비워둔 절반(서버 계층·view/container 규율·발견성)을 자체 규범으로 채우는** 아키텍처 어드바이저 + 주입 킷. 목적은 하나 — 같은 것을 두 번 만들지 않게 하고, 팀(사람+에이전트)이 실수할 자리를 없앤다.
## 4단 주소 체계 — 모든 파일은 주소로 역할을 선언한다
```text
계층(수직) / slice(도메인) / segment(기술 성격) / 파일명 접미사(데이터 축)
src/widgets / knowledge-list / ui / KnowledgeListSection.view.svelte
```
- 앞 3단 = FSD 표준(디렉토리). 마지막 1단 = svelte-arch 오버레이(파일명 — FSD가 비워둔 dumb/smart 축).
- SvelteKit 수술(공식 config — vite.config `sveltekit()` 인라인, kit 2.62.0+ · 예외만 svelte.config 유지): `files.lib='src'` · `files.routes='src/app/routes'` · `files.appTemplate='src/app/index.html'` + `@/*` 별칭. `src/server` = `$lib/server`(서버 전용 보호).
## 계층 레지스트리 (요약 — 카드 전문은 constitution.md)
| 계층 | 역할 한 줄 |
|---|---|
| `src/app/` | 초기화 — index.html·hooks·app.css·**routes/**(글루 + pages first 콜로케이션) |
| `src/pages/` | **닫힘**(기본) — routes 콜로케이션이 전담. config로만 개방 |
| `src/widgets/` | 자립 대형 블록 — `*Section` view/container 페어·앱 셸(app-sidebar 등) |
| `src/features/` | 사용자 상호작용(동사) — 폼·다이얼로그·액션 |
| `src/entities/` | 업무 개체(명사) — 표시 view·wire 타입(model/types)·remote(api) |
| `src/shared/` | 업무 무관 — `ui/`(디자인 시스템)·`vendor/`(shadcn 원본 보존)·`lib/`·`model/`·`config/` |
| `src/server/` | FSD 밖 병렬 스택 — `<slice>/`에 port(계약 인터페이스)·service·repository·adapter (+`auth/guard`·`database/schema`·`shared/`) |
**segment**: `ui/`(`.view`+`.container` 페어) · `api/`(`<slice>.remote.ts`) · `model/`(`types.ts` w