# Configuration
URL: /react/getting-started/cli/configuration
Source: https://github.com/daangn/seed-design/blob/dev/docs/content/react/getting-started/cli/configuration.mdx
seed-design.json 설정을 안내해요.
## seed-design.json 만들기 \[#seed-designjson-만들기]
`seed-design.json` 파일은 CLI로 생성하거나 직접 추가할 수 있어요.
CLI로 seed-design을 추가하는 방법을 알아봐요.
아래 파일을 프로젝트 루트에 생성해주세요.
```json title="seed-design.json"
{
"rsc": false,
"tsx": true,
"path": "./seed-design",
"telemetry": true
}
```
## 기본 형태 \[#기본-형태]
```json title="seed-design.json"
{
"rsc": false,
"tsx": true,
"path": "./seed-design",
"telemetry": true
}
```
`seed-design.json`은 엄격하게 파싱돼요. 문서에 없는 키를 임의로 추가하면 CLI 실행 시 오류가 날 수 있어요.
## 옵션 한눈에 보기 \[#옵션-한눈에-보기]
| 옵션 | 타입 | 기본값 | 설명 |
| ----------- | --------- | ---------------------------- | ----------------------------------------------------------- |
| `path` | `string` | 없음 (init에서는 `./seed-design`) | 스니펫이 생성될 루트 경로 |
| `rsc` | `boolean` | `false` | React Server Components 사용 여부에 맞춰 `"use client"` 유지/제거 |
| `tsx` | `boolean` | `true` | 생성 파일을 TypeScript(`.ts/.tsx`) 또는 JavaScript(`.js/.jsx`)로 변환 |
| `telemetry` | `boolean` | `true` | 익명 사용 데이터 수집 여부 |
| `$schema` | `string` | 선택값 | JSON 스키마 힌트용 필드 (CLI 동작에는 영향 없음) |
### path \[#path]
`path`는 스니펫이 생성되는 루트 디렉토리예요.
`add`/`add-all` 실행 시 파일은 `path` 아래에 레지스트리 ID와 스니펫 내부 경로 기준으로 생성돼요.
고정된 폴더 구조가 아니라, 선택한 항목에 따라 구조가 달라져요.
```json title="seed-design.json"
{
"path": "./seed-design"
}
```
### rsc \[#rsc]
[React Server Components](https://react.dev/reference/rsc/server-components)를 사용할지 설정해요.
스니펫에 이미 있는 `"use client"` directive를 유지할지 결정해요.
- `true`: `"use client"`를 유지해요.
- `false`: 파일 최상단의 `"use client"`를 제거해요.
```json title="seed-design.json"
{
"rsc": true | false // default: false
}
```
### tsx \[#tsx]
TypeScript를 사용할지 설정해요.
`false`로 설정하면 `.ts/.tsx` 파일이 `.js/.jsx`로 변환돼요.
```json title="seed-design.json"
{
"tsx": true | false // default: true
}
```
### telemetry \[#telemetry]
텔레메트리 데이터 수집 여부를 설정해요.
SEED Design CLI는 개선을 위해 익명 사용 데이터를 수집해요.
프로젝트 경로, 파일 내용, 소스 코드는 수집하지 않아요.
```json title="seed-design.json"
{
"telemetry": true | false // default: true
}
```
#### 우선순위 \[#우선순위]
아래 순서로 텔레메트리 활성화 여부를 판단해요.
1. `DISABLE_TELEMETRY=true` 환경 변수
2. `SEED_DISABLE_TELEMETRY=true` 환경 변수
3. `seed-design.json`의 `telemetry`
4. 기본값 `true`
#### 수집되는 데이터 예시 \[#수집되는-데이터-예시]
- 실행 이벤트: `init`, `add`, `add-all`, `compat`
- 실행 통계: 실행 시간(`duration_ms`), 추가된 항목 수
- 설정 정보: `tsx`, `rsc`, `include_deprecated`, `yes_option` 등
#### 수집되지 않는 데이터 \[#수집되지-않는-데이터]
- 프로젝트 경로, 생성된 파일 경로
- 스니펫 파일 내용
- 소스 코드
- 개인 식별 정보
#### 비활성화 방법 \[#비활성화-방법]
**1. seed-design.json 설정**
```json
{
"telemetry": false
}
```
**2. 환경 변수 설정**
```bash
export DISABLE_TELEMETRY=true
# 또는
export SEED_DISABLE_TELEMETRY=true
```
### $schema \[#schema]
`$schema`는 선택적으로 추가할 수 있는 문자열 필드예요.
현재 CLI 동작에는 영향을 주지 않고, 에디터의 JSON 자동완성/검증 용도로만 사용할 수 있어요.