# echolot validate (/ko/docs/cli/validate)

`echolot validate`는 아무것도 보내지 않고 작업 공간의 모든 파일을 읽고 모든 요청을 해석합니다. CI에서 가장 먼저, 또는 커밋하기 전에
실행하면 깨진 파일, 한 환경에서 빠진 변수, 더 이상 스키마와 맞지 않는 GraphQL 쿼리를 잡아낼 수 있습니다.

```sh
echolot validate [<workspace>] [--env <env>]
```

`<workspace>`는 작업 공간 폴더이며, 생략하면 현재 폴더입니다.

## 작업 공간 확인 [#check-a-workspace]

```sh
echolot validate Alpenglow.echolot
```

```text
auth/who-am-i: note: {{token}} is captured from a response during the run
auth/client-credentials: note: the OAuth 2.0 token comes from the token URL (client credentials) when the request is sent
orders/list-orders: note: {{token}} is captured from a response during the run
orders/create-order: note: {{token}} is captured from a response during the run
orders/get-order: note: {{token}} is captured from a response during the run
orders/cancel-order: note: {{token}} is captured from a response during the run
29 requests, 3 environments: no problems
```

문제는 하나당 한 줄로 표준 오류에 출력되며 요청의 경로로 시작합니다. 실행하는 동안 생성되는 것(OAuth 클라이언트 자격 증명 토큰, 캡처한
변수, 다른 요청의 응답)은 미리 알 수 없으므로 참고로만 표시하고 문제로 집계하지 않습니다. 표준 출력에 나오는 마지막 줄은 요청, 환경,
문제의 수를 집계합니다.

확인하는 항목:

- 작업 공간의 모든 파일을 읽을 수 있는지: 파싱되는 TOML, Echolot이 아는 값(인증 유형 등), 더 새로운 버전의 Echolot이 저장하지 않은
  파일.
- 모든 요청이 환경에서 해석되는지: 각 `{{variable}}`과 각 동적 값이 값을 얻습니다.
- 스키마를 지정한 GraphQL 요청은 그 스키마와 대조해 확인하며, 문제마다 줄과 열이 표시됩니다. 지원 중단된 필드 같은 경고는 실패로
  처리하지 않습니다.

## 옵션 [#options]

| 옵션 | 의미 |
| --- | --- |
| `-e`, `--env <env>` | 해석에 사용할 환경: `.toml`을 뺀 파일 이름 또는 이름. |

실행에 사용하는 환경마다 한 번씩 확인하십시오.

```sh
echolot validate Alpenglow.echolot --env staging
```

비밀 변수는 실행에서와 같이 `ECHOLOT_SECRET_<NAME>` 변수와 Mac의 키체인에서 해석됩니다. [비밀 값](/docs/cli#secrets)을 참조하십시오.

## 종료 코드 [#exit-codes]

| 코드 | 조건 |
| --- | --- |
| `0` | 문제가 없습니다. 참고는 집계하지 않습니다. |
| `1` | 문제가 하나 이상 있거나 작업 공간을 읽을 수 없습니다. |
| `64` | 존재하지 않는 환경. |
