Communitygithub.com

cloudflare/sandbox-next

Construye o mantiene aplicaciones Cloudflare Sandbox en @cloudflare/sandbox@next (vista previa del SDK 1.0). Usa sandbox-migrate-to-next al migrar una aplicación estable.

¿Qué es sandbox-next?

Esta habilidad te permite construir y mantener aplicaciones aisladas en Cloudflare Containers utilizando el SDK `@next` (vista previa 1.0), controladas desde Workers. Es útil porque proporciona una guía de validación para asegurar que el paquete y la imagen de contenedor coincidan, e incluye contratos no negociables sobre el comportamiento de exec, manejadores de procesos, ausencia de shell implícita, y gestión de identificadores. Soporta Workers en Cloudflare y se basa en la documentación oficial de vista previa 1.0. Para portar aplicaciones estables, se debe usar la habilidad `sandbox-migrate-to-next` en lugar de este skill.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

SDK de Sandbox — @next (vista previa 1.0)

Entornos Linux aislados en Cloudflare Containers, controlados desde Workers.

Prefiere la documentación de vista previa y los tipos @next instalados sobre la memoria. Las API cambian; esta habilidad es una puerta, un contrato y un mapa de recuperación, no un manual completo.

Recomendamos proyectos nuevos en esta línea. Las aplicaciones que aún usan el paquete por defecto deben usar sandbox-stable. Realiza la migración solo cuando se solicite, a través de sandbox-migrate-to-next.

1. Puerta — confirma la línea del paquete

Antes de escribir código, inspecciona la aplicación:

VerificaciónDebe coincidir
Dependencia npm@cloudflare/sandbox@next (u otra etiqueta de vista previa)
Imagen del contenedorMisma línea (por ejemplo, cloudflare/sandbox:next, next-python)
Si encuentras…Acción
@cloudflare/sandbox por defecto (sin @next)Detente. Carga sandbox-stable. No apliques las API de esta habilidad.
El usuario desea migrar de estable a @nextDetente. Carga sandbox-migrate-to-next.
Solo un puente autodesplegadoEl puente no está aún en la línea de vista previa 1.0. Mantén el puente en el paquete e imagen estables. Puente (estable)

Nunca mezclas un paquete de Worker @next con una imagen de contenedor estable (ni al revés).

Instalación de habilidades: Configuración del agente · cloudflare/skills

2. Contrato — no negociables

  • sandbox.exec(argv) toma una lista argv y se resuelve cuando el proceso inicia. Devuelve un manejador, no un resultado de comando finalizado.
  • Recopila resultados con métodos del manejador: output(), logs(), waitForExit(), waitForPort(), waitForLog(), kill(signal?).
  • No hay shell implícito. La sintaxis de shell necesita un shell explícito, por ejemplo, ["/bin/bash", "-lc", script].
  • Cada lanzamiento es independiente. Un cd/export en un exec no es visible para el siguiente. Pasa cwd y env por lanzamiento, o un script shell único.
  • Los manejadores de proceso no tienen stdin. Uso interactivo → terminales (createTerminal + connect).
  • La espera local timeout/AbortSignal cancela solo la espera. No mata el proceso. Usa kill o el timeout remoto de exec.
  • getProcess/listProcesses/getTerminal/listTerminals no inician un contenedor; devuelven null/[] cuando no hay ninguno activo.
  • Los IDs de proceso y terminal pertenecen al contenedor actual, no para siempre a un ID de sandbox. Para trabajo que debe sobrevivir a un reemplazo, almacena el trabajo completo (argv, cwd, env, estado de la aplicación), no solo un ID.
  • Configuración no secreta solo en setEnvVars/lanzamiento env. Las credenciales en vivo se quedan en el Worker; usa manejadores de salida cuando el sandbox llame a API externas.
  • No inventes API estables eliminadas (gitCheckout en core, finalización de exec con string, ejecución de sesión, sandbox.terminal(request)).
  • No uses un bucle de reintento para cada error (consulta la documentación de Errores).

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

Documentación de API específica para tareas: references/api-quick-ref.md

Índice de ejemplos (rama next): references/examples.md

3. Recupera — abre la documentación para la tarea

Obtén la página antes de implementar. Los tipos @next instalados tienen prioridad sobre las suposiciones.

Necesitas…Abre
Orientarte/elegir vista previaVisión general de vista previa 1.0
Primer Worker, wrangler, DockerfileEmpieza
exec, manejadores, preparación, durabilidadEjecución de procesos
Firmas de API de procesosAPI de procesos
ID de Sandbox vs contenedor vs suspensión/destrucciónCiclo de vida
cwd/env/setEnvVarsEntorno
PTY interactivo / terminal del navegadorTerminales · API de terminales
Intérprete de código Python/JSIntérprete · API del intérprete
Modelo de extensionesExtensiones
Clases de error y recuperaciónErrores · API de errores
Fallos comunesSolución de problemas
Centro de APIReferencia de API
Archivos, montajes, copias de seguridad, puertos, túneles, proxyToSandboxDocumentación principal para superficies compartidas (ignora sesión/transporte/sandbox.terminal solo estables): Archivos · Almacenamiento/montajes · Puertos · Túneles · Copias de seguridad · Tráfico saliente · Exponer servicios · Producción
Aplicaciones de ejemploejemplos en next
Aún en paquete establesandbox-stable · Documentación principal de Sandbox
Migrar una aplicación estable existentesandbox-migrate-to-next · Migrar

4. Antes de lanzar

  • Lockfile y Dockerfile en la misma línea @next
  • Verificación de tipos contra los tipos @next instalados
  • Sin secretos en vivo en el entorno del sandbox
  • Los nombres de host de vista previa en producción necesitan DNS comodín en un dominio personalizado cuando se usan esos patrones 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.

Skills relacionados