더블유아일랜드 · DESIGN SYSTEM

일관된 경험을 만드는
디자인 언어

컬러 · 타이포그래피 · 아이콘 · UX 라이팅까지, 직군이 달라도 누구나 같은 기준으로 화면을 만들 수 있도록 정리한 사내 디자인 시스템이에요. 라이트 모드를 만들면 다크 모드가 자동으로 매칭됩니다.

Color

색상 칩을 클릭하면 HEX 값이 복사돼요.

Primary · W-ISLAND Blue
UI 메인은 Deep Azure 500 (#1577cc) — 차분하고 흰 글씨 대비가 좋아 버튼·링크·선택 상태에 써요. 밝은 로고색 #1DA4FF는 400(브랜드 하이라이트)로 살려, 로고·강조 포인트에 사용합니다.
Secondary · Neutral Gray
보조(서포팅) 톤이에요. 라이트 모드의 배경·표면에 토스 스타일의 차분한 중립 그레이를 씁니다. 포인트는 W-ISLAND Blue가 담당해요.
Gray
라이트 모드를 기준으로 만들면, 매칭된 다크 모드 토큰이 자동으로 적용돼요. (위 우측 다크 모드 토글로 확인해 보세요.)
Transparency
기준 색상 #2A2C2F에 투명도(Opacity)를 조절해 사용해요. 경계선·딤드 배경 등에 활용합니다.

Semantic Color

역할 기반 토큰이에요. 원시 컬러를 직접 쓰지 말고 의미 토큰을 사용하면 다크 모드가 자동으로 맞춰집니다.

Text
TokenLightDark설명
Background
TokenLightDark설명
Border
TokenLightDark설명
Status
TokenLightDark설명
Diff
TokenLightDark설명

Typography

기본 서체는 Pretendard예요. 숫자·영문이 한글과 잘 어울리고 가독성이 좋아 사내 도구에 적합합니다.

Layout & Spacing

4px 그리드를 기준으로 간격을 맞춰요. 모바일 화면은 가로 375px 기준으로 설계하고, 화면 최상단엔 항상 내비게이션을 둬요.

Spacing scale
4의 배수로 간격을 통일하면 화면이 정돈돼 보여요. 컴포넌트 사이 간격에 사용합니다.
Radius
컴포넌트는 부드러운 인상을 위해 둥근 모서리를 사용해요. (아이콘 내부 radius는 0–2px 별도 규칙)
Shadow · Elevation
토스처럼 부드럽고 옅은 그림자로 높이를 표현해요. 카드 → 팝오버 → 드롭다운 → 모달 순으로 단계가 올라갑니다.
sm · 카드
md · 팝오버·셀렉트
lg · 드롭다운·시트
xl · 모달·다이얼로그

Motion

전환은 빠르고 부드럽게. 기본 이징 cubic-bezier(.2,.8,.2,1), 길이 0.12~0.28s. 아래 트랙에 마우스를 올려보세요.

fast · 0.12s
base · 0.18s
slow · 0.28s
  • fast 0.12s — hover·작은 토글
  • base 0.18s — 대부분의 전환(기본값)
  • slow 0.28s — 시트·모달처럼 큰 이동
  • 과한 bounce·긴 애니메이션은 피하고, 1초 넘는 동작엔 로딩 표시를 써요.

Breakpoints

모바일 우선. 기준 폭 375px에서 설계하고 위로 확장해요.

구간폭기준
Mobile≤ 599px기준 375px · 1열
Tablet600–1023px2열 · 사이드 보조
Desktop≥ 1024px다열 · 고정 사이드
※ 이 가이드도 900px 이하에서 사이드바를 접어요.

Scrollbar

AI Hub와 동일한 스타일이에요 — 둥근 캡슐형, 트랙에서 살짝 떠 있는 얇은 알약. 위/아래 화살표 버튼은 숨겨요. 아래 박스를 스크롤해 보세요.

스크롤 영역 예시예요. 안쪽 내용이 길어지면 둥근 캡슐형 스크롤바가 나타나요.

thumb는 hover하면 살짝 진해지고, padding-box 트릭으로 트랙에서 떠 있는 얇은 알약처럼 보여요.

라이트는 rgba(0,0,0,.22), 다크는 rgba(255,255,255,.2) 기준.

최소 길이 44px로 항상 둥글게 유지돼요.

위/아래 화살표 버튼은 제거했어요.

한 줄 더 · 한 줄 더 · 마지막 줄.

::-webkit-scrollbar 의사요소 기준 — Chromium/Electron에서 둥근 모양이 적용돼요.

Iconography

작은 공간에서 정보를 빠르고 직관적으로 전달하는 시각 언어예요. 사용자가 기능과 행동을 쉽게 인식하도록 단순한 형태와 일관된 규칙으로 제작합니다.

아이콘 셋 · 자주 쓰는 UI 아이콘 100+
Icon Name · 이름 규칙
  • 명확한 기능이 없으면 형태를 기준으로 이름을 지정해요. (예: chevron-down)
  • 명확한 기능이 있으면 기능명을 사용해요. (예: search, share)
  • 두 단어 이상 결합되거나 방향 속성이 들어가면 카멜케이스(CamelCase)로 작성해요.
Grid & Size
24×24px 그리드 기준으로 작업하고, 사방 2px 여백을 둬요(시각 보정 시 조정 가능). 기본 크기는 24×24(L).
TokenSize미리보기
Stroke
Bold · 1.8px
Normal · 1.3px
  • Bold 기본 두께 1.8px, Normal 기본 두께 1.3px.
  • 시각 보정이 필요하면 더 얇은 두께를 쓸 수 있어요.
  • 스트로크의 끝과 꺾임은 둥글게(round) 설정하는 것을 권장해요.
Corner Radius & Theme
  • Radius는 0–2px 범위에서 사용해요. 작은 요소엔 작은 반경, 큰 요소엔 상대적으로 큰 반경.
  • Corner smoothing을 적용해 부드러운 인상을 유지해요.
  • 아이콘은 기본적으로 라인 스타일로 제작하고, 주목도·인터랙션이 필요할 때만 Fill 스타일을 써요.
Padding · 터치/호버 영역
  • 모바일·태블릿: 터치 영역을 위해 아이콘 기준 2배 크기의 여백을 확보해요. (24px 아이콘 → 48px 영역)
  • PC: 호버 영역을 위해 사방 8px 여백을 둬요.

Button

가장 중요한 행동에만 Primary를 써요. 한 화면에 Primary 버튼은 하나로 제한합니다.

Variant
Size · Large / Medium / Small
Bottom CTA · 전체 너비

Text Field

라벨은 항상 입력칸 위에 둬요. 에러는 status-negative로 표시하고, 무엇을 고쳐야 하는지 함께 알려줘요.

실명으로 입력해 주세요
이메일 형식이 올바르지 않아요

List Row

아이콘 + 제목 + 보조 설명 + 트레일링(화살표·토글·뱃지). 목록·설정·메뉴의 기본 단위예요.

이미지 생성
GPT Image · Nano Banana
일정 동기화
마지막 동기화 3분 전
권한 관리
관리자만 변경할 수 있어요
관리자

Badge · Tab · Toggle

상태 표시와 화면 전환에 쓰는 작은 컴포넌트예요. 탭과 토글은 클릭해 동작을 확인할 수 있어요.

Badge
NEW 완료 실패 대기
Tab
Segmented
Toggle

Calendar

날짜 선택용 캘린더예요. 선택일은 브랜드 블루 원형, 오늘은 링으로 표시하고, 일요일은 빨강·토요일은 파랑으로 구분합니다(토스 스타일). 날짜·화살표를 눌러보세요.

2026년 6월
일월화수목금토

Overlay · Modal · Sheet · Toast

화면 위에 띄우는 레이어예요. 딤 배경 + xl 그림자로 깊이를 주고, 모달 왼쪽 버튼은 항상 닫기. 버튼을 눌러 동작을 확인하세요.

모달 = 중요한 확인·입력 · 바텀시트 = 모바일 선택·액션 · 토스트 = 짧은 피드백(자동으로 사라짐)

Empty State

데이터가 없을 때의 첫 화면이에요. 아이콘 + 한 줄 설명 + 다음 행동(Primary)으로 막막함을 줄여요. 문구는 해요체.

아직 만든 작업이 없어요

첫 작업을 만들면 여기에 모여요.

Loading · Skeleton

데이터를 기다릴 때. 짧으면 스피너, 레이아웃이 있으면 스켈레톤으로 "곧 나온다"는 신호를 줘요.

Spinner
Progress
Skeleton

Form

입력 화면 패턴이에요. 라벨은 위, 필수는 *, 에러는 status-negative + 무엇을 고칠지 안내. 셀렉트·체크·라디오는 브랜드 블루로 강조. 파일 첨부는 네이티브 버튼을 ::file-selector-button으로 고스트 버튼화해요.

실명으로 입력해 주세요
엑셀(.xlsx) 또는 CSV
Checkbox
Radio

Table · Data List

표 데이터예요. 헤더 클릭으로 정렬, 행 hover 강조, 하단에 개수 + 페이지네이션. 숫자는 우측 정렬을 권장해요.

이름 ▾ 분류 ▾ 상태 사용 ▾
ChatGPT대화형 AI활성128
Midjourney이미지 생성활성96
Runway영상 생성대기41
Suno음악 / 오디오중단12
전체 24개

Alert · Banner

화면 안에서 상태를 알리는 배너예요. 정보·성공·주의·오류 4종. 토스트(자동 사라짐)와 달리 사용자가 닫기 전까지 남아요.

안내 · 새 버전이 적용됐어요.
완료 · 저장했어요.
주의 · 동기화되지 않은 변경이 있어요.
오류 · 파일을 불러오지 못했어요. 다시 시도해 주세요.

Tooltip

요소에 마우스를 올리면 뜨는 짧은 도움말이에요. bg-invert 말풍선, 한 줄로 짧게. 아래 버튼에 올려보세요.

이렇게 도움말이 떠요

Tag · Chip

선택·필터·입력 토큰을 표시해요. 삭제 가능한 입력형 칩은 ✕로 제거(눌러보세요). 강조는 브랜드 톤.

ChatGPT Claude Gemini 이미지 생성

Avatar

사용자·팀 표시. 이미지가 없으면 이니셜. 크기 sm/기본/lg, 여러 명은 겹쳐서(stack) 보여줘요.

W
WI
WI
CS
A
B
C
+3

Stepper

여러 단계 작업의 진행을 보여줘요. 완료 = 채운 원, 현재 = 링 강조, 이후 = 회색.

✓정보 입력
2옵션 선택
3완료

Slider · Quantity

연속값은 슬라이더(볼륨처럼 채워지는 바), 정수 수량은 −/+ 스테퍼로 조절해요. 채움·포인트는 브랜드 블루. 직접 움직여 보세요.

Slider (Range)
60
Quantity (수량)
3

Page Header

GNB(앱 이름 고정) 아래, 각 화면 콘텐츠 맨 위에 오는 제목 + 한 줄 설명이에요. 모든 화면이 같은 양식을 쓰면 메뉴를 옮겨도 한 앱처럼 보여요. 콘텐츠가 카드로 시작하면 첫 카드 안 맨 위에, 표·KPI로 바로 시작하면 카드 밖(콘텐츠 최상단)에 두되 .page-head로 감싸 동일하게 렌더돼요. 화면당 하나만 — 카드·섹션 제목(Heading 18/600)보다 큽니다.

매출 수집
날짜를 선택해 채널별 매출을 수동으로 수집하고 진행 상황을 확인해요.

UX 라이팅

제품 안의 모든 글자는 이 6가지 원칙을 따라요. 사내 전 직군(디자이너·MD·CS·물류·경영·회계·지원팀)이 한 번에 이해할 수 있는 말이 기준입니다.

1해요체로 통일해요

모든 문구는 해요체. “저장됨”, “저장하시겠습니까?” → “저장했어요”

2쉬운 말로 써요

직군이 달라도 누구나 이해하도록 영어·약어·전문용어를 풀어 써요.

이렇게 ✗이렇게 ✓
업로드 컴플리트올리기 완료했어요
싱크동기화했어요
Confirm확인

3능동적으로 말해요

Before
확인되었어요 / 등록되었습니다
After
확인했어요 / 등록했어요

4긍정적으로 말해요

Before
권한이 없어요
After
관리자에게 요청하면 쓸 수 있어요

다이얼로그 왼쪽 버튼은 항상 [닫기] — “취소”는 작업이 취소된다는 오해를 줄 수 있어요.

5캐주얼한 경어를 써요

이렇게 ✗이렇게 ✓
입력하시겠어요?입력할래요?
~께 전달~에게 전달
확인 부탁드립니다확인해 주세요

6명사를 동사로 풀어요

Before
파일 업로드 진행
After
파일을 올리고 있어요

UX 원칙 · 답답하지 않은 화면

사용자를 속이거나 가두지 않는 최소한의 기준이에요. 사내 도구에서도 그대로 지킵니다.

1진입 직후 화면을 가로막지 않기

들어오자마자 팝업·바텀시트로 전면을 막지 않아요. 집중이 끊기고 이탈로 이어져요.

2뒤로가기를 막지 않기

뒤로가기 버튼을 눌렀을 때 팝업으로 이전 화면 이동을 막지 않아요.

3거절할 수 있게 하기

한쪽 선택지만 주는 강제 구조를 만들지 않아요. 닫기/거절 경로를 항상 둬요.

4예상 밖의 노출 없애기

흐름 중 갑작스러운 전면 광고·팝업으로 몰입을 방해하지 않아요.

5버튼 라벨을 명확하게

버튼만 보고도 다음에 무슨 일이 일어날지 알 수 있게 써요. 모호한 라벨은 망설임을 키워요.

접근성 (A11y)

누구나 쓸 수 있게, 최소한 아래는 지켜요.

1명도 대비 확보

본문 4.5:1, 큰 글씨·아이콘 3:1 이상. (그래서 버튼은 밝은 로고색 대신 Deep Azure를 써요.)

2포커스 링 항상 보이게

키보드 탭 이동 시 브랜드 블루 아웃라인이 보여야 해요. outline 제거 금지.

3터치 영역 최소 44×44

작은 아이콘 버튼도 주변 여백 포함 44px 이상 누를 수 있게 해요.

4색만으로 전달하지 않기

상태를 색 하나로만 표시하지 말고 아이콘·텍스트를 함께 써요(예: Alert).

5키보드로 모든 동작

마우스 없이 탭·엔터·esc로 조작 가능해야 해요. 모달은 esc로 닫혀요.

Do / Don't

자주 틀리는 지점만 모았어요. 왼쪽이 권장(Do), 오른쪽이 지양(Don't).

AI에게 이 가이드 주기

쓰는 AI에 맞춰 버튼 하나 눌러 복사 → 붙여넣기. 그게 전부예요.

CLAUDE CODE
한 번만 하면 계속 적용돼요
붙여넣으면 설치부터 자동 최신화 설정까지 Claude가 알아서 해요. 이후로는 "버튼 추가해줘"라고만 해도 이 가이드대로 작업합니다.
끝나면 Claude Code를 한 번 껐다 켜주세요.
프롬프트 내용 보기
더블유아일랜드 디자인 시스템 플러그인을 설치해줘. 순서대로 해줘.

1. 터미널에서 `claude plugin marketplace add w-island/style-guide` 실행
   (이미 등록돼 있다는 메시지가 나오면 그냥 다음 단계로)
2. 터미널에서 `claude plugin install wisland-design-system@w-island` 실행
3. ~/.claude/settings.json 을 읽고, 기존 내용을 지우지 말고 아래 두 항목만 병합해줘.
   이미 있으면 값만 맞춰줘.
   - extraKnownMarketplaces 에 "w-island" 키:
     { "source": { "source": "github", "repo": "w-island/style-guide" }, "autoUpdate": true }
   - enabledPlugins 에 "wisland-design-system@w-island": true
4. settings.json 이 유효한 JSON인지 확인하고, 설치된 플러그인 버전을 알려줘.
CODEX
터미널에 두 줄이면 끝나요
Claude와 같은 레포를 읽어요. 설치하면 "이 화면 정리해줘"처럼 말로 부탁해도 이 가이드대로 작업합니다.
codex 명령이 없다면 ChatGPT 앱 안의 것을 쓰세요 — 자세히 열면 경로가 있어요. 끝나면 새 스레드를 열어주세요.
명령 내용 보기
codex plugin marketplace add w-island/style-guide
codex plugin add wisland-design-system@w-island
codex: command not found 가 나오면 아래를 쓰세요.
/Applications/ChatGPT.app/Contents/Resources/codex plugin marketplace add w-island/style-guide
/Applications/ChatGPT.app/Contents/Resources/codex plugin add wisland-design-system@w-island
CHATGPT · 그 외 AI
대화에 붙여넣으면 바로 적용돼요
설치할 게 없어요. AI가 기준 문서를 읽어와서 그 값 그대로 작업합니다. 새 대화를 시작할 때마다 한 번씩 넣어주세요.
문서를 못 읽는다고 하면 파일을 받아 첨부해주세요.
프롬프트 내용 보기
아래 링크의 더블유아일랜드 디자인 시스템 문서를 열어서 전부 읽어줘.
https://w-island.github.io/style-guide/wisland-design-system.md

앞으로 이 대화의 UI·디자인·문구 작업은 그 문서의 색상·토큰·컴포넌트·문구 규칙을 그대로 따라줘.
문서에 없는 값은 추측하지 말고 나에게 물어봐.
자세히 — 데모 · 전체 적용 · 문제 해결 · 업데이트
▶ 30초 따라하기 (실제 흐름)
팀원에게 이 데모를 보여주면 돼요. 재생을 누르면 입력이 실제처럼 재현되고, 오른쪽 실시간 미리보기가 적용 순간 회색 → 브랜드 톤으로 바뀌어요. 아래 버튼으로 명령도 바로 복사할 수 있어요.
Claude Code — w-island
실시간 미리보기● REC
샘플 도구
NEW완료
파일을 불러왔습니다
1. 사용 — 그냥 말하면 돼요
스킬 이름을 외울 필요 없어요. UI/디자인 작업을 부탁하면 Claude가 알아서 이 디자인 시스템을 적용해요.
"버튼 하나 추가해줘" "색 우리 톤으로 바꿔줘" "다크모드 입혀줘" "안내 문구 다듬어줘"
※ 단순한 한 줄 질문엔 안 뜰 수 있고, 실제 UI 작업일 때 발동돼요.
2. 진행 중인 작업에 전체 적용 (강하게)
"적용해줘"가 약하게 먹힐 때 — 슬래시 커맨드로 디자인 시스템을 현재 작업에 전면 적용해요. 토큰·컴포넌트·문구·다크모드까지 한 번에 훑어서 맞춰줍니다.
# 진행 중인 작업/프로젝트 전체에 적용 (범위 인자 옵션)
/wisland-design-system:apply 전체
# 또는 스킬을 직접 강제 호출
/wisland-design-system:wisland-design-system
잘 안 먹힐 때 체크리스트
  • 설치·활성 확인: /plugin 목록에 wisland-design-system이 enabled인지 확인. 막 설치했다면 세션을 새로 시작해야 인식돼요(가장 흔한 원인).
  • 프로젝트에 항상 강제하려면 그 프로젝트 CLAUDE.md에 한 줄 추가:
    이 프로젝트의 모든 UI·문구는 wisland-design-system 디자인 시스템을 따른다.
  • 그래도 약하면 위 /wisland-design-system:apply 커맨드를 쓰세요 — 자동 트리거와 달리 항상 전수 적용돼요.
설치가 안 될 때 — 링크로 바로 적용 (설치·등록 불필요)
플러그인 등록이 안 되는 환경(구버전·권한·웹 등)에서도 돼요. 공개 레포라, 아래 프롬프트를 Claude에 그대로 붙여넣으면 기준 문서를 읽어와 전체 적용해요.
아래 더블유아일랜드 디자인 시스템 기준을 읽고, 지금 작업/이 프로젝트에 전체 적용해줘.
- https://raw.githubusercontent.com/w-island/style-guide/main/plugins/wisland-design-system/skills/wisland-design-system/SKILL.md
- https://raw.githubusercontent.com/w-island/style-guide/main/plugins/wisland-design-system/skills/wisland-design-system/references/tokens.md
- https://raw.githubusercontent.com/w-island/style-guide/main/plugins/wisland-design-system/skills/wisland-design-system/references/components.md
- https://raw.githubusercontent.com/w-island/style-guide/main/plugins/wisland-design-system/skills/wisland-design-system/references/ux-writing.md
색·컴포넌트·문구·다크모드까지 이 기준대로 맞추고, 기존 토큰 시스템이 있으면 값만 리매핑해줘.
3. 업데이트 — 자동
위 Claude 프롬프트를 그대로 썼다면 따로 할 게 없어요. 거기 autoUpdate 설정이 들어 있어서, Claude Code를 켤 때마다 알아서 최신 가이드로 맞춰집니다.
⚠️ 직접 설치하면 조용히 낡습니다
플러그인은 설치 시점의 복사본을 캐시하고, 낡아도 알려주지 않아요. 실제로 3개월 뒤처진 채 작업하다 새로 생긴 /apply 커맨드가 아예 없던 사례가 있었습니다. 위 프롬프트를 쓰면 이 설정이 자동으로 들어가요.
지금 당장 최신화하고 싶을 때
claude plugin marketplace update w-island
claude plugin update wisland-design-system@w-island
4. ChatGPT에 아예 붙박이로 두기
매번 프롬프트를 넣기 싫다면, 통합본 파일을 받아서 ChatGPT 프로젝트 파일로 올려두세요. 프로젝트 지침엔 아래 한 줄이면 됩니다. 그 프로젝트의 모든 대화에 적용돼요.
UI·디자인·문구 작업은 업로드된 더블유아일랜드 디자인 시스템 문서의 값을 그대로 쓴다. 문서에 없는 값은 추측하지 말고 물어본다.
⚠️ 업로드한 파일은 자동 갱신되지 않아요. 가이드가 바뀌면 새로 받아 올려주세요. (링크를 읽는 위 GPT 프롬프트는 항상 최신을 봅니다)
문의: creative@wisland.co.kr · 레포: github.com/w-island/style-guide
복사했어요