O modo one-shot do ChatCLI permite executar prompts em uma única linha, ideal para scripts, pipelines CI/CD e automações.
Modo One-Shot básico
Use a flag -p para enviar um prompt e sair imediatamente:
chatcli -p "Explique rapidamente este repositório."
Todas as features de contexto funcionam dentro do prompt:
chatcli -p "@git @env Monte um release note enxuto."
chatcli -p "@file ./src --mode summary Faça um panorama da arquitetura."
Pipes e stdin
O ChatCLI aceita entrada via pipe, combinando a saída de outros comandos com seu prompt:
# Analisar diff do Git
git diff | chatcli -p "Resuma as mudanças e liste possíveis impactos."
# Diagnosticar erros
cat error.log | chatcli -p "Explique a causa raiz e sugira uma solução."
# Analisar saída de comandos
kubectl get pods -n production | chatcli -p "Quais pods estão com problemas?"
# Revisar código
cat src/auth.go | chatcli -p "Revise este código e aponte vulnerabilidades."
Flags disponíveis
| Flag | Descrição | Exemplo |
|---|
-p, --prompt | Texto a enviar para o LLM | -p "Explique isso" |
--provider | Sobrescreve o provedor de IA | --provider CLAUDEAI |
--model | Sobrescreve o modelo | --model gpt-4o |
--max-tokens | Limite de tokens na resposta | --max-tokens 1000 |
--timeout | Timeout da chamada (duração Go) | --timeout 30s |
--no-anim | Desabilita animações (útil em scripts) | --no-anim |
--agent-auto-exec | Executa automaticamente o primeiro comando sugerido | --agent-auto-exec |
--realm | Realm/tenant para StackSpot | --realm meu-tenant |
--agent-id | Agent ID para StackSpot | --agent-id xxx |
Modo Agente One-Shot
Combine /agent no prompt para delegar tarefas:
# Dry-run: apenas sugere o comando e sai
chatcli -p "/agent liste todos os arquivos .go neste diretório"
# Execução automática: roda o primeiro comando seguro
chatcli -p "/agent crie um arquivo chamado test_file.txt" --agent-auto-exec
Com --agent-auto-exec, comandos perigosos são bloqueados automaticamente. Apenas comandos considerados seguros serão executados.
Exemplos de automação
Gerar release notes automaticamente
#!/bin/bash
chatcli -p "@git Monte release notes detalhadas para a última tag." \
--provider CLAUDEAI \
--no-anim > RELEASE_NOTES.md
Revisar PR no CI
#!/bin/bash
git diff main...HEAD | chatcli -p "Revise este diff. Liste problemas de segurança, bugs potenciais e sugestões." \
--no-anim \
--max-tokens 2000
Analisar logs em cron job
#!/bin/bash
tail -100 /var/log/nginx/error.log | chatcli -p "Resuma os erros e sugira ações corretivas." \
--no-anim >> /var/log/ai-analysis.log
chatcli -p "@file ./src --mode summary Descreva a arquitetura" \
--provider STACKSPOT \
--agent-id "seu-id-de-agente"
Dicas
Crie um alias no seu shell para acesso rápido: alias c='chatcli' e alias ai='chatcli -p'. Depois use: ai "Explique o que faz o comando: iptables -t nat -L"
- Use
--no-anim em todos os scripts para evitar caracteres de escape na saída
- Combine com
> para redirecionar a saída para arquivos
- Use
--timeout para evitar que scripts fiquem travados esperando resposta
- Aspas duplas são importantes:
chatcli -p "texto com @file e @git" (protege contra interpretação do shell)