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

# Autenticación y perfiles

> Inicia sesión, gestiona múltiples cuentas como perfiles, cambia de empresa y entiende el orden de resolución de credenciales del CLI de Jelou.

El CLI guarda credenciales en `~/.jelou/credentials.json` con soporte
**multi-perfil**: varias cuentas (y empresas) coexisten como perfiles con nombre.

## `jelou login`

Autentícate con tu **API key de Jelou**. `jelou login` la guarda como un perfil
con nombre y lo deja como el activo. Obtén tu API key en
[apps.jelou.ai/settings/api-keys](https://apps.jelou.ai/settings/api-keys).

```bash theme={null}
jelou login                                       # interactivo: pide pegar la API key
# ? Paste your API key: ****
jelou login --token $JELOU_TOKEN --profile prod   # no interactivo (CI)
```

| Flag               | Descripción                           |
| ------------------ | ------------------------------------- |
| `--token <token>`  | API key para uso no interactivo (CI)  |
| `--profile <name>` | Nombre del perfil a guardar           |
| `--skip-skills`    | No auto-instalar skills tras el login |

En el **primer login exitoso**, `jelou` instala automáticamente las skills de
agente de forma global en los editores de IA detectados (Claude Code, Cursor,
Codex…), para que las sesiones nuevas conozcan `jelou`. Ver
[Skills](/guides/cli/skills).

## `jelou whoami`

Verifica la identidad actual y la URL de API.

```bash theme={null}
jelou whoami
jelou whoami --json
```

## `jelou logout`

Elimina credenciales almacenadas.

```bash theme={null}
jelou logout                  # olvida el perfil activo
jelou logout --profile prod   # olvida un perfil específico (sin cambiarte a él)
jelou logout --all            # olvida todos los perfiles
```

<Warning>
  Las credenciales no se recuperan: tras `logout`, tendrás que volver a
  `jelou login`, y las skills que se auto-instalaron en el login no se reinstalan
  solas. `logout --all` (o `logout` cuando solo queda un perfil) es una operación
  destructiva — confirma antes de ejecutarla.
</Warning>

## Perfiles

Cada perfil mapea normalmente 1:1 con una empresa. Cambiar de perfil cambia la
empresa activa: `jelou project list` devuelve los proyectos de la nueva empresa,
`jelou databases list` sus bases de datos, etc.

```bash theme={null}
jelou login --token <tok> --profile staging   # añade un segundo perfil
jelou profiles                                 # lista todos (alias de `auth list`)
jelou auth list                                # lista todos los perfiles
jelou auth switch staging                      # cambia el perfil activo
jelou auth remove staging                      # elimina un perfil
jelou functions deploy --profile production    # override de un solo uso (no persiste)
```

<Tip>
  Para una consulta puntual contra otra empresa, prefiere `--profile <name>` en
  ese comando en lugar de `auth switch`. El perfil activo es **pegajoso**: si
  cambias a "staging" para leer un valor y olvidas volver, el siguiente deploy,
  borrado o rotación de secret apuntará a la empresa equivocada.
</Tip>

### Orden de resolución de credenciales

El CLI resuelve qué credencial usar en este orden (de mayor a menor prioridad):

1. Variable de entorno `JELOU_TOKEN`
2. Flag `--profile <name>`
3. Variable de entorno `JELOU_PROFILE`
4. `.jelou/state.json:profile` — vínculo por directorio que `jelou link`
   escribe al enlazar el proyecto, usando el perfil activo en ese momento (o
   el que indiques con el flag global `--profile <name>` en ese mismo
   comando)
5. `activeProfile` en el archivo de credenciales

Cuando ves "empresa equivocada", revisa este orden antes de asumir que el
archivo está mal.

## Salud y diagnóstico

Cuando algo se ve raro (auth, red, "empresa equivocada", drift de perfil),
ejecuta primero `jelou doctor`:

```bash theme={null}
jelou doctor          # reporte legible
jelou doctor --json   # estructurado para agentes/CI
```

Verifica: validez del token, alcance del gateway, sanidad del perfil,
integridad del lockfile (si hay `jelou.lock` en el directorio) y frescura de la
versión del CLI. Códigos de salida: `0` sano, `4` falla de auth, `6` gateway
inalcanzable, `1` otro fallo.

## Seguridad de credenciales

* Las API keys en `~/.jelou/credentials.json` son credenciales sensibles — nunca
  las publiques en un repo ni las pegues en un chat.
* Las credenciales v1 (formato antiguo) se migran automáticamente a v2 dejando
  un respaldo `.bak`. No borres ese `.bak`: es el único fallback si el archivo
  v2 se corrompe.
