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"
}
}| Key | Description |
|---|---|
name | Nombre de autor del reporte (fallback al usuario autenticado). |
profile | Perfil de agente con nombre a activar al correr comandos en este repo (desde ~/.config/dailybot/agents.json). |
default_metadata | Se fusiona en cada payload de agent update y chat send (campos custom como repo, team, component). |
vars | Store libre de clave/valor consumido por skills de agente (ej. skills custom de forms). Nunca metas credenciales aquí. |
report | Polí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.
| Variable | Description |
|---|---|
DAILYBOT_API_KEY | Credencial de máquina para uso headless. Defínela en el secret manager de tu CI y el CLI la toma automáticamente. |
DAILYBOT_CLI_TOKEN | Token bearer estilo sesión (avanzado). Sobrescribe el token guardado en credentials.json. |
DAILYBOT_API_URL | Sobrescribe la base de la API (default https://api.dailybot.com). Útil para staging / self-hosted. |
DAILYBOT_CONFIG_DIR | Sobrescribe 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.