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

# 명령어 레퍼런스

> LexQ CLI 명령어 전체 레퍼런스.

## 명령어 구조

```bash theme={null}
lexq <그룹> <액션> [옵션]
```

## 한눈에 보기

```text theme={null}
lexq auth                  login | logout | whoami
lexq status                API 헬스 체크
lexq serve                 MCP stdio 서버 실행 (--mcp)
lexq groups                list | get | create | update | delete
lexq groups ab-test        start | stop | adjust
lexq versions              list | get | create | update | delete | clone
lexq rules                 list | get | create | update | delete | reorder | toggle
lexq facts                 list | create | update | delete | action-metadata | unregistered
lexq deploy                publish | live | schedule | unschedule | schedules | rollback | undeploy | history | detail | overview | deployable | diff
lexq analytics             dry-run | dry-run-compare | requirements
lexq analytics simulation  start | status | list | cancel | export
lexq analytics dataset     upload | template
lexq profile               규칙별 지연 프로파일 (--rule 상세)
lexq history               list | get | stats
lexq replay                decision | start | list | get | cancel
lexq provenance            get | reveal-audits
lexq integrations          list | get | save | delete | config-spec
lexq logs                  list | get | action | bulk-action
lexq webhook-subscriptions list | get | save | delete | test
```

아래 각 섹션에서 명령어를 자세히 다룹니다.

## Auth — 인증

| 명령어                | 설명                        |
| ------------------ | ------------------------- |
| `lexq auth login`  | API 키 저장                  |
| `lexq auth logout` | 자격 증명 제거                  |
| `lexq auth whoami` | 인증 정보 표시 (테넌트, 역할, 키 마스크) |

## Status — 상태 확인

| 명령어           | 설명                |
| ------------- | ----------------- |
| `lexq status` | API 연결 및 지연 시간 확인 |

<Info>
  `lexq status`는 `whoami` 엔드포인트를 호출하여 API 접속 가능 여부와 키 유효성을 확인하고 지연 시간을 보고합니다. `lexq auth whoami`는 인증 세부 정보 전체를 반환합니다. 빠른 헬스 체크에는 `status`, 신원 확인에는 `whoami`를 사용하세요.
</Info>

## Groups — 정책 그룹

| 명령어                                                          | 설명         |
| ------------------------------------------------------------ | ---------- |
| `lexq groups list`                                           | 그룹 목록      |
| `lexq groups get --id <gid>`                                 | 그룹 상세      |
| `lexq groups create --json '{...}'`                          | 그룹 생성      |
| `lexq groups update --id <gid> --json '{...}'`               | 그룹 수정      |
| `lexq groups delete --id <gid>`                              | 그룹 삭제      |
| `lexq groups ab-test start --group-id <gid> --json '{...}'`  | A/B 테스트 시작 |
| `lexq groups ab-test stop --group-id <gid>`                  | A/B 테스트 중지 |
| `lexq groups ab-test adjust --group-id <gid> --json '{...}'` | 트래픽 비율 조정  |

## Versions — 정책 버전

| 명령어                                                               | 설명          |
| ----------------------------------------------------------------- | ----------- |
| `lexq versions list --group-id <gid>`                             | 버전 목록       |
| `lexq versions get --group-id <gid> --id <vid>`                   | 버전 상세       |
| `lexq versions create --group-id <gid> --json '{...}'`            | DRAFT 생성    |
| `lexq versions update --group-id <gid> --id <vid> --json '{...}'` | 버전 수정       |
| `lexq versions delete --group-id <gid> --id <vid>`                | 버전 삭제       |
| `lexq versions clone --group-id <gid> --id <vid>`                 | 새 DRAFT로 복제 |

## Rules — 정책 규칙

| 명령어                                                                               | 설명       |
| --------------------------------------------------------------------------------- | -------- |
| `lexq rules list --group-id <gid> --version-id <vid>`                             | 규칙 목록    |
| `lexq rules get --group-id <gid> --version-id <vid> --id <rid>`                   | 규칙 상세    |
| `lexq rules create --group-id <gid> --version-id <vid> --json '{...}'`            | 규칙 생성    |
| `lexq rules update --group-id <gid> --version-id <vid> --id <rid> --json '{...}'` | 규칙 수정    |
| `lexq rules delete --group-id <gid> --version-id <vid> --id <rid>`                | 규칙 삭제    |
| `lexq rules reorder --group-id <gid> --version-id <vid> --rule-ids "a,b,c"`       | 우선순위 재설정 |
| `lexq rules toggle --group-id <gid> --version-id <vid> --id <rid> --enabled true` | 활성화/비활성화 |

예시:

```bash theme={null}
lexq rules create --group-id <gid> --version-id <vid> --json '{
  "name": "VIP 10% 할인",
  "priority": 0,
  "condition": {
    "type": "GROUP", "operator": "AND",
    "children": [
      { "type": "SINGLE", "field": "customer_tier", "operator": "EQUALS", "value": "VIP", "valueType": "STRING" },
      { "type": "SINGLE", "field": "payment_amount", "operator": "GREATER_THAN_OR_EQUAL", "value": 100000, "valueType": "NUMBER" }
    ]
  },
  "actions": [{ "type": "MUTATE_FACT", "parameters": { "refVar": "payment_amount", "operator": "SUB", "method": "PERCENTAGE", "rate": 10 } }]
}'
```

## Facts — 팩트 정의

| 명령어                                                           | 설명                                                                                   |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `lexq facts list`                                             | 팩트 목록                                                                                |
| `lexq facts create --key <key> --name <n> --type <type>`      | 팩트 생성                                                                                |
| `lexq facts update --id <fid> --name <n>`                     | 팩트 수정                                                                                |
| `lexq facts delete --id <fid>`                                | 팩트 삭제                                                                                |
| `lexq facts action-metadata`                                  | 액션 타입별 런타임 팩트 메타데이터 조회 (`MUTATE_FACT`, `INCREMENT_FACT`, `EMIT_EVENT` 등이 요구/생성하는 팩트) |
| `lexq facts unregistered --group-id <gid> --version-id <vid>` | 버전의 규칙이 참조하지만 스키마에 정의되지 않은 팩트 목록 (비차단)                                               |

<Info>
  `lexq facts action-metadata`는 읽기 전용이며 세션 내 캐싱됩니다 — 규칙 설계 시 언제든 호출 가능합니다.
</Info>

## Deploy — 배포

| 명령어                                                                     | 설명                           |
| ----------------------------------------------------------------------- | ---------------------------- |
| `lexq deploy publish --group-id <gid> --version-id <vid> --memo "..."`  | DRAFT → ACTIVE               |
| `lexq deploy live --group-id <gid> --version-id <vid> --memo "..."`     | 프로덕션 배포                      |
| `lexq deploy rollback --group-id <gid> --memo "..."`                    | 이전 버전으로 롤백                   |
| `lexq deploy undeploy --group-id <gid> --memo "..."`                    | 라이브 버전 해제                    |
| `lexq deploy history [--group-id <gid>]`                                | 배포 이력 목록                     |
| `lexq deploy detail --deployment-id <id>`                               | 배포 상세                        |
| `lexq deploy overview`                                                  | 모든 그룹의 배포 현황                 |
| `lexq deploy deployable --group-id <gid>`                               | 배포 가능한 ACTIVE 버전 목록          |
| `lexq deploy diff --base-version-id <vid> --target-version-id <vid>`    | 두 버전의 규칙 스냅샷 비교              |
| `lexq deploy schedule --group-id <gid> --version-id <vid> --memo "..."` | 미래 유효 시작일의 발행됨 버전을 자동 배포로 예약 |
| `lexq deploy unschedule --group-id <gid>`                               | 대기 중인 예약 배포 취소               |
| `lexq deploy schedules [--format table]`                                | 예약 배포 목록 조회(전체 상태)           |

## Analytics — 드라이런

| 명령어                                                               | 설명       |
| ----------------------------------------------------------------- | -------- |
| `lexq analytics dry-run --version-id <vid> --json '{...}'`        | 드라이런 실행  |
| `lexq analytics dry-run-compare --json '{...}'`                   | 두 버전 비교  |
| `lexq analytics requirements --group-id <gid> --version-id <vid>` | 필수 팩트 확인 |

## Analytics — 변경 영향 시뮬레이션

| 명령어                                                                | 설명       |
| ------------------------------------------------------------------ | -------- |
| `lexq analytics simulation start --json '{...}'`                   | 시뮬레이션 시작 |
| `lexq analytics simulation status --id <simId>`                    | 결과 폴링    |
| `lexq analytics simulation list [--status <s>]`                    | 시뮬레이션 목록 |
| `lexq analytics simulation cancel --id <simId>`                    | 취소       |
| `lexq analytics simulation export --id <simId> --format json\|csv` | 결과 내보내기  |

## Analytics — 데이터셋

| 명령어                                                                   | 설명                |
| --------------------------------------------------------------------- | ----------------- |
| `lexq analytics dataset upload --file <path>`                         | CSV/JSON 데이터셋 업로드 |
| `lexq analytics dataset template --group-id <gid> --version-id <vid>` | 템플릿 다운로드          |

## Profile — 성능 프로파일링

| 명령어                                      | 설명                                  |
| ---------------------------------------- | ----------------------------------- |
| `lexq profile <groupId>`                 | 그룹 지연 개요 — 규칙별 백분위수와 상대 기준 느림 판정    |
| `lexq profile <groupId> --rule <ruleId>` | 규칙 상세 — 구간 × 캐시 상태별 요약 + 60초 구간 시계열 |

필터: `--version <vid>`(기본값: 운영 중 버전), `--from` / `--to`(ISO-8601 시각), `--cache HIT|MISS`.
측정이 100건 미만인 백분위수는 `–`로 유보되며, 판정은 상대 기준만 사용합니다.
자세한 동작은 [성능 프로파일링 가이드](/ko/guides/performance-profiling)를 참고하세요.

## History — 실행 이력

| 명령어                                     | 설명       |
| --------------------------------------- | -------- |
| `lexq history list [--group-id <gid>]`  | 실행 이력 목록 |
| `lexq history get --id <eid>`           | 실행 상세    |
| `lexq history stats [--group-id <gid>]` | 집계 통계    |

## Replay — 의사결정 재실행

| 명령어                                                              | 설명                                          |
| ---------------------------------------------------------------- | ------------------------------------------- |
| `lexq replay decision --trace-id <tid> --version-id <vid>`       | 결정 하나를 후보 버전으로 재실행 (무과금)                    |
| `lexq replay start --version-id <vid> --from <date> --to <date>` | 윈도우 재실행 job 제출 (과금, `--max-records`로 표본 상한) |
| `lexq replay list`                                               | 재실행 job 목록                                  |
| `lexq replay get --id <jobId>`                                   | job 상태·요약·변경 샘플 폴링                          |
| `lexq replay cancel --id <jobId>`                                | 대기·실행 중 job 취소                              |

## Provenance — 의사결정 출처

| 명령어                                       | 설명                         |
| ----------------------------------------- | -------------------------- |
| `lexq provenance get --trace-id <tid>`    | 결정의 출처 조회 (PII 팩트 마스킹)     |
| `lexq provenance reveal-audits [filters]` | PII 열람 감사 원장 조회 (메타데이터 전용) |

<Info>
  `reveal` 명령은 없습니다. PII 평문 열람은 설계상 콘솔 전용이며, 콘솔의 모든 열람은 값이 보이기 전에 감사 행을 먼저 기록합니다.
</Info>

## Integrations — 외부 연동

| 명령어                                           | 설명          |
| --------------------------------------------- | ----------- |
| `lexq integrations list`                      | 연동 목록       |
| `lexq integrations get --id <iid>`            | 연동 상세       |
| `lexq integrations save --json '{...}'`       | 생성 또는 수정    |
| `lexq integrations delete --id <iid>`         | 삭제          |
| `lexq integrations config-spec --type <type>` | 필수 설정 스펙 조회 |

## Logs — 장애 로그

| 명령어                                        | 설명         |
| ------------------------------------------ | ---------- |
| `lexq logs list [filters]`                 | 장애 로그 목록   |
| `lexq logs get --id <lid>`                 | 상세 조회      |
| `lexq logs action --id <lid> --action <a>` | 재시도/건너뜀/해결 |
| `lexq logs bulk-action --json '{...}'`     | 일괄 처리      |

## Webhook Subscriptions — 웹훅 구독

플랫폼 이벤트 웹훅은 배포 생명주기 알림(`VERSION_PUBLISHED`, `DEPLOYED`, `ROLLED_BACK`, `UNDEPLOYED`, `DEPLOY_SCHEDULED`, `DEPLOY_SCHEDULE_CANCELED`)을 수신합니다. 규칙 단위의 `EMIT_WEBHOOK` 액션과는 별개입니다.

| 명령어                                              | 설명                      |
| ------------------------------------------------ | ----------------------- |
| `lexq webhook-subscriptions list`                | 웹훅 구독 목록                |
| `lexq webhook-subscriptions get --id <wid>`      | 구독 상세                   |
| `lexq webhook-subscriptions save --json '{...}'` | 생성 또는 수정 (생성 시 `id` 생략) |
| `lexq webhook-subscriptions delete --id <wid>`   | 구독 삭제                   |
| `lexq webhook-subscriptions test --id <wid>`     | 연결 확인용 테스트 이벤트 전송       |

예시:

```bash theme={null}
lexq webhook-subscriptions save --json '{
  "name": "slack-deploy-alerts",
  "webhookUrl": "https://hooks.slack.com/services/...",
  "subscribedEvents": ["DEPLOYED", "ROLLED_BACK"],
  "payloadFormat": "SLACK",
  "secret": "your-hmac-secret",
  "isActive": true
}'
```

## Serve — MCP 서버

| 명령어                | 설명              |
| ------------------ | --------------- |
| `lexq serve --mcp` | stdio MCP 서버 시작 |

→ [MCP 서버 설정 가이드](/ko/cli/mcp-server)

## 표준 워크플로우

```bash theme={null}
# 1. 그룹 생성          → lexq groups create --json '{...}'
# 2. 버전 생성          → lexq versions create --group-id <gid> --json '{...}'
# 3. 팩트 등록          → lexq facts create --key ... --name ... --type ...
# 4. 규칙 추가          → lexq rules create --group-id <gid> --version-id <vid> --json '{...}'
# 5. 드라이런 검증      → lexq analytics dry-run --version-id <vid> --debug --mock --json '{...}'
# 6. 발행               → lexq deploy publish --group-id <gid> --version-id <vid> --memo "..."
# 7. 배포               → lexq deploy live --group-id <gid> --version-id <vid> --memo "..."
```

<Warning>
  DRAFT 버전 없이 규칙 생성 불가. 규칙 없이 발행 불가. DRAFT는 배포 불가. 발행 전 항상 드라이런.
</Warning>
