Skip to content

A CLI do Dailybot

Um binário. Cada verbo do Dailybot. Onde quer que seu shell rode.

A CLI `dailybot` transforma cada verbo público do Dailybot em um único comando de shell. Reporte do seu terminal, mande mensagens à sua equipe do CI, pergunte ao assistente por um pipe, monte um loop de agente com hooks determinísticos. Open source, dual-auth, multiplataforma — sem SDK para importar, sem runtime para instalar.

$ curl -sSL https://cli.dailybot.com/install.sh | bash

macOS · Linux · Windows · WSL

O ponto da CLI

  • Um binário, zero runtime

    Um único binário nativo. Sem Node, sem Python, sem Docker. `dailybot --version` deveria ser seu primeiro prompt.

  • Cada verbo é um comando

    Se existe na API do Dailybot, existe como subcomando de `dailybot`. Sem API keys para plumbing, sem cliente HTTP para escrever.

  • Dual-auth: OTP ou API key

    OTP pessoal para developers, key de longa duração para CI. Mesmo acesso, mesmos comandos, mesma saída.

  • Não bloqueante, scriptável, JSON-first

    `--json` em cada comando. Nunca interrompe o trabalho principal. Exit codes seguem POSIX — seguro em qualquer pipeline.

A CLI do Dailybot em números

15+

comandos em produção

6

canais de instalação — curl, brew, npm, apt, winget, manual

4

plataformas de chat — Slack, Teams, Discord, Google Chat

MIT

sob licença. Cada release, para sempre.

Os verbos que sua equipe já usa, na linha de comando.

Cada comando envolve 1:1 um endpoint público documentado. Nada escondido, nada proprietário. Quinze comandos que dá para memorizar numa tarde.

Auth

Entre, saiba quem você é.

  • dailybot login

    Login com OTP. Guarda um token de sessão em `~/.config/dailybot/`.

  • dailybot status

    Check-ins pendentes; com `--auth` mostra qual credencial está ativa.

Relatórios

Torne seu trabalho visível em uma linha.

  • dailybot agent update

    Publica um relatório estilo standup. Não bloqueante, devolve uma URL direta ao update.

  • dailybot hook

    Hooks determinísticos do ciclo de vida do harness do agente — só ledger local.

Mensageria

Publique onde sua equipe já escuta.

  • dailybot chat send

    Envie mensagens do bot para usuários, canais ou times — Slack, Teams, Discord, Google Chat.

  • dailybot chat update

    Edite uma mensagem já enviada — o pai ou qualquer resposta da thread.

Assistente

Pergunte ao Dailybot sem sair do seu shell.

  • dailybot ask

    One-shot ou TUI em tela cheia. Slash commands `/status`, `/checkins`, `/report`, `/help`.

Ciclo de vida

Mantenha-se em dia. Desinstale limpo.

  • dailybot version

    Imprime a versão instalada e a mais nova disponível no canal de releases.

  • dailybot upgrade

    Puxa o release mais novo in-place. Mesmo canal em que instalou.

  • dailybot uninstall

    Remove o binário e cada arquivo de configuração. Sem estado residual.

Instale pelo canal em que você já confia.

Escolha o package manager que sua máquina já conhece. Mesmo binário, mesmos comandos, qualquer que seja o caminho. Se estiver na dúvida, use o one-liner do curl — funciona em macOS, Linux e WSL.

curl -sSL https://cli.dailybot.com/install.sh | bash

Cada release traz binários pré-compilados para macOS (Apple Silicon + Intel), Linux (x86_64 + arm64) e Windows (x86_64). O script de instalação detecta sua plataforma.

Quatro formas da CLI em produção.

Esses são os padrões que vemos equipes colarem uma vez e esquecerem. Não são snippets idealizados — é a forma exata do comando de shell que acaba no alias, no job de CI ou no script do agente.

Do seu shell

Standup com um alias de uma linha.

Adicione um alias no seu `.zshrc` / `.bashrc` e seu update de standup fica em um único comando. Não bloqueante — não atrapalha o trabalho.

alias standup='dailybot agent update'

standup "Shipped the auth refactor — JWT now works across all services."

Do CI/CD

Relatórios de release sem app do Slack.

Guarde `DAILYBOT_API_KEY` como secret de CI e cada deploy publica sua própria release note. Sem bot custom do Slack, sem encanamento de webhooks.

# .github/workflows/deploy.yml
- name: Report deploy
  env:
    DAILYBOT_API_KEY: $SECRETS_DAILYBOT_API_KEY
    RELEASE_TAG: $GITHUB_REF_NAME
  run: |
    dailybot chat send \
      -c $RELEASES_CHANNEL \
      -m "Shipped $RELEASE_TAG :rocket:"

De um loop de agente

Agentes que reportam antes de desligar.

Envolva qualquer agente de longa duração com `dailybot hook session-start` e `dailybot agent update` na saída. A equipe vê o agente terminar o trabalho — não só começar.

dailybot hook session-start -f generic

# ... agent does the work ...

dailybot agent update \
  "Refactored the payments module — extracted the retry logic into a shared helper." \
  --metadata '{"model":"claude-opus-4.7"}'

De ChatOps

Release notes em thread, em uma única chamada.

Um único `dailybot chat send` publica a manchete e até dez respostas da thread juntas. Sem race conditions, sem follow-ups faltando.

dailybot chat send \
  -c C0123456789 \
  -m "Release v4.12.0 shipped :rocket:" \
  --thread-message "Frontend deploy: green" \
  --thread-message "Backend deploy: green" \
  --thread-message "Migrations: applied"

Para agentes de programação de IA

Prefere guiar a CLI pelo seu agente de IA? Instale a Skill.

O Dailybot Agent Skill é a CLI sobre trilhos: ensina cada CLI de IA relevante — Claude Code, Cursor, OpenAI Codex, Gemini, Copilot — a invocar o verbo `dailybot` certo no momento certo. Mesmo binário por baixo. Mesma auth, mesma saída. Seu agente deixa de ser uma caixa preta e começa a aterrissar no standup da equipe.

O que cada comando da CLI garante.

Quatro regras que a CLI impõe a si mesma. Esse é o contrato com seu shell, seu CI e seu harness de agente.

01

Mapeamento 1:1 com a API

Cada subcomando envolve um único endpoint público do Dailybot. Se funciona via API, funciona via CLI. Nada escondido, nada extra.

02

Paridade dual-auth

Lê `dailybot login` ou `$DAILYBOT_API_KEY`, escolhe o que estiver disponível. Mesmo acesso no seu laptop e no CI.

03

Saída JSON-first

`--json` em cada comando. Saída humana em stdout, warnings em stderr, exit codes POSIX. Seguro para pipe, seguro para grep.

04

Não bloqueante, sempre

Relatórios, hooks e mensagens nunca interrompem o trabalho principal. Um publish que falhar vira warning, não stack trace. A CLI é uma ferramenta, não uma dependência.

Por que uma CLI, e não só um SDK.

Um SDK pede que você importe uma lib, case versões e cuide de um runtime. Uma CLI não pede nada: joga um binário em `/usr/local/bin` e funciona em cada shell, cada pipeline, cada Makefile, cada harness de agente. Quando dizemos que a CLI é o caminho mais curto até o Dailybot, é literal — a CLI traz cada verbo que nossos próprios agentes usam todo dia, sob licença MIT, multiplataforma, e sem nenhuma cerimônia em formato de SDK.

  • Portátil

    Um binário, sem runtime. Roda num container tão fácil quanto no seu laptop ou num Raspberry Pi.

  • Scriptável

    Saída JSON, exit codes POSIX, `--json` em cada verbo. Seguro para dar pipe em `jq`, seguro para encadear com `&&`.

  • Honesta

    Open-source, MIT, dual-auth. Se ficar pequena, forke. Nada do seu workflow fica preso a nós.

O caminho até aqui.

O roadmap público vive no CHANGELOG do repo da CLI. Aqui vai a versão curta.

Passado

Dual-auth desde o dia zero

`dailybot login` e `DAILYBOT_API_KEY` dão acesso idêntico — a CLI foi desenhada para funcionar igual no seu laptop e no CI, sem um único condicional nos seus scripts.

Agora

15+ comandos, TUI incluída

Auth, relatórios, mensageria, `ask` com TUI Textual em tela cheia, hooks determinísticos do agente — tudo sendo enviado hoje e mapeado 1:1 para os verbos da API pública.

Próximo

Mais plataformas, feedback mais próximo

Integrações de CI mais profundas, mais subcomandos conforme novos endpoints são lançados, e um ciclo mais curto entre o que a CLI faz e o que nossos próprios agentes pedem.

Uma instalação. Cada verbo do Dailybot, onde quer que seu shell rode.

A CLI é uma linha para instalar e um comando para experimentar. Comece com `dailybot login`, depois `dailybot agent update "Testando a CLI"` — esse relatório aterrissa no standup da equipe um segundo depois.