cloudflare-workers
Permite que seu agente crie e implante funções na ponta com Cloudflare Workers. É útil para APIs, tarefas agendadas e como intermediário de rede.
O que ela faz
Cloudflare Workers permite que você crie e execute pequenos programas de código (chamados 'funções') diretamente na rede global da Cloudflare. Isso significa que suas aplicações podem responder muito rapidamente, onde quer que seus usuários estejam.
Quando usar
- ✓Criar APIs (serviços que outros programas usam para se comunicar) que precisam ser muito rápidas.
- ✓Adicionar verificações de segurança ou ajustes em requisições antes que elas cheguem ao seu servidor principal.
- ✓Executar tarefas automáticas em horários específicos sem precisar de um servidor sempre ligado.
Exemplo do que pedir para a IA
“Crie uma API simples que diga 'Olá Mundo' quando alguém a acessar.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escreve seu código em JavaScript ou TypeScript e usa uma ferramenta chamada Wrangler para enviar esse código para a rede da Cloudflare. A Cloudflare cuida de rodar seu código perto dos seus usuários.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill cloudflare-workersOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/cloudflare-workers/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Cloudflare Workers
Implante funções JavaScript e TypeScript na rede de borda global da Cloudflare com inicializações frias em menos de um milissegundo.
Quando Usar
- Construir APIs e microsserviços leves na borda.
- Adicionar middleware (autenticação, limitação de taxa, injeção de cabeçalho) na frente de servidores de origem.
- Executar jobs agendados (cron jobs) sem manter infraestrutura.
- Processar webhooks, transformações de imagem ou lógica de testes A/B.
- Servir conteúdo dinâmico de bindings de armazenamento KV, D1 ou R2.
Pré-requisitos
- Node.js 18+ instalado localmente.
- Wrangler CLI:
npm install -g wrangler. - Conta Cloudflare (o plano gratuito suporta 100.000 requisições/dia).
- Autenticado:
wrangler loginou definaCLOUDFLARE_API_TOKEN.
Início Rápido
# Scaffold a new Worker project
npm create cloudflare@latest my-worker
cd my-worker
# Login to Cloudflare
npx wrangler login
# Start local development server (port 8787)
npx wrangler dev
# Deploy to production
npx wrangler deploy
Comandos Essenciais do Wrangler
# Local development with remote bindings (KV, D1, R2)
npx wrangler dev --remote
# Deploy to a specific environment
npx wrangler deploy --env staging
# Set a secret (prompts for value)
npx wrangler secret put API_TOKEN
npx wrangler secret put API_TOKEN --env staging
# List secrets
npx wrangler secret list
# Tail production logs in real time
npx wrangler tail
# Tail with filters
npx wrangler tail --status=error --search="timeout"
# View deployment versions
npx wrangler deployments list
# Rollback to a previous deployment
npx wrangler rollback
Configuração do Wrangler
# wrangler.toml
name = "my-api"
main = "src/index.ts"
compatibility_date = "2024-09-01"
compatibility_flags = ["nodejs_compat"]
# Custom routes
routes = [
{ pattern = "api.example.com/*", zone_name = "example.com" }
]
# Or use a workers.dev subdomain
# workers_dev = true
# Environment variables (non-secret)
[vars]
ENVIRONMENT = "production"
API_VERSION = "v2"
# Staging environment override
[env.staging]
name = "my-api-staging"
routes = [
{ pattern = "api-staging.example.com/*", zone_name = "example.com" }
]
[env.staging.vars]
ENVIRONMENT = "staging"
Exemplos de Worker
Roteador Básico de API
// src/index.ts
export interface Env {
ENVIRONMENT: string;
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const url = new URL(request.url);
switch (url.pathname) {
case "/":
return new Response("OK", { status: 200 });
case "/api/health":
return Response.json({
status: "healthy",
env: env.ENVIRONMENT,
timestamp: new Date().toISOString(),
});
case "/api/data":
if (request.method !== "POST") {
return new Response("Method Not Allowed", { status: 405 });
}
const body = await request.json();
// Process in the background after returning response
ctx.waitUntil(logToAnalytics(body));
return Response.json({ received: true });
default:
return new Response("Not Found", { status: 404 });
}
},
};
async function logToAnalytics(data: unknown): Promise<void> {
await fetch("https://analytics.example.com/ingest", {
method: "POST",
body: JSON.stringify(data),
headers: { "Content-Type": "application/json" },
});
}
Middleware: Limitação de Taxa com KV
// src/rate-limiter.ts
interface Env {
RATE_LIMIT_KV: KVNamespace;
ORIGIN_URL: string;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const ip = request.headers.get("CF-Connecting-IP") || "unknown";
const key = `ratelimit:${ip}`;
const window = 60; // seconds
const maxRequests = 100;
const current = parseInt((await env.RATE_LIMIT_KV.get(key)) || "0");
if (current >= maxRequests) {
return new Response("Too Many Requests", {
status: 429,
headers: { "Retry-After": String(window) },
});
}
await env.RATE_LIMIT_KV.put(key, String(current + 1), {
expirationTtl: window,
});
// Forward to origin
const originRequest = new Request(env.ORIGIN_URL + new URL(request.url).pathname, request);
return fetch(originRequest);
},
};
Binding de Armazenamento KV
# wrangler.toml
[[kv_namespaces]]
binding = "MY_KV"
id = "abc123def456"
# Namespace de pré-visualização para desenvolvimento local
[[kv_namespaces]]
binding = "MY_KV"
id = "abc123def456"
…
Perguntas frequentes
Preciso pagar para usar Cloudflare Workers?
O plano gratuito da Cloudflare oferece um limite generoso de requisições por dia, o que é suficiente para muitos projetos pequenos e testes.
O que é 'edge'?
'Edge' se refere aos locais físicos onde a Cloudflare tem servidores espalhados pelo mundo. Rodar código no 'edge' significa que ele roda mais perto do usuário final, tornando tudo mais rápido.
O que são 'cold starts'?
É o pequeno atraso que pode acontecer quando seu código é executado pela primeira vez após um período de inatividade. Cloudflare Workers são conhecidos por terem 'cold starts' muito rápidos, quase imperceptíveis.
Detalhes
Descrição original do autor
Build and deploy edge functions with Cloudflare Workers and Wrangler. Use for APIs, cron jobs, and edge middleware.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2555
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC