CLI

Configuration

seed-design.json 설정을 안내해요.

seed-design.json 만들기

seed-design.json 파일은 CLI로 생성하거나 직접 추가할 수 있어요.

아래 파일을 프로젝트 루트에 생성해주세요.

seed-design.json
{
  "rsc": false,
  "tsx": true,
  "path": "./seed-design",
  "telemetry": true
}

기본 형태

seed-design.json
{
  "rsc": false,
  "tsx": true,
  "path": "./seed-design",
  "telemetry": true
}

seed-design.json은 엄격하게 파싱돼요. 문서에 없는 키를 임의로 추가하면 CLI 실행 시 오류가 날 수 있어요.

옵션 한눈에 보기

옵션타입기본값설명
pathstring없음 (init에서는 ./seed-design)스니펫이 생성될 루트 경로
rscbooleanfalseReact Server Components 사용 여부에 맞춰 "use client" 유지/제거
tsxbooleantrue생성 파일을 TypeScript(.ts/.tsx) 또는 JavaScript(.js/.jsx)로 변환
telemetrybooleantrue익명 사용 데이터 수집 여부
$schemastring선택값JSON 스키마 힌트용 필드 (CLI 동작에는 영향 없음)

path

path는 스니펫이 생성되는 루트 디렉토리예요.

add/add-all 실행 시 파일은 path 아래에 레지스트리 ID와 스니펫 내부 경로 기준으로 생성돼요. 고정된 폴더 구조가 아니라, 선택한 항목에 따라 구조가 달라져요.

seed-design.json
{
  "path": "./seed-design"
}
action-button.tsx
tabs.tsx
animate-number.tsx
classnames.ts

rsc

React Server Components를 사용할지 설정해요.

스니펫에 이미 있는 "use client" directive를 유지할지 결정해요.

  • true: "use client"를 유지해요.
  • false: 파일 최상단의 "use client"를 제거해요.
seed-design.json
{
  "rsc": true | false // default: false
}

tsx

TypeScript를 사용할지 설정해요.

false로 설정하면 .ts/.tsx 파일이 .js/.jsx로 변환돼요.

seed-design.json
{
  "tsx": true | false // default: true
}

telemetry

텔레메트리 데이터 수집 여부를 설정해요.

SEED Design CLI는 개선을 위해 익명 사용 데이터를 수집해요. 프로젝트 경로, 파일 내용, 소스 코드는 수집하지 않아요.

seed-design.json
{
  "telemetry": true | false // default: true
}

우선순위

아래 순서로 텔레메트리 활성화 여부를 판단해요.

  1. DISABLE_TELEMETRY=true 환경 변수
  2. SEED_DISABLE_TELEMETRY=true 환경 변수
  3. seed-design.jsontelemetry
  4. 기본값 true

수집되는 데이터 예시

  • 실행 이벤트: init, add, add-all, compat
  • 실행 통계: 실행 시간(duration_ms), 추가된 항목 수
  • 설정 정보: tsx, rsc, include_deprecated, yes_option

수집되지 않는 데이터

  • 프로젝트 경로, 생성된 파일 경로
  • 스니펫 파일 내용
  • 소스 코드
  • 개인 식별 정보

비활성화 방법

1. seed-design.json 설정

{
  "telemetry": false
}

2. 환경 변수 설정

export DISABLE_TELEMETRY=true
# 또는
export SEED_DISABLE_TELEMETRY=true

$schema

$schema는 선택적으로 추가할 수 있는 문자열 필드예요. 현재 CLI 동작에는 영향을 주지 않고, 에디터의 JSON 자동완성/검증 용도로만 사용할 수 있어요.

Last updated on