이어서(ieoseo)의 공유 디자인 프리미티브 — 디자인 토큰·아이콘을 한 곳(소스) 에서 정의하고 Flutter 앱(Dart)·웹(CSS/TS)·문서 사이트로 자동 생성한다.
📖 문서 사이트: https://ieoseo.github.io/seed-design/ (tokens.json 에서 자동 생성)
멀티레포(
ieoseoorg)의 5번째 축:client(Flutter) ·server(Spring Boot) ·docs·landing(Next.js) ·seed-design.
| 종류 | 공유 | 비고 |
|---|---|---|
| 토큰(색·라운드·타이포·모션·hue·그림자) | ✅ | tokens/tokens.json → CSS·Dart |
| 아이콘(Lucide 24-grid path + 브랜드/프로바이더 SVG) | ✅ | icons/ → Dart 맵·웹 path 맵·SVG |
| 컴포넌트 스펙(버튼·뱃지·칩 수치/변형) | ✅ | Seed* 상수·.btn 등 — 위젯 구현은 비공유 |
| 컴포넌트(위젯) | ❌ | Flutter 위젯 ≠ React. 각 플랫폼이 프리미티브를 소비해 따로 구현 |
토큰 값의 권위 = 이 repo 의 tokens/tokens.json (ADR-0032 권위 역전). client·docs 문서는 소비자다.
seed-design/
├── tokens/tokens.json # 토큰 단일 소스 (palette $참조 지원, light/dark)
├── icons/ # lucide.json + brand/provider SVG
├── scripts/
│ ├── build.mjs # 생성기 (무의존 Node) — 참조→타입→WCAG 3중 게이트
│ └── site.mjs # 문서 사이트 생성기
├── lib/ # ★ Dart 패키지 생성물 (pubspec.yaml — client 가 git 의존)
│ └── seed_{tokens,components,icons}.dart
└── dist/ # 웹 생성물 (커밋함, CI 일치 검증)
├── css/{tokens,components}.css # landing 이 npm git 의존으로 import
├── web/{icons,providers,fonts}.ts
├── svg/{brand,provider}/
└── site/ # 문서 사이트 → GitHub Pages 자동 배포
npm run build # 소스 → lib/ + dist/ 재생성 (게이트: 참조·타입·WCAG 대비)
npm run check # 빌드 후 lib/dist 가 소스와 일치하는지 검증(CI 와 동일)소스를 바꾸면 반드시 npm run build 후 lib/·dist/ 를 함께 커밋한다(CI 가 일치 + Dart format/analyze 를 강제).
- client(Flutter):
pubspec.yaml의seed_design: git:→package:seed_design/*import. 업데이트:flutter pub upgrade seed_design(lock 이 커밋 고정). - landing(Next.js):
@ieoseo/seed-designnpm git 의존 →@ieoseo/seed-design/css/*.css·/web/*.tsimport. 업데이트:npm update @ieoseo/seed-design.
brand.primary 만 두고 primaryHover/primarySubtle/primaryFg 는 생성기가 Flutter Color.lerp 를 미러해 파생한다 — 앱/웹 값이 정확히 일치. 2곳 이상 공유되는 원색은 palette 층 + $palette.* 참조(ADR-0034).
- 현재 pre-v0.1:
main직접 푸시. 커밋은 한국어 Conventional Commits, 푸시 전npm run check. - pubspec/package.json 의
0.1.0은 자리표시자 — 소비처는 main + lock 고정으로 참조하므로 버전 태그를 쓰지 않는다. - v0.1 태그 시점 = 앱 첫 정식(프로덕션 트랙) 릴리스와 동시 — 그때부터 이슈→브랜치→PR 필수(GitHub Flow)로 전환하고 태그 릴리스를 시작한다.
결정 근거: docs/04-ADR 0022(분리)·0032(권위·게이트)·0034(참조)·0035(문서 사이트)·0036(패키지 의존).