seed-design-cli

SEED Design CLI workflows for init/add/add-all/compat, seed-design.json setup, snippet version compatibility checks, baseUrl-based registry selection, and custom snippet migration strategies. Use when onboarding SEED snippets, adding components, resolving version mismatches, or updating customized snippet files.

Installation

seed-design-cli 스킬만 설치하려면 다음 명령어를 사용하세요.

npx skills add https://github.com/daangn/seed-design --skill seed-design-cli

File Structure

SKILL.md
usage.md
migration.md

SKILL.md

---
name: seed-design-cli
description: SEED Design CLI workflows for init/add/add-all/compat, seed-design.json setup, snippet version compatibility checks, baseUrl-based registry selection, and custom snippet migration strategies. Use when onboarding SEED snippets, adding components, resolving version mismatches, or updating customized snippet files.
---

# Seed Design CLI

SEED Design CLI를 프로젝트에 안정적으로 적용할 때 사용하는 스킬입니다.

## Quick Start

1. `seed-design.json`을 생성합니다.
2. 필요한 스니펫을 `add` 또는 `add-all`로 추가합니다.
3. `compat`으로 현재 프로젝트 버전과 스니펫 요구 버전 호환성을 검사합니다.
4. 버전 호환이 필요하면 `--baseUrl`로 맞는 레지스트리를 지정합니다.
5. 파일 충돌 시 덮어쓰기/백업/건너뛰기 전략을 선택합니다.

## Scope

- `npx @seed-design/cli@latest init`
- `npx @seed-design/cli@latest add ...`
- `npx @seed-design/cli@latest add-all ...`
- `npx @seed-design/cli@latest compat ...`
- `seed-design.json` 운영 (`path`, `tsx`, `rsc`, `telemetry`)
- 스니펫 버전 호환성과 마이그레이션 운영

## References

- CLI Commands: https://seed-design.io/llms/react/getting-started/cli/commands.txt
- CLI Configuration: https://seed-design.io/llms/react/getting-started/cli/configuration.txt

## Reference Files

- 일반 사용 흐름: `references/usage.md`
- 호환/마이그레이션: `references/migration.md`

References

usage.md

# Usage

## Core Commands

### 1) Initialization

```bash
npx @seed-design/cli@latest init
```

질문 없이 기본값으로 만들려면:

```bash
npx @seed-design/cli@latest init --yes
```

### 2) Add Snippets

```bash
npx @seed-design/cli@latest add ui:action-button
```

여러 항목 추가:

```bash
npx @seed-design/cli@latest add ui:action-button ui:alert-dialog
```

### 3) Add by Registry

```bash
npx @seed-design/cli@latest add-all ui
```

모든 레지스트리:

```bash
npx @seed-design/cli@latest add-all --all
```

### 4) Compatibility Check

현재 프로젝트의 `@seed-design/react`, `@seed-design/css`와 스니펫 요구 버전이 맞는지 검사합니다.

```bash
npx @seed-design/cli@latest compat
```

특정 항목만 검사:

```bash
npx @seed-design/cli@latest compat ui:action-button ui:alert-dialog
```

컴포넌트 shorthand 검사:

```bash
npx @seed-design/cli@latest compat -c action-button -c alert-dialog
```

모든 레지스트리 항목 검사:

```bash
npx @seed-design/cli@latest compat --all
```

## seed-design.json Settings

주요 필드:

- `path`: 스니펫 출력 루트 경로
- `tsx`: TypeScript 변환 여부
- `rsc`: `"use client"` 유지 여부
- `telemetry`: 익명 사용 데이터 수집 여부

## Reference Links

- Commands: https://seed-design.io/llms/react/getting-started/cli/commands.txt
- Configuration: https://seed-design.io/llms/react/getting-started/cli/configuration.txt

references/migration.md

# Migration

## Pre-Check Compatibility

업데이트 전에 먼저 `compat` 명령으로 현재 설치된 스니펫의 버전 호환 상태를 확인합니다.

```bash
npx @seed-design/cli@latest compat
```

호환성 이슈가 있으면 종료 코드 `1`로 끝나므로 CI에서도 게이트로 사용할 수 있습니다.

## Install Compatible Snippets

프로젝트의 `@seed-design/react` 버전과 맞는 스니펫이 필요하면 `--baseUrl`을 사용합니다.

```bash
npx @seed-design/cli@latest add --baseUrl https://1-0.seed-design.pages.dev ui:action-button
```

```bash
npx @seed-design/cli@latest add-all --baseUrl https://1-1.seed-design.pages.dev ui
```

## Resolve Custom File Conflicts

CLI는 파일 내용이 다르면 diff를 보여주고 아래 중 하나를 선택하게 합니다.

1. `overwrite`: 기존 파일을 새 내용으로 덮어쓰기
2. `backup`: 기존 파일을 `legacy-<파일명>-<timestamp>`로 백업 후 교체
3. `skip`: 현재 파일 유지

## Decision Guide

- 커스텀 변경이 거의 없고 최신 스니펫 기준으로 재정렬할 때: `overwrite`
- 커스텀 변경을 보존하면서 안전하게 이전할 때: `backup`
- 레거시 구현을 당장 유지하고 점진 전환할 때: `skip`

## Recommended Flow

1. `compat`으로 현재 불일치 항목을 먼저 파악합니다.
2. 대상 컴포넌트를 작은 단위로 나눠서 `--baseUrl`로 업데이트합니다.
3. 충돌 파일은 우선 `backup`을 선택해 안전망을 확보합니다.
4. 동작/스타일 검증 후 필요하면 백업 파일의 커스텀을 수동 반영합니다.

Last updated on