# Commands URL: /react/getting-started/cli/commands Source: https://github.com/daangn/seed-design/blob/dev/docs/content/react/getting-started/cli/commands.mdx @seed-design/cli 명령어를 안내해요. ## 공통 동작 \[#공통-동작] - `add`, `add-all`은 `seed-design.json` 설정 파일을 사용해요. - 설정 파일이 없거나 읽을 수 없으면 생성할지 먼저 물어봐요. - 항목 추가 시 필요한 npm 패키지 의존성은 자동으로 설치돼요. - `add`, `add-all` 실행 시 스니펫이 요구하는 `@seed-design/react`, `@seed-design/css` 버전과 현재 프로젝트 버전이 다르면 경고를 보여줘요. - 기존 파일과 내용이 다르면 기본적으로 `덮어쓰기 / 백업 후 교체 / 건너뛰기`를 선택할 수 있어요. - `--on-diff` 옵션을 주면 충돌 처리 방식을 미리 고정할 수 있어요. - 실패 원인을 자세히 확인하려면 `--verbose` 옵션을 사용할 수 있어요. ## init \[#init] `seed-design.json` 파일을 생성하는 명령어예요. `seed-design.json` 파일에 대해 알아봅니다. ### init 명령어 입력하기 \[#init-명령어-입력하기] - npm: npx @seed-design/cli@latest init - pnpm: pnpm dlx @seed-design/cli@latest init - yarn: yarn dlx @seed-design/cli@latest init - bun: bun x @seed-design/cli@latest init ### seed-design 설정 \[#seed-design-설정] ```sh ◇ TypeScript를 사용중이신가요? │ Yes │ ◇ React Server Components를 사용중이신가요? │ No │ ◇ seed-design 폴더 경로를 입력해주세요. (기본값은 프로젝트 루트에 생성됩니다.) │ ./seed-design │ ◇ 개선을 위해 익명 사용 데이터를 수집할까요? │ Yes ``` ### 옵션 \[#옵션] | 옵션 | 설명 | | ----------------- | ---------------------------------- | | `-c, --cwd ` | 작업 디렉토리. 기본값은 현재 디렉토리 | | `-y, --yes` | 질문 없이 기본값으로 `seed-design.json` 생성 | | `--default` | Deprecated. `--yes`와 동일하게 기본값으로 생성 | | `--verbose` | 실패 시 stack trace 등 상세 오류 정보 출력 | | `-h, --help` | 도움말 출력 | - npm: npx @seed-design/cli@latest init --yes - pnpm: pnpm dlx @seed-design/cli@latest init --yes - yarn: yarn dlx @seed-design/cli@latest init --yes - bun: bun x @seed-design/cli@latest init --yes ## add \[#add] 스니펫을 다운로드하고 프로젝트에 추가하는 명령어예요. 자주 쓰이는 UI 패턴의 재사용을 돕는 스니펫에 대해 알아봅니다. - npm: npx @seed-design/cli@latest add \[...item-ids] - pnpm: pnpm dlx @seed-design/cli@latest add \[...item-ids] - yarn: yarn dlx @seed-design/cli@latest add \[...item-ids] - bun: bun x @seed-design/cli@latest add \[...item-ids] `item-ids`를 생략하면, 다운로드 가능한 항목을 인터랙티브하게 선택할 수 있어요. - npm: npx @seed-design/cli@latest add - pnpm: pnpm dlx @seed-design/cli@latest add - yarn: yarn dlx @seed-design/cli@latest add - bun: bun x @seed-design/cli@latest add ```sh copy ◆ 추가할 항목을 선택해주세요 (스페이스 바로 여러 개 선택 가능) │ ◻ ui:action-button │ ◻ ui:alert-dialog │ ◻ ui:callout │ ◻ ui:checkbox │ ◻ ui:switch │ ◻ ui:text-field │ ◻ ui:tabs │ ◻ (deprecated) ui:old-component │ ◻ ... └ ``` 여러 항목을 직접 지정할 수도 있어요. - npm: npx @seed-design/cli@latest add ui:action-button ui:alert-dialog - pnpm: pnpm dlx @seed-design/cli@latest add ui:action-button ui:alert-dialog - yarn: yarn dlx @seed-design/cli@latest add ui:action-button ui:alert-dialog - bun: bun x @seed-design/cli@latest add ui:action-button ui:alert-dialog ### 옵션 \[#옵션-1] | 옵션 | 설명 | | ------------------------- | --------------------------------------------- | | `-c, --cwd ` | 작업 디렉토리. 기본값은 현재 디렉토리 | | `-u, --baseUrl ` | 레지스트리 base URL | | `--on-diff ` | 파일 충돌 처리 방식 지정 (`overwrite` 또는 `backup`) | | `-a, --all` | **Deprecated**. 현재는 에러를 출력하고 `add-all` 사용을 안내 | | `--verbose` | 실패 시 stack trace 등 상세 오류 정보 출력 | | `-h, --help` | 도움말 출력 | ### baseUrl 사용하기 \[#baseurl-사용하기] `--baseUrl` 옵션을 사용하면 스니펫을 다운로드할 레지스트리를 직접 지정할 수 있습니다. 기본값은 배포 환경 기준 [`https://seed-design.io`](https://seed-design.io)입니다. 이 옵션은 특정 SEED React 패키지와 호환되는 스니펫이 필요한 경우 활용할 수 있습니다. - npm: npx @seed-design/cli@latest add --baseUrl https://1-0.seed-design.pages.dev - pnpm: pnpm dlx @seed-design/cli@latest add --baseUrl https://1-0.seed-design.pages.dev - yarn: yarn dlx @seed-design/cli@latest add --baseUrl https://1-0.seed-design.pages.dev - bun: bun x @seed-design/cli@latest add --baseUrl https://1-0.seed-design.pages.dev * npm: npx @seed-design/cli@latest add --baseUrl https://1-1.seed-design.pages.dev * pnpm: pnpm dlx @seed-design/cli@latest add --baseUrl https://1-1.seed-design.pages.dev * yarn: yarn dlx @seed-design/cli@latest add --baseUrl https://1-1.seed-design.pages.dev * bun: bun x @seed-design/cli@latest add --baseUrl https://1-1.seed-design.pages.dev ### 파일 충돌 처리 \[#파일-충돌-처리] `--on-diff`를 지정하지 않으면, 기존 파일과 새 스니펫이 다를 때 아래 중 하나를 직접 고를 수 있어요. - 덮어쓰기 - 기존 파일을 `legacy-<파일명>-`로 백업 후 교체 - 건너뛰기 ## add-all \[#add-all] 레지스트리 단위로 항목을 한 번에 추가하는 명령어예요. - npm: npx @seed-design/cli@latest add-all \[...registry-ids] - pnpm: pnpm dlx @seed-design/cli@latest add-all \[...registry-ids] - yarn: yarn dlx @seed-design/cli@latest add-all \[...registry-ids] - bun: bun x @seed-design/cli@latest add-all \[...registry-ids] 모든 레지스트리의 모든 항목을 추가하려면 `--all` 옵션을 사용하세요. - npm: npx @seed-design/cli@latest add-all --all # 모든 레지스트리의 모든 항목 추가 - pnpm: pnpm dlx @seed-design/cli@latest add-all --all # 모든 레지스트리의 모든 항목 추가 - yarn: yarn dlx @seed-design/cli@latest add-all --all # 모든 레지스트리의 모든 항목 추가 - bun: bun x @seed-design/cli@latest add-all --all # 모든 레지스트리의 모든 항목 추가 특정 레지스트리의 모든 항목을 추가할 수도 있습니다. - npm: npx @seed-design/cli@latest add-all breeze # breeze 레지스트리의 모든 항목 추가 - pnpm: pnpm dlx @seed-design/cli@latest add-all breeze # breeze 레지스트리의 모든 항목 추가 - yarn: yarn dlx @seed-design/cli@latest add-all breeze # breeze 레지스트리의 모든 항목 추가 - bun: bun x @seed-design/cli@latest add-all breeze # breeze 레지스트리의 모든 항목 추가 deprecated 항목을 포함하려면 `--include-deprecated` 옵션을 사용하세요. - npm: npx @seed-design/cli@latest add-all ui --include-deprecated # ui 레지스트리의 모든 항목 추가 (deprecated 포함) - pnpm: pnpm dlx @seed-design/cli@latest add-all ui --include-deprecated # ui 레지스트리의 모든 항목 추가 (deprecated 포함) - yarn: yarn dlx @seed-design/cli@latest add-all ui --include-deprecated # ui 레지스트리의 모든 항목 추가 (deprecated 포함) - bun: bun x @seed-design/cli@latest add-all ui --include-deprecated # ui 레지스트리의 모든 항목 추가 (deprecated 포함) 레지스트리 ID와 `--all`을 모두 생략하면, 추가할 레지스트리를 인터랙티브하게 선택할 수 있어요. ### 옵션 \[#옵션-2] | 옵션 | 설명 | | ------------------------- | ---------------------------------------- | | `-a, --all` | 모든 레지스트리의 모든 항목 추가 | | `--include-deprecated` | deprecated 항목 포함 | | `-c, --cwd ` | 작업 디렉토리. 기본값은 현재 디렉토리 | | `-u, --baseUrl ` | 레지스트리 base URL | | `--on-diff ` | 파일 충돌 처리 방식 지정 (`overwrite` 또는 `backup`) | | `--verbose` | 실패 시 stack trace 등 상세 오류 정보 출력 | | `-h, --help` | 도움말 출력 | ## compat \[#compat] 현재 프로젝트의 `@seed-design/react`, `@seed-design/css` 버전과 스니펫 요구 버전이 호환되는지 검사해요. - npm: npx @seed-design/cli@latest compat - pnpm: pnpm dlx @seed-design/cli@latest compat - yarn: yarn dlx @seed-design/cli@latest compat - bun: bun x @seed-design/cli@latest compat 기본값은 `seed-design.json`의 `path` 아래에 이미 추가된 스니펫만 검사해요. 호환성 이슈가 있으면 종료 코드 `1`, 문제가 없으면 `0`으로 종료돼서 CI/에이전트 환경에서도 바로 사용할 수 있어요. 특정 항목만 검사할 수도 있어요. - npm: npx @seed-design/cli@latest compat ui:action-button ui:alert-dialog - pnpm: pnpm dlx @seed-design/cli@latest compat ui:action-button ui:alert-dialog - yarn: yarn dlx @seed-design/cli@latest compat ui:action-button ui:alert-dialog - bun: bun x @seed-design/cli@latest compat ui:action-button ui:alert-dialog 컴포넌트 shorthand를 쓸 때는 `-c` 옵션을 사용해요. - npm: npx @seed-design/cli@latest compat -c action-button -c alert-dialog - pnpm: pnpm dlx @seed-design/cli@latest compat -c action-button -c alert-dialog - yarn: yarn dlx @seed-design/cli@latest compat -c action-button -c alert-dialog - bun: bun x @seed-design/cli@latest compat -c action-button -c alert-dialog 모든 registry 항목을 검사하려면 `--all`을 사용하세요. - npm: npx @seed-design/cli@latest compat --all - pnpm: pnpm dlx @seed-design/cli@latest compat --all - yarn: yarn dlx @seed-design/cli@latest compat --all - bun: bun x @seed-design/cli@latest compat --all ### 옵션 \[#옵션-3] | 옵션 | 설명 | | ----------------------------- | ---------------------------------------------- | | `-c, --component ` | 검사할 컴포넌트 ID. 여러 번 또는 쉼표로 지정 가능 | | `-r, --registry ` | `--component`에 shorthand를 사용할 때 기본 registry 지정 | | `-a, --all` | 모든 registry 항목 검사 | | `--cwd ` | 작업 디렉토리. 기본값은 현재 디렉토리 | | `-u, --baseUrl ` | 레지스트리 base URL | | `--verbose` | 실패 시 stack trace 등 상세 오류 정보 출력 | | `-h, --help` | 도움말 출력 | ## docs \[#docs] 문서 링크, llms.txt 링크, 스니펫 링크를 조회하는 명령어예요. - npm: npx @seed-design/cli@latest docs \[query] - pnpm: pnpm dlx @seed-design/cli@latest docs \[query] - yarn: yarn dlx @seed-design/cli@latest docs \[query] - bun: bun x @seed-design/cli@latest docs \[query] `query`를 생략하면, 카테고리 → 섹션 → 항목을 인터랙티브하게 선택할 수 있어요. - npm: npx @seed-design/cli@latest docs - pnpm: pnpm dlx @seed-design/cli@latest docs - yarn: yarn dlx @seed-design/cli@latest docs - bun: bun x @seed-design/cli@latest docs ```sh copy ◆ 카테고리를 선택해주세요 │ React │ ◆ 섹션을 선택해주세요 │ 컴포넌트 │ ◆ 항목을 선택해주세요 │ Action Button │ │ action-button │ - docs: https://seed-design.io/react/components/action-button │ - llms.txt: https://seed-design.io/llms/react/components/action-button.txt │ - snippet: https://raw.githubusercontent.com/daangn/seed-design/refs/heads/dev/docs/registry/ui/action-button.tsx │ ``` ### 직접 검색 \[#직접-검색] 항목 이름으로 직접 검색할 수 있어요. - npm: npx @seed-design/cli@latest docs action-button - pnpm: pnpm dlx @seed-design/cli@latest docs action-button - yarn: yarn dlx @seed-design/cli@latest docs action-button - bun: bun x @seed-design/cli@latest docs action-button ### 경로 기반 검색 \[#경로-기반-검색] `카테고리/섹션/항목` 형태로 직접 경로를 지정할 수 있어요. - npm: npx @seed-design/cli@latest docs react/components/action-button - pnpm: pnpm dlx @seed-design/cli@latest docs react/components/action-button - yarn: yarn dlx @seed-design/cli@latest docs react/components/action-button - bun: bun x @seed-design/cli@latest docs react/components/action-button 카테고리만 지정하면 해당 카테고리의 섹션/항목을 선택할 수 있어요. - npm: npx @seed-design/cli@latest docs react - pnpm: pnpm dlx @seed-design/cli@latest docs react - yarn: yarn dlx @seed-design/cli@latest docs react - bun: bun x @seed-design/cli@latest docs react 카테고리/섹션까지 지정하면 해당 섹션의 항목을 선택할 수 있어요. - npm: npx @seed-design/cli@latest docs react/components - pnpm: pnpm dlx @seed-design/cli@latest docs react/components - yarn: yarn dlx @seed-design/cli@latest docs react/components - bun: bun x @seed-design/cli@latest docs react/components ### 오타 제안 \[#오타-제안] 경로에 오타가 있으면 유사한 유효 경로를 제안해줘요. ```sh copy react/component/action-buton: 문서를 찾을 수 없어요. 💡 이것을 의미했나요? - react/components/action-button ``` ### Raw 모드 \[#raw-모드] `--raw` 옵션을 사용하면 UI 없이 llms.txt 내용을 순수 마크다운으로 출력해요. LLM 파이프나 스크립트에서 활용할 수 있어요. - npm: npx @seed-design/cli@latest docs react/components/action-button --raw - pnpm: pnpm dlx @seed-design/cli@latest docs react/components/action-button --raw - yarn: yarn dlx @seed-design/cli@latest docs react/components/action-button --raw - bun: bun x @seed-design/cli@latest docs react/components/action-button --raw 패키지 changelog도 가져올 수 있어요. - npm: npx @seed-design/cli@latest docs react/updates/changelog/react/1.2.5 --raw - pnpm: pnpm dlx @seed-design/cli@latest docs react/updates/changelog/react/1.2.5 --raw - yarn: yarn dlx @seed-design/cli@latest docs react/updates/changelog/react/1.2.5 --raw - bun: bun x @seed-design/cli@latest docs react/updates/changelog/react/1.2.5 --raw ### 옵션 \[#옵션-4] | 옵션 | 설명 | | ------------------------- | ------------------------------- | | `--raw` | UI 없이 llms.txt 내용을 순수 마크다운으로 출력 | | `-u, --baseUrl ` | 레지스트리 base URL | | `--verbose` | 실패 시 stack trace 등 상세 오류 정보 출력 | | `-h, --help` | 도움말 출력 |