Configuração da CLI · Developers
Como a CLI do Dailybot lê credenciais e onde seu estado vive.
A CLI guarda seu estado sob um único diretório na sua home, lê credenciais de variáveis de ambiente ou de um arquivo de sessão, e respeita um `.dailybot/profile.json` por repo para defaults compartilhados do time. Tudo abaixo é a superfície *pública* de configuração — os schemas internos podem mudar; interaja pelos comandos da CLI.
Diretório de estado por usuário
A CLI guarda tudo em ~/.config/dailybot/ (ou no caminho de $DAILYBOT_CONFIG_DIR se definido — útil para runs de testes isolados). Armazena a credencial de sessão em credentials.json, a API key de máquina em config.json, os perfis de agente em agents.json, e o ledger local de hooks em ledger/. Os arquivos são gerados pela máquina — não edite à mão. Para resetar a sessão, rode dailybot login de novo; a CLI reautentica e sobrescreve credentials.json.
Perfil por repo
Um repo pode commitar .dailybot/profile.json para padronizar o autor de relatório, os metadados default, variáveis custom e política de relatório do time para cada colaborador. Nunca guarde credenciais no perfil — a CLI rejeita um 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 | Nome do autor do relatório (fallback ao usuário autenticado). |
profile | Perfil de agente nomeado a ativar ao rodar comandos neste repo (a partir de ~/.config/dailybot/agents.json). |
default_metadata | Mesclado em cada payload de agent update e chat send (campos custom como repo, team, component). |
vars | Store livre de chave/valor consumido pelas skills de agente (ex. skills custom de forms). Nunca coloque credenciais aqui. |
report | Política de relatório do time: min_interval_minutes (rate-limita os relatórios do agente) e nudge (quais sinais disparam lembretes — commit, activity, both ou none). |
Variáveis de ambiente de credencial
A CLI respeita quatro env vars — todas opcionais, todas documentadas.
| Variable | Description |
|---|---|
DAILYBOT_API_KEY | Credencial de máquina para uso headless. Defina no secret manager do seu CI e a CLI pega automaticamente. |
DAILYBOT_CLI_TOKEN | Token bearer estilo sessão (avançado). Sobrescreve o token guardado em credentials.json. |
DAILYBOT_API_URL | Sobrescreve a base da API (default https://api.dailybot.com). Útil para staging / self-hosted. |
DAILYBOT_CONFIG_DIR | Sobrescreve o diretório de estado (default ~/.config/dailybot). Útil para sandboxes e testes de integração. |
Precedência quando uma chamada precisa de credencial: $DAILYBOT_API_KEY env → sessão em credentials.json (dailybot login) → config.json api_key. Se houver sessão de dailybot login e $DAILYBOT_API_KEY presentes, a sessão pessoal vence — combina com "se rodei dailybot login, quero ser eu".
Opt-out de hooks locais
Alguns harnesses de agente de IA instalam hooks de relatório do Dailybot que disparam ao editar arquivos e em stops. Para silenciá-los em um único repo, crie um arquivo em .dailybot/disabled. Commite se quiser que o silêncio viaje com o repo; caso contrário, mantenha local. Os hooks vivem em ~/.config/dailybot/ledger/ e nunca chamam a rede — apenas decidem quando lembrar você.
Como saber qual credencial está ativa
Rode dailybot status --auth. O comando testa tanto o caminho de sessão quanto o de API key (se presentes) e imprime qual vence — então você sempre sabe se a próxima chamada sairá como sua sessão de usuário ou como uma chave de serviço.