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

# CLI Reference

> cloudthinker의 모든 명령, 플래그, 환경 변수, 종료 코드를 한 페이지에서 찾아보세요

`cloudthinker` 바이너리의 모든 명령과, 각 명령이 받는 플래그 및 반환하는 코드입니다. 아직 설치하지 않았다면 [CLI 개요](/ko/guide/cli/overview)부터 보세요.

## 전역 옵션

서브커맨드 앞에 오며, 인증이 필요한 모든 명령에 적용됩니다.

| 옵션                       | 설명                                                                   |
| ------------------------ | -------------------------------------------------------------------- |
| `--url <URL>`            | API 기본 URL. 기본값 `https://app.cloudthinker.io`. 하위 경로가 아니라 오리진만 전달하세요 |
| `--workspace <ID 또는 이름>` | 이 워크스페이스의 저장된 자격 증명 사용. `CLOUDTHINKER_TOKEN`과 함께 쓸 수 없음              |
| `-h`, `--help`           | 명령 도움말 출력                                                            |
| `-V`, `--version`        | CLI 버전 출력                                                            |

<Frame>
  <img src="https://mintcdn.com/cloudthinker/nF2DrtvkHboUjSi0/images/cli/command-surface.png?fit=max&auto=format&n=nF2DrtvkHboUjSi0&q=85&s=e5f324c027109e7e0ce7140858ffc2ca" alt="모든 명령과 전역 옵션을 나열하는 cloudthinker --help" width="1720" height="1122" data-path="images/cli/command-surface.png" />
</Frame>

## 인증 명령

| 명령                    | 설명                                    |
| --------------------- | ------------------------------------- |
| `login`               | 루프백 콜백을 통한 브라우저 로그인                   |
| `login --no-browser`  | 브라우저를 열지 않고 동의 URL만 출력                |
| `login --device-auth` | 다른 기기에서 짧은 코드로 승인                     |
| `logout`              | 선택했거나 활성화된 워크스페이스의 자격 증명 삭제           |
| `logout --all`        | 이 호스트에 저장된 모든 자격 증명 삭제                |
| `whoami`              | 자격 증명에 해당하는 호스트, 계정, 워크스페이스 출력        |
| `auth token`          | 현재 액세스 토큰을 stdout에 출력. 만료가 가까우면 먼저 갱신 |

자세한 내용과 CI 패턴은 [CLI 인증](/ko/guide/cli/authentication)에 있습니다.

## 에이전트

| 명령                   | 설명                              |
| -------------------- | ------------------------------- |
| `agent`              | 현재 디렉터리에서 로컬 코딩 에이전트 실행         |
| `agent <args...>`    | 모든 인자를 에이전트에 그대로 전달             |
| `agent -- <args...>` | 에이전트 옵션 이름이 CLI 옵션과 겹칠 때 전달을 강제 |

인자 없는 `cloudthinker`는 `agent`를 실행합니다. [Agent CLI](/ko/guide/cli/agent)를 참고하세요.

## 채팅

| 명령                              | 설명                                    |
| ------------------------------- | ------------------------------------- |
| `chat -p <PROMPT>`              | 프롬프트를 보내고 Anna의 답변을 기다림               |
| `chat -p ... --continue <UUID>` | 실행 ID 또는 대화 ID로 대화 이어 하기              |
| `chat -p ... --no-wait`         | 실행이 큐에 들어가는 즉시 반환                     |
| `chat -p ... --timeout <초>`     | 지정한 초 후 대기 중단. 기본값 2400. 실행은 서버에서 계속됨 |
| `chat -p ... --json`            | 평문 답변 대신 JSON 봉투 출력                   |
| `chat status <RUN_ID>`          | 실행의 현재 상태와, 있다면 답변 표시                 |
| `chat status <RUN_ID> --wait`   | 종료 상태가 될 때까지 실행 추적                    |
| `chat ls`                       | 최근 헤드리스 실행을 최신순으로 나열                  |
| `chat ls --conversation <UUID>` | 한 대화에 속한 실행만 나열                       |
| `chat ls --limit <N>`           | 최대 N건(1\~50) 반환. 기본값 10               |

사람이 읽는 모드에서 `chat -p`는 stdout에 답변만 쓰고, 진행 상황과 `continue_with=` 힌트는 stderr로 보냅니다. [헤드리스 채팅](/ko/guide/cli/headless-chat)을 참고하세요.

## 리뷰

CloudThinker가 이미 추적 중인 [Review](/ko/guide/code-review/overview)를 머지 리퀘스트 또는 풀 리퀘스트 URL로 읽습니다. 이 명령들은 리뷰를 새로 시작하지 않습니다.

| 명령                         | 설명                                            |
| -------------------------- | --------------------------------------------- |
| `review status <MR_URL>`   | 한 번에 보는 요약: 머지 리퀘스트, 제공자, 제목, 상태, 판정, 발견 사항 수 |
| `review findings <MR_URL>` | 발견 사항을 심각도가 높은 순으로 나열                         |
| `review watch <MR_URL>`    | 종료 상태가 될 때까지 리뷰 추적                            |

셋 다 `--json`을 받고, `watch`는 `--timeout <초>`도 받습니다.

```bash theme={null}
cloudthinker review status https://gitlab.com/acme/api/-/merge_requests/128
cloudthinker review findings https://github.com/acme/api/pull/412 --json
```

발견 사항 한 줄은 `[severity] file:line (category) — title` 형식이며, 에이전트가 해결하면 끝에 `[resolved]`가 붙습니다.

| 값                                                                                      | 표시되는 곳 |
| -------------------------------------------------------------------------------------- | ------ |
| `in review`, `review complete`, `filtered`, `failed`                                   | 리뷰 상태  |
| `in review`, `approved`, `review suggested`, `changes requested`, `failed`, `filtered` | 리뷰 판정  |

## 업데이트

| 명령               | 설명                                                       |
| ---------------- | -------------------------------------------------------- |
| `update`         | 실행 중인 바이너리 위에 최신 릴리스 설치                                  |
| `update --force` | 이미 최신이어도 최신 릴리스를 다시 설치                                   |
| `update --json`  | 사람이 읽는 한 줄 대신 `{ updated, old_version, new_version }` 출력 |

대화형 터미널에서는 새 릴리스가 있으면 시작할 때도 업데이트를 제안합니다. 이 확인은 2초 예산 안에서 이루어지며 시작을 지연시키거나 실패시키지 않습니다. `CLOUDTHINKER_NO_UPDATE_CHECK=1`로 끌 수 있습니다.

`update`는 CLI 설치 프로그램이 만든 설치본에서만 동작합니다. 직접 복사해 둔 바이너리는 거부되고, 대신 실행할 재설치 명령이 표시됩니다.

## 환경 변수

| 변수                             | 효과                                                |
| ------------------------------ | ------------------------------------------------- |
| `CLOUDTHINKER_URL`             | API 기본 URL. `--url`과 동일                           |
| `CLOUDTHINKER_WORKSPACE`       | 워크스페이스 ID 또는 정확한 이름. `--workspace`와 동일            |
| `CLOUDTHINKER_TOKEN`           | 저장된 자격 증명 대신 사용할 베어러 토큰. `--workspace`와 함께 쓸 수 없음 |
| `CLOUDTHINKER_NO_UPDATE_CHECK` | `1`로 설정하면 시작 시 업데이트 제안을 끔                         |
| `NO_COLOR`                     | stderr 출력의 색을 끔. stderr가 터미널이 아니면 자동으로 꺼짐         |

## 종료 코드

| 코드 | 의미                                           |
| -- | -------------------------------------------- |
| 0  | 성공                                           |
| 1  | 작업 실패: 실패한 실행, 존재하지 않는 실행이나 리뷰, 또는 전송 재시도 소진 |
| 2  | 잘못된 사용, 또는 워크스페이스 정책에 의한 거부                  |
| 3  | 로그인되지 않았거나 자격 증명 만료                          |
| 4  | CLI가 대기를 중단함. 작업은 서버에서 계속됨                   |
| 5  | 브라우저 승인 대기로 실행이 일시 중지됨                       |

## 파일

| 경로                                        | 내용                              |
| ----------------------------------------- | ------------------------------- |
| `<설정 디렉터리>/cloudthinker/credentials.json` | 호스트별, 워크스페이스별 자격 증명. 소유자만 읽기 가능 |
| `~/.cloudthinker/agent/bin/<version>/`    | 해당 CLI 버전용으로 설치된 에이전트 번들        |
| `~/.local/bin/cloudthinker`               | 설치 프로그램이 `PATH`에 배치한 바이너리       |

CLI를 제거하려면 `cloudthinker logout --all`로 저장된 자격 증명을 지운 뒤, 바이너리와 `~/.cloudthinker` 디렉터리를 삭제하세요.

## 관련 문서

<CardGroup cols={2}>
  <Card title="CLI 개요" icon="terminal" href="/ko/guide/cli/overview">
    CLI를 설치하고 첫 세션 실행하기
  </Card>

  <Card title="헤드리스 채팅" icon="message-code" href="/ko/guide/cli/headless-chat">
    스크립트와 파이프라인에서 프롬프트 실행
  </Card>
</CardGroup>
