--- name: sveltekit-progressive-architecture description: "SvelteKit 프로젝트 아키텍처·코드 규칙. Actions: 작성, 구현, 리뷰, 리팩터, 검토, 추가, 설계, 수정, write, implement, review, refactor, fix. Base Rules: 컴포넌트 재사용, $lib, 라우트 배치, 인라인 타입 금지, interface, type, script 섹션, 주석, 가독성, code style, TypeScript. Server Architecture: 서버 아키텍처, Active Record, Query Service, REST API, Drizzle, +server.ts, +page.server.ts, server/domain, server/infra, 뷰모델, view-model, form actions, ORM, schema, 레이어 분리, CUD, load." allowed-tools: Bash Read Write Edit metadata: author: dev-goraebap --- # SvelteKit Progressive Architecture SvelteKit 프로젝트에 적용하는 아키텍처와 코드 작성 규칙. ## 언제 적용하나 - SvelteKit 코드를 작성하거나 리뷰할 때 - 서버 레이어 설계 또는 API 엔드포인트를 구현할 때 - 코드 스타일·타입 정의·파일 구조를 결정할 때 ## 카테고리 | 카테고리 | 적용 상황 | 참조 파일 | |----------|-----------|-----------| | **Base Rules** | `.svelte` 파일 작성, 타입 정의, `$lib` 구조, 주석 | [base-rules.md](references/base-rules.md) | | **Server Architecture** | `+server.ts`, `+page.server.ts`, domain/infra 레이어, Drizzle, REST API | [server-architecture.md](references/server-architecture.md) | ## 핵심 규칙 요약 ### Base Rules - **라우트 우선 배치**: 반복 패턴이 보여도 `$lib`로 바로 빼지 않는다 - **`$lib/components`는 신중하게**: 3개 이상 페이지에서 쓰이는 범용 UI만 - **인라인 타입 금지**: 반드시 `interface`나 `type`으로 분리 정의 - **스크립트 섹션 주석**: `