Skip to content

Configuración del CLI · Developers

Cómo el CLI de Dailybot lee credenciales y dónde vive su estado.

El CLI guarda su estado bajo un único directorio en tu home, lee credenciales desde variables de entorno o un archivo de sesión, y respeta un `.dailybot/profile.json` por repo para defaults compartidos del equipo. Todo lo de abajo es la superficie *pública* de configuración — los schemas internos pueden cambiar; interactúa a través de los comandos del CLI.

Directorio de estado por usuario

El CLI guarda todo en ~/.config/dailybot/ (o el path en $DAILYBOT_CONFIG_DIR si está definido — útil para runs de tests aislados). Almacena la credencial de sesión en credentials.json, la API key de máquina en config.json, los perfiles de agente en agents.json y el ledger local de hooks bajo ledger/. Los archivos son generados por la máquina — no los edites a mano. Para resetear la sesión, corre dailybot login de nuevo; el CLI re-autentica y sobrescribe credentials.json.

Perfil por repo

Un repo puede committear .dailybot/profile.json para estandarizar el autor de reporte, la metadata por defecto, variables custom y política de reporte del equipo para cada colaborador. Nunca guardes credenciales en el perfil — el CLI rechaza un campo key.

{
  "name": "${GIT_USER}",
  "profile": "release-bot",
  "default_metadata": {
    "repo": "${GIT_REPO}",
    "team": "platform"
  },
  "vars": {
    "custom_form_skills": ["access-request"]
  },
  "report": {
    "min_interval_minutes": 30,
    "nudge": "commit,activity"
  }
}
KeyDescription
nameNombre de autor del reporte (fallback al usuario autenticado).
profilePerfil de agente con nombre a activar al correr comandos en este repo (desde ~/.config/dailybot/agents.json).
default_metadataSe fusiona en cada payload de agent update y chat send (campos custom como repo, team, component).
varsStore libre de clave/valor consumido por skills de agente (ej. skills custom de forms). Nunca metas credenciales aquí.
reportPolítica de reporte del equipo: min_interval_minutes (rate-limita los reportes de agente) y nudge (qué señales disparan recordatorios — commit, activity, both o none).

Variables de entorno de credencial

El CLI respeta cuatro env vars — todas opcionales, todas documentadas.

VariableDescription
DAILYBOT_API_KEYCredencial de máquina para uso headless. Defínela en el secret manager de tu CI y el CLI la toma automáticamente.
DAILYBOT_CLI_TOKENToken bearer estilo sesión (avanzado). Sobrescribe el token guardado en credentials.json.
DAILYBOT_API_URLSobrescribe la base de la API (default https://api.dailybot.com). Útil para staging / self-hosted.
DAILYBOT_CONFIG_DIRSobrescribe el directorio de estado (default ~/.config/dailybot). Útil para sandboxes y tests de integración.

Precedencia cuando una llamada necesita credencial: $DAILYBOT_API_KEY env → sesión en credentials.json (dailybot login) → config.json api_key. Si hay sesión de dailybot login y $DAILYBOT_API_KEY presentes, la sesión personal gana — encaja con "si corrí dailybot login, quiero ser yo".

Opt-out de hooks locales

Algunos harnesses de agente de IA instalan hooks de reporte de Dailybot que se disparan al editar archivos y en stops. Para silenciarlos para un solo repo, crea un archivo en .dailybot/disabled. Committéalo si quieres que el silencio viaje con el repo; si no, mantenlo local. Los hooks viven en ~/.config/dailybot/ledger/ y nunca llaman a la red — solo deciden cuándo recordarte.

Cómo saber qué credencial está activa

Corre dailybot status --auth. El comando prueba tanto la ruta de sesión como la de API key (si están presentes) e imprime cuál gana — así siempre sabes si la próxima llamada saldrá como tu sesión de usuario o como una llave de servicio.