Communitygithub.com

cloudflare/sandbox-next

Construa ou mantenha aplicações Cloudflare Sandbox no @cloudflare/sandbox@next (pré-visualização do SDK 1.0). Use sandbox-migrate-to-next ao migrar uma aplicação estável.

O que é sandbox-next?

Esta skill fornece diretrizes e APIs para desenvolvedores que utilizam a pré-visualização do SDK 1.0 (`@next`) do Cloudflare Sandbox, que permite executar ambientes Linux isolados em Cloudflare Containers acionados a partir de Workers. Ela serve como um contrato e mapa de recuperação, garantindo que os usuários não misturem pacotes estáveis com os de pré-visualização, e oferece APIs assíncronas baseadas em manipulação de processos (`exec`, `handle`, `output`, `kill`), sem shell implícito e sem suporte a stdin para processos — para interatividade, devem ser usados terminais dedicados. A skill é compatível com Workers da Cloudflare e recomenda projetos novos na linha `@next`, enquanto aplicações existentes no pacote padrão devem usar `sandbox-stable` e a skill de migração apropriada. Ela também orienta sobre como recuperar documentação específica para tarefas comuns, como execução de processos, gerenciamento de ciclo de vida, terminais, interpretadores de código e extensões, e impõe boas práticas de segurança, como não expor segredos ao vivo no ambiente do sandbox.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cloudflare/skills/tree/main/skills/sandbox-next

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

SDK Sandbox — @next (pré-visualização 1.0)

Ambientes Linux isolados em Cloudflare Containers, acionados a partir de Workers.

Prefira documentos de pré-visualização e tipos @next instalados em vez da memória. As APIs mudam; esta skill é um portão, um contrato e um mapa de recuperação — não um manual completo.

Recomendamos novos projetos nesta linha. Aplicações ainda no pacote padrão usam sandbox-stable. Migre apenas quando solicitado, via sandbox-migrate-to-next.

1. Portão — confirme a linha do pacote

Antes de escrever código, inspecione a aplicação:

VerificaçãoDeve corresponder a
Dependência npm@cloudflare/sandbox@next (ou outra tag de pré-visualização)
Imagem do containerMesma linha (ex.: cloudflare/sandbox:next, next-python)
Se você encontrar…Ação
@cloudflare/sandbox padrão (sem @next)Pare. Carregue sandbox-stable. Não aplique as APIs desta skill.
Usuário quer migrar estável → @nextPare. Carregue sandbox-migrate-to-next.
Bridge auto-implantado apenasBridge não está na linha de pré-visualização 1.0 ainda. Mantenha bridge no pacote e imagem estáveis. Bridge (estável)

Nunca misture um pacote Worker @next com uma imagem de container estável (ou o inverso).

Instalação de skills: Configuração do agente · cloudflare/skills

2. Contrato — inegociáveis

  • sandbox.exec(argv) recebe uma lista de argv e resolve quando o processo inicia. Retorna um handle, não um resultado de comando finalizado.
  • Colete resultados com métodos do handle: output(), logs(), waitForExit(), waitForPort(), waitForLog(), kill(signal?).
  • Sem shell implícito. Sintaxe de shell precisa de um shell explícito, ex.: ["/bin/bash", "-lc", script].
  • Cada lançamento é independente. Um cd / export em um exec não é visível para o próximo. Passe cwd e env por lançamento, ou um único script de shell.
  • Handles de processo não têm stdin. Uso interativo → terminais (createTerminal + connect).
  • timeout / AbortSignal de espera local cancelam apenas a espera. Eles não matam o processo. Use kill ou o timeout remoto do exec.
  • getProcess / listProcesses / getTerminal / listTerminals não iniciam um container; retornam null / [] quando nenhum está ativo.
  • IDs de processo e terminal pertencem ao container atual, não para sempre a um ID de sandbox. Para trabalho que deve sobreviver a substituições, armazene o trabalho completo (argv, cwd, env, estado da aplicação)—não apenas um id.
  • Configuração não secreta apenas em setEnvVars / env de lançamento. Credenciais ativas permanecem no Worker; use handlers de saída quando o sandbox chamar APIs externas.
  • Não invente APIs estáveis removidas (gitCheckout no core, conclusão de exec como string, execução de sessão, sandbox.terminal(request)).
  • Não use um único loop de repetição para todo erro (veja documentação de Erros).

Forma mínima:

import { getSandbox, proxyToSandbox, Sandbox } from "@cloudflare/sandbox";

export { Sandbox };

const sandbox = getSandbox(env.Sandbox, "user-123");
const process = await sandbox.exec(["python3", "-c", "print(2 + 2)"]);
const result = await process.output({ encoding: "utf8" });
// result.stdout, result.exitCode

Documentação da API específica para tarefas: referências/api-quick-ref.md

Índice de exemplos (branch next): referências/examples.md

3. Recupere — abra o documento para a tarefa

Busque a página antes de implementar. Os tipos @next instalados vencem palpites.

Você precisa…Abra
Orientar / escolher pré-visualizaçãoVisão geral da pré-visualização 1.0
Primeiro Worker, wrangler, DockerfileComece
exec, handles, prontidão, durabilidadeExecução de processos
Assinaturas da API de processosAPI de processos
ID do Sandbox vs container vs sono/destruirCiclo de vida
cwd / env / setEnvVarsAmbiente
PTY interativo / terminal do navegadorTerminais · API de terminais
Interpretador de código Python/JSInterpretador · API do interpretador
Modelo de extensõesExtensões
Classes de erro e recuperaçãoErros · API de erros
Falhas comunsSolução de problemas
Central de APIReferência da API
Arquivos, montagens, backups, portas, túneis, proxyToSandboxDocumentos principais para superfícies compartilhadas (ignore sessão/transporte/sandbox.terminal apenas estáveis): Arquivos · Armazenamento / montagens · Portas · Túneis · Backups · Tráfego de saída · Expor serviços · Produção
Aplicações exemploexemplos no next
Ainda no pacote estávelsandbox-stable · Documentos principais do Sandbox
Migrando uma aplicação estável existentesandbox-migrate-to-next · Migrar

4. Antes de publicar

  • Lockfile e Dockerfile na mesma linha @next
  • Verificação de tipos contra os tipos @next instalados
  • Sem segredos ativos no ambiente do sandbox
  • Nomes de host de pré-visualização de produção precisam de DNS curinga em um domínio personalizado ao usar esses padrões de URL

Individual skills in this repo

This repo contains 15 individual skills — each has its own dedicated page.

cloudflare/agents-sdk

Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, chat applications, voice agents, or browser automation. Covers Agent class, state management, callable RPC, Workflows, durable execution, queues, retries, observability, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/building-ai-agent-on-cloudflare

Builds AI agents on Cloudflare using the Agents SDK with state management, real-time WebSockets, scheduled tasks, tool integration, and chat capabilities. Generates production-ready agent code deployed to Workers. Use when: user wants to "build an agent", "AI agent", "chat agent", "stateful agent", mentions "Agents SDK", needs "real-time AI", "WebSocket AI", or asks about agent "state management", "scheduled tasks", or "tool calling". Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/building-mcp-server-on-cloudflare

Builds remote MCP (Model Context Protocol) servers on Cloudflare Workers with tools, OAuth authentication, and production deployment. Generates server code, configures auth providers, and deploys to Workers. Use when: user wants to "build MCP server", "create MCP tools", "remote MCP", "deploy MCP", add "OAuth to MCP", or mentions Model Context Protocol on Cloudflare. Also triggers on "MCP authentication" or "MCP deployment". Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/cloudflare

Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), feature flags (Flagship), networking (Tunnel, Spectrum), security (WAF, DDoS), and infrastructure-as-code (Terraform, Pulumi). Use for any Cloudflare development task. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/cloudflare-email-service

Send and receive transactional emails with Cloudflare Email Service (Email Sending + Email Routing). Use when building email sending (Workers binding or REST API), email routing, Agents SDK email handling, or integrating email into any app — Workers, Node.js, Python, Go, etc. Also use for email deliverability, SPF/DKIM/DMARC, wrangler email setup, MCP email tools, or when a coding agent needs to send emails. Even for simple requests like "add email to my Worker" — this skill has critical config details.

cloudflare/cloudflare-one

Design, configure, troubleshoot, or review Cloudflare One Zero Trust and SASE deployments. Use cloudflare-one-migrations for migration planning from other vendors.

cloudflare/durable-objects

Create and review Cloudflare Durable Objects. Use when building stateful coordination (chat rooms, multiplayer games, booking systems), implementing RPC methods, SQLite storage, alarms, WebSockets, or reviewing DO code for best practices. Covers Workers integration, wrangler config, and testing with Vitest. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/sandbox-migrate-to-next

Migrate Cloudflare Sandbox apps from stable @cloudflare/sandbox to @cloudflare/sandbox@next (SDK 1.0 preview). Use sandbox-next for apps already on the preview.

cloudflare/sandbox-sdk

Build sandboxed applications for secure code execution. Load when building AI code execution, code interpreters, CI/CD systems, interactive dev environments, or executing untrusted code. Covers Sandbox SDK lifecycle, commands, files, code interpreter, and preview URLs. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/sandbox-stable

Build or maintain Cloudflare Sandbox apps on the stable @cloudflare/sandbox package. Use sandbox-next for preview apps and sandbox-migrate-to-next for stable-to-preview migrations.

cloudflare/skills

Build, migrate, and deploy Next.js apps on Cloudflare Workers with vinext. Use when starting a Next.js project on Cloudflare, moving an existing app to Workers, choosing between vinext and OpenNext, or setting up vinext for Workers. For setup, migration, or deployment, install vinext's upstream skills with `npx skills add cloudflare/vinext` if missing, then read and follow the applicable skill and docs.

cloudflare/turnstile-spin

Set up, repair, or migrate to Cloudflare Turnstile bot verification in an existing frontend and backend, including server-side Siteverify.

cloudflare/web-perf

Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.

cloudflare/workers-best-practices

Reviews and authors Cloudflare Workers code against production best practices. Load when writing new Workers, reviewing Worker code, configuring wrangler.jsonc, or checking for common Workers anti-patterns (streaming, floating promises, global state, secrets, bindings, observability). Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

cloudflare/wrangler

Cloudflare Workers CLI for deploying, developing, and managing Workers, KV, R2, D1, Vectorize, Hyperdrive, Workers AI, Containers, Queues, Workflows, Pipelines, and Secrets Store. Load before running wrangler commands to ensure correct syntax and best practices. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.

Habilidades Relacionadas