O ChatCLI não foi projetado apenas para conversas interativas. Ele pode ser uma ferramenta poderosa em seus scripts de automação, pipelines de CI/CD e aliases de shell graças ao seu modo “one-shot”.
Neste modo, você pode fazer uma única pergunta, obter a resposta e sair, tudo em um único comando, tornando-o perfeito para integração com outras ferramentas.
Usando as Flags -p ou --prompt
A maneira mais direta de usar o modo one-shot é com as flags -p ou --prompt. O ChatCLI executará a pergunta, imprimirá a resposta da IA no stdout e encerrará.
A saída será apenas a resposta da IA, pronta para ser lida ou processada por outro script.
Uma das formas mais poderosas de usar o modo one-shot é combinando-o com outros comandos de linha de comando através de pipes. O ChatCLI automaticamente detecta se está recebendo dados via stdin e os utiliza como contexto.
Resumir um git diff
Analisar logs
Analisar dados CSV
Slash command num pipe
O corpo do pipe vira o $ARGUMENTS do slash command — e um comando mode: coder pode agir sobre ele com o coder engine completo, no meio da pipeline.
Flags Disponíveis no Modo One-Shot
Você pode customizar o comportamento do modo one-shot com as seguintes flags:
Modo Agente em One-Shot
Prompts one-shot também resolvem templates de slash commands: chatcli -p "/review-pr 1326 security" expande o template de .chatcli/commands antes de qualquer execução. Pipes compõem naturalmente — git diff | chatcli -p "/review" alimenta o corpo do pipe no $ARGUMENTS do comando. Linhas de pré-execução seguem sua política de segurança: aprovação interativa só quando o stdin é um terminal de verdade; execuções via pipe resolvem pelas regras de policy e caem em deny fail-safe — uma regra allow explícita (ex.: { "pattern": "exec git log", "action": "allow" } em ~/.chatcli/coder_policy.json) deixa as linhas ! de um comando rodarem totalmente unattended, destravando automações em cron/CI.
Você também pode invocar o Modo Agente de forma não-interativa. Isso é extremamente útil para automações complexas.
Ao usar /agent ou /run com a flag -p, o ChatCLI pedirá à IA um plano de ação e o imprimirá. Por padrão, ele não executará os comandos.
Isso irá exibir o plano sugerido pela IA (ex: find /tmp -name "*.tmp" -delete). Para executar o plano automaticamente, use a flag --agent-auto-exec. A execução só ocorrerá se o validador de segurança interno não detectar comandos perigosos.A IA irá gerar e, se for seguro, executar o comando para limpar os arquivos temporários.
Use --agent-auto-exec com cautela. Embora o validador de segurança bloqueie comandos perigosos conhecidos, sempre revise o comportamento em ambientes de produção.
Às vezes você quer o output de uma tool built-in, não a opinião de um modelo sobre ele. Um -p "@tool ..." simples executa a tool e depois envia o resultado pra LLM como contexto — lento, caro em tokens e impraticável quando o output é grande. O subcomando tool executa a tool e imprime o output, sem nenhuma chamada de LLM:
- Keyless — sem provider configurado, sem problema: como as direct tools do servidor MCP, o subcomando só precisa da própria tool.
- Mesma política de exposição — o catálogo respeita
CHATCLI_MCP_TOOLS (tools interativas são excluídas), exatamente como a superfície de tools do MCP.
- Amigável a scripts — output no stdout, erros no stderr com exit code 1. Perfeito para cron jobs, etapas de CI e pipes.
Use -p "@tool ..." quando quiser que o modelo raciocine sobre o output da tool; use chatcli tool quando só quiser o output.