> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# nora schema

> Flow 빌더 페이로드 스키마 인쇄 — JSON 편집의 정본.

`schema` 가 서버가 Flow 페이로드에 기대하는 정확한 모양 인쇄. JSON 손 편집, config-as-code 작성, Flow 페이로드 생성하는 도구 빌드 시 유용.

## 명령

| 명령            | 설명                   |
| ------------- | -------------------- |
| `schema show` | 현재 Flow 페이로드 스키마 인쇄. |

## `schema show`

```bash theme={null}
nora schema show
```

전체 페이로드 스키마 인쇄:

* 모든 최상위 필드.
* 모든 블록 타입 (Agent, Tool, Action, Trigger, Router, ...).
* 모든 블록 필드와 타입, 필수 여부, 허용 값.
* 모든 엣지/와이어 필드.

기본 출력이 사람 읽기 구조화 텍스트.

JSON-스키마 인식 도구 (`jq`, `ajv`, IDE JSON 스키마 바인딩) 로 파이핑에 `--json` 추가.

## 언제 사용

* `flows apply` 전 — JSON 이 서버 수용과 매치하는지 체크.
* JSON 거부되고 에러 메시지 불명확할 때.
* 생성기나 마이그레이션 작성 시 참조 자료로.

## Flow 파일 로컬 검증

서버가 `flows apply` 에 항상 검증하지만 어떤 JSON-스키마 도구로든 오프라인 사전 검증 가능:

```bash theme={null}
nora schema show --json > flow-schema.json
npx ajv validate -s flow-schema.json -d my-flow.json
```

네트워크 왕복 전 오타와 모양 불일치 잡음.

## 스키마 진화

스키마가 서버와 함께 버전 관리. 새 서버 버전이 옵션 필드 추가 가능; 필수 필드는 마이그레이션 경로 없이 절대 바뀌지 않음.

스키마 변경 추적: CI 에서 `schema show` 실행하고 이전 버전과 diff. 새 것 나타나면 생성기 업데이트 필요한지 물음.

```bash theme={null}
# CI 에서 주기적으로:
nora schema show --json > schema-latest.json
diff schema-current.json schema-latest.json && echo "변경 없음" || echo "스키마 변경됨!"
```

## 스키마가 커버 안 하는 것

* 런타임 상태 — 스키마는 *편집 가능 페이로드*, 실행 이력 아님.
* 버전 메타데이터 (저자, 타임스탬프 등) — 배포 시 서버 쪽에서 추가.
* 설정 (`nora flows settings get`) — 별도 객체.
* 변수 (`nora vars list`) — 기술적으로 페이로드 일부지만 종종 `vars set` 으로 편집.
