<span id="cli-reference" />

# Referencia de CLI

La CLI de `lizard` es la interfaz principal de la plataforma. Esta página cubre la instalación, las banderas globales, los códigos de salida y el descubrimiento en tiempo de ejecución. Cada comando tiene su propia página de referencia en la barra lateral: consulta [`lizard up`](https://lizard.build/es/docs/cli/up), [`lizard service`](https://lizard.build/es/docs/cli/service), [`lizard secrets`](https://lizard.build/es/docs/cli/secrets) y el resto.

> Referencia generada con la CLI **v0.3.62**. Ejecuta `lizard <cmd> --help --json` para obtener el esquema exacto de cualquier comando, correspondiente a tu versión.

<span id="install--upgrade" />

## Instalar y actualizar

```bash
npm install -g @lizard-build/cli
lizard --version
lizard upgrade            # update to the latest version
lizard upgrade --check    # check without installing
```

Usa siempre el binario `lizard` instalado globalmente, **no** `npx`. Consulta [Quickstart](https://lizard.build/es/docs/getting-started#1-install-the-cli) para corregir errores de permisos.

<span id="authentication" />

## Autenticación

```bash
lizard login                  # browser OAuth
lizard login --token lzd_xxx  # token auth
lizard logout
lizard whoami                 # current user, workspace, linked project
```

En CI, configura `LIZARD_TOKEN` en el entorno en lugar de ejecutar `login`.

<span id="global-flags" />

## Banderas globales

| Bandera | Descripción |
|------|-------------|
| `-V, --version` | Muestra la versión de la CLI |
| `--json` | Salida legible por máquinas. Combínala con `--help` para volcar el esquema de un comando |

La mayoría de los comandos también aceptan `-p, --project`, `-s, --service` y `-w, --workspace` para apuntar a un recurso específico en lugar del enlazado.

<span id="exit-codes" />

## Códigos de salida

| Código | Significado | Qué hacer |
|------|---------|------------|
| `0` | éxito | continuar |
| `1` | error genérico | lee el mensaje |
| `2` | auth (401/403) | ejecuta `lizard login` |
| `3` | no encontrado (404) | comprueba el nombre con `lizard ps` / `lizard project list` |
| `4` | tiempo de espera agotado (408/504) | reintenta |
| `5` | cancelado por el usuario | detente |

<span id="runtime-discovery" />

## Descubrimiento en tiempo de ejecución

La CLI se autodocumenta. Para ver el árbol completo de comandos, las banderas globales y los códigos de salida:

```bash
lizard --help --json
```

Para ver los argumentos y opciones exactos de cualquier comando o subcomando:

```bash
lizard <cmd> --help --json
lizard <cmd> <sub> --help --json     # e.g. lizard service set --help --json
```

Esto siempre refleja tu versión instalada; es preferible a adivinar la forma de las banderas. También es como un agente aprende la CLI sin haber sido entrenado con ella: consulta [despliegue desde Claude Code](https://lizard.build/blog/deploy-from-claude-code).

<span id="configuration--state" />

## Configuración y estado

- La CLI almacena la autenticación y el enlace del proyecto del directorio actual en `~/.lizard/config.json`.
- `lizard status` muestra el enlace de workspace/proyecto/servicio del cwd (no requiere autenticación).
- `lizard config apply` aplica un archivo `lizard-config.json` a un proyecto (usa `--dry-run` para previsualizar).

<span id="sandbox-volumes" />

## Volúmenes de Sandbox

Gestiona [Persistent Volumes](https://lizard.build/es/docs/sandboxes/volumes) por nombre dentro de un proyecto:

```bash
lizard volume create agent-workdir --size 10 --project proj_123
lizard volume list --project proj_123
lizard sandbox create --volume agent-workdir --project proj_123
```

Los nombres son únicos por proyecto: letras minúsculas, números y guiones, hasta 64 caracteres; deben empezar y terminar con una letra o un número. Los volúmenes nuevos aceptan GB enteros de 1 a 50, con 5 por defecto. La CLI lee los límites actuales del servidor antes de crear el volumen y respeta los cambios de configuración. Los volúmenes existentes más grandes mantienen su tamaño.

Tras desconectar el volumen, `lizard volume rm agent-workdir --project proj_123` lo elimina junto con sus datos. `volume list` muestra nombres; `--json` incluye los ID generados.
