Communitygithub.com

cloudflare/sandbox-next

Construire ou maintenir des applications Cloudflare Sandbox avec @cloudflare/sandbox@next (aperçu SDK 1.0). Utilisez sandbox-migrate-to-next lors du portage d'une application stable.

Qu'est-ce que sandbox-next ?

Cette compétence permet aux agents IA (tels que Claude Code, Cursor ou Codex) de travailler efficacement avec l'aperçu 1.0 du SDK Sandbox de Cloudflare, identifié par le tag `@next`. Elle fournit un guide structuré pour confirmer la bonne ligne de package, respecter les contrats d'API non négociables, et récupérer la documentation appropriée pour chaque tâche. La compétence couvre les environnements Linux isolés sur Cloudflare Containers, pilotés depuis des Workers, et met l'accent sur les différences clés par rapport à la version stable (par exemple, `sandbox.exec(argv)` retourne un handle, pas un résultat de commande). Les développeurs peuvent l'utiliser pour l'exécution de processus, les terminaux interactifs, les interpréteurs de code, et la gestion des extensions, tout en évitant les pièges courants comme le mélange de packages `@next` avec des images stables ou l'utilisation d'API supprimées. En cas de besoin de portage depuis la version stable, la compétence redirige vers `sandbox-migrate-to-next`.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

SDK Sandbox — @next (aperçu 1.0)

Environnements Linux isolés sur Cloudflare Containers, pilotés depuis des Workers.

Privilégiez la documentation d'aperçu et les types @next installés plutôt que la mémoire. Les API changent ; cette compétence est une passerelle, un contrat et une carte de récupération — pas un manuel complet.

Nous recommandons les nouveaux projets sur cette ligne. Les applications encore sur le package par défaut utilisent sandbox-stable. Portez uniquement sur demande, via sandbox-migrate-to-next.

1. Passerelle — confirmer la ligne de package

Avant d'écrire du code, inspectez l'application :

VérificationDoit correspondre
Dépendance npm@cloudflare/sandbox@next (ou un autre tag d'aperçu)
Image du conteneurMême ligne (ex. cloudflare/sandbox:next, next-python)
Si vous trouvez…Action
@cloudflare/sandbox par défaut (pas de @next)Arrêtez. Chargez sandbox-stable. N'appliquez pas les API de cette compétence.
L'utilisateur souhaite porter stable → @nextArrêtez. Chargez sandbox-migrate-to-next.
Bridge auto-déployé uniquementBridge n'est pas encore sur la ligne d'aperçu 1.0. Maintenez le bridge sur le package et l'image stables. Bridge (stable)

Ne mélangez jamais un package Worker @next avec une image de conteneur stable (ou l'inverse).

Installation des compétences : Configuration de l'agent · cloudflare/skills

2. Contrat — non négociable

  • sandbox.exec(argv) prend une liste argv et se résout lorsque le processus démarre. Il retourne un handle, pas un résultat de commande terminé.
  • Collectez les résultats avec les méthodes du handle : output(), logs(), waitForExit(), waitForPort(), waitForLog(), kill(signal?).
  • Pas de shell implicite. La syntaxe shell nécessite un shell explicite, par ex. ["/bin/bash", "-lc", script].
  • Chaque lancement est indépendant. Un cd / export dans un exec n'est pas visible pour le suivant. Passez cwd et env par lancement, ou un seul script shell.
  • Les handles de processus n'ont pas de stdin. Utilisation interactive → terminaux (createTerminal + connect).
  • Le timeout / AbortSignal d'attente locale annule l'attente uniquement. Ils ne tuent pas le processus. Utilisez kill ou le timeout distant d'exec.
  • getProcess / listProcesses / getTerminal / listTerminals ne démarrent pas un conteneur ; ils retournent null / [] quand aucun n'est actif.
  • Les ID de processus et de terminal appartiennent au conteneur actuel, pas pour toujours à un ID de sandbox. Pour un travail qui doit survivre à un remplacement, stockez la tâche complète (argv, cwd, env, état de l'application) — pas seulement un ID.
  • Configuration non secrète uniquement dans setEnvVars / env du lancement. Les informations d'identification en direct restent dans le Worker ; utilisez des gestionnaires sortants lorsque le sandbox appelle des API externes.
  • N'inventez pas d'API stables supprimées (gitCheckout sur le noyau, achèvement de exec par chaîne, exécution de session, sandbox.terminal(request)).
  • N'utilisez pas une seule boucle de nouvelle tentative pour chaque erreur (voir la documentation sur les erreurs).

Forme minimale :

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

Documentation API spécifique aux tâches : references/api-quick-ref.md

Index des exemples (branche next) : references/examples.md

3. Récupérer — ouvrir la documentation pour la tâche

Récupérez la page avant d'implémenter. Les types @next installés l'emportent sur les suppositions.

Vous devez…Ouvrir
Vous orienter / choisir l'aperçuAperçu 1.0
Premier Worker, wrangler, DockerfileCommencer
exec, handles, état de préparation, durabilitéExécution de processus
Signatures API des processusAPI des processus
ID du sandbox vs conteneur vs sommeil/destructionCycle de vie
cwd / env / setEnvVarsEnvironnement
PTY interactif / terminal navigateurTerminaux · API des terminaux
Interpréteur de code Python/JSInterpréteur · API de l'interpréteur
Modèle d'extensionsExtensions
Classes d'erreur et récupérationErreurs · API des erreurs
Échecs courantsDépannage
Hub APIRéférence API
Fichiers, montages, sauvegardes, ports, tunnels, proxyToSandboxDocumentation principale pour les surfaces partagées (ignorez session/transport/sandbox.terminal stables uniquement) : Fichiers · Stockage / montages · Ports · Tunnels · Sauvegardes · Trafic sortant · Exposer des services · Production
Exemples d'applicationsexemples sur next
Toujours sur le package stablesandbox-stable · Documentation principale Sandbox
Portage d'une application stable existantesandbox-migrate-to-next · Migrer

4. Avant de livrer

  • Lockfile et Dockerfile sur la même ligne @next
  • Vérification de types contre les types @next installés
  • Aucun secret en direct dans l'environnement du sandbox
  • Les noms d'hôte d'aperçu de production nécessitent un DNS wildcard sur un domaine personnalisé lors de l'utilisation de ces modèles d'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 associés