sveltekit-shadcn-guidline

SvelteKit 프로젝트에서 shadcn-svelte 컴포넌트를 활용하는 가이드. 사용자가 UI 화면을 구성하거나 어떤 컴포넌트를 써야 할지 고민할 때, 또는 shadcn-svelte 컴포넌트를 설치하거나 초기 설정이 필요할 때 반드시 이 스킬을 사용한다. 버튼, 모달, 카드, 사이드바, 폼, 테이블 등 UI 요소를 언급하면 이 스킬을 적극 참고한다.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sveltekit-shadcn-guidline" with this command: npx skills add dev-goraebap/skills/dev-goraebap-skills-sveltekit-shadcn-guidline

shadcn-svelte 가이드

shadcn-svelte는 TypeScript, Tailwind CSS, Bits UI 기반의 접근성 높은 Svelte/SvelteKit 컴포넌트 모음이다. CLI로 컴포넌트를 설치하고 소스를 직접 수정할 수 있다.


사용 원칙

이 스킬의 주 목적은 화면 구성 시 알맞은 컴포넌트를 선택하고 올바르게 사용하도록 돕는 것이다. 아래 컴포넌트 목록을 참고해 작업에 적합한 컴포넌트를 추천하고 코드를 작성한다.

컴포넌트를 실제로 추가해야 할 때는 아래 "컴포넌트 설치" 절차를 따른다.


컴포넌트 설치

1. shadcn-svelte 설정 확인

컴포넌트를 추가하기 전에 작업공간에 shadcn-svelte가 초기화되어 있는지 확인한다:

ls components.json
  • 파일이 있으면 → 이미 설정 완료. 바로 컴포넌트 추가로 이동.
  • 파일이 없으면 → 사용자에게 직접 초기화를 요청한다:

shadcn-svelte가 초기화되어 있지 않습니다. 터미널에서 아래 명령어를 원하는 설정으로 먼저 실행해 주세요:

npx shadcn-svelte@latest init

권장 설정:

  • Base color: Slate
  • Global CSS: src/routes/+layout.svelte
  • Import aliases: $lib, $lib/components, $lib/utils, $lib/hooks, $lib/components/ui

완료되면 다시 알려주세요.

초기화 완료 확인 후 컴포넌트 추가로 진행한다.

2. 컴포넌트 추가 방식 선택

사용자에게 설치 방식을 확인한다:

A. 필요한 컴포넌트만 설치 (권장)

npx shadcn-svelte@latest add button
npx shadcn-svelte@latest add dialog card

B. 전체 컴포넌트 일괄 설치

npx shadcn-svelte@latest add --all

# 확인 프롬프트 없이
npx shadcn-svelte@latest add --all --yes

# 기존 파일 덮어쓰기
npx shadcn-svelte@latest add --all --overwrite

주요 CLI 옵션

옵션설명
-a, --all모든 컴포넌트 설치
-y, --yes확인 프롬프트 건너뜀
-o, --overwrite기존 파일 덮어쓰기
--no-deps패키지 의존성 설치 제외

컴포넌트 임포트

import { Button } from "$lib/components/ui/button/index.js";
import { Dialog } from "$lib/components/ui/dialog/index.js";

컴포넌트 목록

Form & Input (폼 & 입력)

  • Button: 버튼
  • Button Group: 관련 버튼을 묶는 그룹
  • Calendar: 날짜 선택 캘린더
  • Checkbox: 체크박스
  • Combobox: 자동완성 입력 + 커맨드 팔레트
  • Date Picker: 범위/프리셋 포함 날짜 선택기
  • Field: 레이블 + 컨트롤 + 도움말 조합 폼 필드
  • Formsnap: Formsnap + Superforms + Zod 폼 구성
  • Input: 텍스트 입력 필드
  • Input Group: 입력 필드에 추가 정보/액션 붙이기
  • Input OTP: OTP 입력 (복사/붙여넣기 지원)
  • Label: 접근성 레이블
  • Native Select: 스타일드 네이티브 select
  • Radio Group: 라디오 버튼 그룹 (단일 선택)
  • Select: 드롭다운 선택 (버튼 트리거)
  • Slider: 범위 값 슬라이더
  • Switch: 토글 스위치
  • Textarea: 멀티라인 텍스트 입력

Layout & Navigation (레이아웃 & 내비게이션)

Overlays & Dialogs (오버레이 & 다이얼로그)

Feedback & Status (피드백 & 상태)

Display & Media (표시 & 미디어)

  • Aspect Ratio: 비율 고정 컨테이너
  • Avatar: 사용자 아바타 (폴백 포함)
  • Card: 헤더/콘텐츠/푸터 카드
  • Carousel: 스와이프 캐러셀 (Embla 기반)
  • Chart: 차트 (LayerChart 기반)
  • Data Table: 데이터 그리드 (TanStack Table 기반)
  • Item: 다목적 콘텐츠 표시
  • Kbd: 키보드 입력 표시
  • Table: 반응형 테이블
  • Typography: 제목/단락/목록 타이포그래피

Misc (기타)


참고 문서

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

media-storage

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

sveltekit-progressive-architecture

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

agent-wiki

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

html-prototype

No summary provided by upstream source.

Repository SourceNeeds Review