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

# Configuración de la CLI

> Instala, autentícate y empieza a crear topics de contexto.

## Instalación

```bash theme={"theme":"github-light"}
npm install -g @driftless-sh/cli
```

<Note>
  El contrato agent-first de [Collections](/es/concepts/collections) — `search` por intención, lecturas acotadas active-only, `--view full`, y `archive`/`restore`/`purge` como operaciones de ciclo de vida separadas — necesita **`@driftless-sh/cli` ≥ 0.27.9**. Corre `driftless --version` para verificar; reinstala con el comando de arriba para actualizar.
</Note>

<Note>
  El comando `usage` y el contrato de saldo de inteligencia comercial requieren
  **`@driftless-sh/cli` ≥ 0.28.0**.
</Note>

## Autenticación

Corre `driftless login` para abrir el navegador en el dashboard de Driftless, donde puedes copiar tu API key:

```bash theme={"theme":"github-light"}
driftless login
```

Para entornos no interactivos (por ejemplo, CI), pasa la key directamente:

```bash theme={"theme":"github-light"}
driftless login --key drift_xxxxxxxxxxxxxxxxx
```

## Instala el skill del agente

Instala las instrucciones de contexto de Driftless para que los agentes de código recuperen los topics automáticamente antes de editar:

```bash theme={"theme":"github-light"}
driftless install-skill
```

Esto escribe `AGENTS.md` y `CLAUDE.md` en tu repo. Los agentes verán las instrucciones de recuperación de topics en cada sesión.

## Crea tu primer topic

Driftless empieza con topics: memoria de ingeniería que perdura, anclada a los archivos y flujos de trabajo donde importa.

```bash theme={"theme":"github-light"}
# Primer topic = algo REAL que ya sabes, anclado al módulo que gobierna:
driftless context add api-auth --title "Auth" \
  --what "Cada request de la API está acotado al workspace por un guard global." \
  --pattern "src/auth/**"
```

¿Todavía no tienes nada concreto que registrar? Sáltalo. Primero trabaja y persiste lo que aprendes. Un topic genérico de relleno no documenta nada y se pudre el primer día.

Enriquece con contexto estructurado:

```bash theme={"theme":"github-light"}
driftless context update api-auth \
  --gotcha "WorkspaceGuard es global; usa @Public() solo para rutas públicas explícitas" \
  --decision "Llaves RS256 para que los servicios verifiquen sin un secreto compartido" \
  --invariant "Todas las rutas requieren auth salvo que estén marcadas explícitamente con @Public()" \
  --check "Verifica que el decorador de rol coincida con la metadata que espera el guard"
```

Conecta topics con relaciones tipadas:

```bash theme={"theme":"github-light"}
driftless context update api-auth --rel relates_to:api-architecture
driftless context get api-auth --json
```

Ancla a rutas de archivos para el seguimiento de drift:

```bash theme={"theme":"github-light"}
driftless context update api-auth \
  --add-pattern "src/auth/guards/**"
```

La CLI valida cada pattern contra tu checkout local en el momento de escribir. Un pattern que coincide con cero archivos se bloquea; uno que coincide con más de 100 archivos recibe una advertencia de anclaje demasiado amplio.

<Note>
  Define `DRIFTLESS_API_KEY` para entornos no interactivos. Define `DRIFTLESS_API_URL` solo cuando apuntes a staging o a una API local.
</Note>

## Archivo de configuración

La CLI guarda su estado en `~/.driftless/config.json`:

```json theme={"theme":"github-light"}
{
  "api_key": "drift_xxxxxxxxxxxxxxxxx",
  "api_url": "https://api.trybrein.com/api/v1",
  "workspace_slug": "acme-corp",
  "workspace_id": "ws_abc123"
}
```

## Referencia de comandos

| Comando         | Flags         | Descripción                                         | Ejemplo                           |
| --------------- | ------------- | --------------------------------------------------- | --------------------------------- |
| `login`         | `--key <key>` | Autentícate con la API key                          | `driftless login --key drift_xxx` |
| `doctor`        | `--json`      | 8 chequeos de salud                                 | `driftless doctor`                |
| `install-skill` | ninguna       | Instala AGENTS.md + CLAUDE.md                       | `driftless install-skill`         |
| `usage`         | `--json`      | Consulta solicitudes, créditos y renovación mensual | `driftless usage`                 |

## Flags globales

| Flag               | Descripción                  |
| ------------------ | ---------------------------- |
| `--version` / `-v` | Imprime la versión           |
| `--help` / `-h`    | Ayuda completa               |
| `<cmd> --help`     | Ayuda específica del comando |

<AccordionGroup>
  <Accordion title="Variables de entorno">
    | Variable            | Descripción                                                                 |
    | ------------------- | --------------------------------------------------------------------------- |
    | `DRIFTLESS_API_KEY` | API key (gana sobre el archivo de configuración)                            |
    | `DRIFTLESS_API_URL` | URL del servidor de la API (por defecto: `https://api.trybrein.com/api/v1`) |
  </Accordion>
</AccordionGroup>
