O que é o Cf, o CLI agêntico da Cloudflare
Em setembro de 2026, durante a tradicional Birthday Week, a Cloudflare anunciou o cf: um CLI de linha de comando com comportamento agêntico para interagir com toda a API da plataforma. A ideia central é simples e poderosa ao mesmo tempo - em vez de decorar dezenas de subcomandos e flags, você descreve o que quer fazer em linguagem natural e o cf entende, planeja e executa.
A Cloudflare já tinha o Wrangler para gerenciar Workers, mas o cf vai muito além: cobre DNS, Pages, R2, KV, D1, Queues e praticamente qualquer recurso disponível via API. É a interface unificada que muitos devs pediam há anos.
O projeto nasce num momento em que CLIs agênticos estão se tornando o padrão em grandes plataformas de cloud. AWS, GCP e Azure já têm experiências similares em fase experimental, mas o cf chega como produto oficial, não um labs.
Como funciona por dentro
O cf usa um modelo de linguagem para interpretar a intenção do usuário e traduzir em chamadas reais à Cloudflare API v4. A arquitetura segue o padrão de agente com plano e execução: primeiro ele mostra o que vai fazer (o 'plano'), espera confirmação e depois executa cada passo.
Isso é diferente de um simples wrapper de API com autocompletar. O cf consegue encadear múltiplas chamadas de API para atingir um objetivo composto. Se você pedir 'adicione um registro CNAME para api.meusite.com apontando para meu Worker', ele descobre a zona, cria o registro com os parâmetros certos e confirma o resultado.
Por baixo, o cf roda localmente e se autentica via token de API da Cloudflare. Nenhum dado de comando vai para servidores externos além da própria API da Cloudflare - o modelo de linguagem pode ser local ou remoto dependendo da configuração.
O cf exibe o plano antes de executar qualquer ação destrutiva. Sempre leia o plano antes de confirmar, especialmente em operações de DNS ou deleção de recursos.
Principais recursos do cf CLI
O cf cobre um escopo bem amplo da plataforma Cloudflare. Os recursos mais utilizados pelos primeiros usuários incluem:
- Gerenciamento de DNS - criar, editar e deletar registros com descrição em linguagem natural
- Deploy de Workers - publicar, listar e inspecionar Workers sem precisar do Wrangler para operações simples
- Pages - gerenciar projetos e deployments do Cloudflare Pages
- R2 - criar buckets, listar objetos, configurar políticas de acesso
- KV e D1 - operações em namespaces KV e bancos D1 via comandos descritivos
- Zero Trust - gerenciar políticas de acesso e túneis
A diferença em relação ao Wrangler não é substituição, mas complemento. O Wrangler continua sendo a ferramenta de desenvolvimento local de Workers (hot reload, bindings, ambiente local). O cf é a ferramenta de operação e gestão da conta.
Como instalar e começar a usar
A instalação é via npm ou diretamente pelo binário disponível no repositório oficial. O fluxo básico é:
npm install -g @cloudflare/cf
# ou com pnpm
pnpm add -g @cloudflare/cfDepois de instalar, autentique com o seu token de API da Cloudflare:
cf auth login
# Abre o browser para gerar um API token com os escopos necessáriosCom a autenticação feita, é só começar a conversar:
cf "liste todos os Workers da minha conta"
cf "crie um registro A para blog.meusite.com apontando para 1.2.3.4"
cf "qual o status do meu bucket R2 chamado uploads"O token de API precisa ter os escopos adequados para cada recurso que você quer gerenciar. Um token de escopo mínimo para Zone:DNS não vai conseguir gerenciar Workers.
Exemplo prático: configurando um Worker com DNS em um comando
Imagine que você acabou de fazer o deploy de um Worker chamado 'api-proxy' e quer apontar um subdomínio para ele. Normalmente isso envolveria ir no dashboard, criar o registro DNS, configurar o roteamento. Com o cf:
cf "aponte api.meusite.com para o Worker api-proxy via rota personalizada"O cf vai interpretar a intenção, identificar sua zona DNS, criar a rota no Worker e o registro DNS, e mostrar o plano antes de executar. A saída fica mais ou menos assim:
Plano de execução:
1. Identificar zona DNS de meusite.com
2. Criar rota api.meusite.com/* no Worker api-proxy
3. Criar registro DNS CNAME api.meusite.com -> api-proxy.meuconta.workers.dev
Confirmar? [S/n]Depois de confirmar, o cf executa cada passo e reporta o resultado. Em vez de 5 minutos no dashboard, são 30 segundos no terminal.
Combine o cf com scripts shell para automações de infra. Um script de deploy pode chamar o cf para atualizar registros DNS, verificar o Worker e checar o status num único fluxo.
Comparação com alternativas
O mercado já tem algumas ferramentas nessa linha. Vale comparar:
Wrangler CLI: foco em desenvolvimento de Workers, excelente para dev local, mas não cobre DNS, Pages de forma operacional ou recursos como R2/D1 com a mesma profundidade. O cf e o Wrangler são complementares.
Cloudflare Dashboard: interface visual completa, mas lenta para operações repetitivas ou automatizadas. Não tem como scriptear facilmente.
Terraform + Cloudflare Provider: excelente para IaC declarativo, mas tem curva de aprendizado maior e não serve bem para operações ad-hoc ou exploratórias.
O cf se encaixa melhor quando você precisa de operações rápidas, exploração interativa da conta, ou quando o Terraform seria excessivo para a tarefa.
Pontos positivos e limitações
O cf chega com alguns pontos fortes claros: unifica o gerenciamento de recursos dispersos, reduz a necessidade de abrir o dashboard para operações simples e é naturalmente scriptável. A autenticação é padrão e segura via token de API.
As limitações mais notáveis por enquanto: o cf está em versão inicial, então nem todos os recursos da API têm cobertura completa. Operações muito específicas de configuração avançada (como regras de Page Rules complexas ou configurações de Argo) podem precisar do dashboard ou de chamadas diretas à API.
A interpretação de linguagem natural também tem limites - pedidos ambíguos ou muito complexos podem gerar um plano errado. Por isso o step de confirmação antes da execução é essencial.
Nunca aceite o plano sem ler. Pedidos mal formulados podem resultar em deleção de registros DNS ou Workers incorretos. O cf tenta ser conservador, mas erros de interpretação acontecem.
Casos de uso reais
Dev solo gerenciando múltiplos projetos: quem tem dezenas de sites na Cloudflare sabe o quanto o dashboard fica lento para operações simples. O cf permite fazer rotações de DNS, verificar Workers e checar status de Pages em segundos pelo terminal.
Time de DevOps em pipelines CI/CD: scripts de deploy podem usar o cf para atualizar configurações de DNS após o deploy sem precisar de código Terraform dedicado para operações pontuais.
Desenvolvedor explorando a conta: 'liste todos os Workers com mais de 1000 requisições hoje' é o tipo de consulta que seria trabalhosa via API pura, mas trivial com o cf.
Onboarding de novos projetos: em vez de guias longos sobre como configurar DNS e Workers no dashboard, um script com cf pode reproduzir a configuração inteira em minutos.
Dicas e boas práticas
Use tokens de API com escopo mínimo necessário por contexto. Para um script de CI que só deploya Workers, crie um token que só tem permissão de Workers:Edit.
Para operações que você vai repetir, crie aliases de shell. Por exemplo: alias cf-dns-list='cf "liste todos os registros DNS de meusite.com"'
O cf tem uma flag --dry-run que mostra o plano sem executar e sem pedir confirmação. Útil para inspecionar o que seria feito antes de colocar num script de produção.
Um erro comum de iniciantes é usar o cf para tarefas que o Wrangler faz melhor, como desenvolvimento local e hot reload de Workers. Use cada ferramenta para o que foi projetada.
Vale a pena usar o Cf CLI?
Para quem já usa a Cloudflare de forma intensiva, o cf é uma adição óbvia ao toolkit. Ele não substitui o Wrangler nem o Terraform, mas preenche um gap real: operações rápidas, exploração interativa e automações simples sem a burocracia de uma ferramenta IaC completa.
Se você gerência mais de 2-3 projetos na Cloudflare, vai se pagar nos primeiros dias de uso. O próximo passo é instalar, autenticar e experimentar com comandos simples de listagem antes de partir para operações destrutivas.
Comentários
Deixar um comentárioVocê precisa ter uma conta no CuritibaBlog para comentar.