
TL;DR
Cloudflare's new CI SDK runs pipelines as Workflows: TypeScript instead of YAML, cached sandbox steps, artifact-push triggers, and a healing agent that fixes failed builds. Here is how it works and what it means for platforms.
On August 4, the third day of its Agents Week, Cloudflare announced the CI SDK: a way to run continuous integration pipelines as Cloudflare Workflows, written in TypeScript instead of YAML, with each step executed in an isolated sandbox and an optional AI agent that heals failed runs. The pitch in the title is literal: "Run CI/CD for millions of repos, on your platform, on Cloudflare." The intended audience is not the individual developer running one pipeline, it is the platform builder running CI for hundreds of thousands of customer repositories.
The post is the build-and-test half of a larger story we covered this morning: Cloudflare's Agent Development Lifecycle. The CI SDK sits on top of Artifacts, Cloudflare's versioned code storage, and Workflows, its durable execution engine, and it turns the store-build-deploy path into one Workflow with a shared, cached environment across steps.
The CI SDK. @cloudflare/ci is a TypeScript library that maps a pipeline to a Workflow. A ci.runner() call runs a command in a sandbox; steps you return from it can be cached. The canonical example in the announcement runs bun install --frozen-lockfile once with a cache keyed on package.json and bun.lock, then fans out lint, test, typecheck, and build in parallel with Promise.all, and finally deploys with bun wrangler deploy using credentials passed through the Workflow.
Because each step runs in its own sandbox with the install step's snapshot restored, dependency caching means the lint, test, and build steps do not reinstall anything. The snapshot is stored in an R2 bucket on your account. Retries and timeouts come from Workflows' durable execution, and a failed step can be restarted from that step without rerunning the pipeline.
Artifact push triggers. Previously, wiring CI to a push meant setting up an event subscription, a Queue, a consumer, and a handler. The new events field on the Workflow trigger targets a Workflow instance directly: an artifact push fires cf.artifacts.repo.pushed, and a filter can scope it to one repo or an entire namespace. Omit repoName and the same workflow runs on every push to every repo in the namespace, which is the platform-owned CI case: write the pipeline once, share it across all customer applications.
Self-healing CI. The flagship example is a Healer agent that extends Cloudflare's HealingAgent class, wraps pipeline steps in try/catch, and on a CiRunnerFailure calls healer.heal() with the enriched failure and a prompt like "Fix every observed failure without weakening validation." The agent works in a container alongside the CI steps, makes the fix on a branch, and reports the branch, commit, and step count. You merge the commit instead of babysitting the pipeline. The example model is Kimi K2.7 Code via Workers AI, but the harness accepts any model.
Inherited Workflows guarantees. Every CI run is a Workflow instance, which means the existing dashboard shows step-by-step inputs, outputs, wall and CPU time, plus a visualizer for concurrent versus sequential steps. Logs go to Workers Observability and are queryable via GraphQL. Because a Workflow step is arbitrary code, a pipeline can do anything a Worker can: write build artifacts to R2, email on failure, or dispatch a code review agent mid-pipeline.
From the archive
Aug 4, 2026 • 7 min read
Aug 4, 2026 • 7 min read
Aug 4, 2026 • 9 min read
Aug 3, 2026 • 7 min read
The headline is the audience: this is aimed at platforms, not at the solo developer happy with GitHub Actions. If you run a vibe-coding product, an internal platform, or a customization-through-code extension of your customer product, the pitch is that your CI becomes a Cloudflare Workflow you own, written in TypeScript rather than YAML.
The YAML point matters more than it sounds. GitHub Actions workflows are the most common YAML CI on earth, but they are also the least testable: a syntax error surfaces at runtime, conditional expressions are stringly typed, and reusing logic across jobs means copying blocks. The CI SDK's translation is direct, each step becomes step.do() with ordinary TypeScript control flow. Typechecking a pipeline file is the same as typechecking the code it builds. Our piece on workflows as code state machines made the same argument about orchestration generally: when the pipeline is real code, the editor, the linter, and the typechecker all participate.
The self-healing agent is the interesting escalation, because it reframes what CI failure means. A failed build is not a notification anymore, it is an input to an agent that has the failing command's output, the repo state, and permission to push a fix branch. That is a different contract than "agent suggests a diff in a comment." Cloudflare's own Astro dogfooding post, published the same day, reports driving a repository's open issue count to zero with this kind of automated triage, and our review-queue analysis noted that agent-authored fixes only scale when the pipeline itself can route them.
Two constraints keep this honest. First, it is not a migration path from GitHub Actions: there is no YAML importer, and the SDK's value comes from writing pipelines in TypeScript from the start. Second, the artifact-push trigger is Artifacts-first today; push events from GitHub and other version control systems are listed as coming next, not available now. The "millions of repos" framing assumes the repos live in Artifacts, which means the full store-build-deploy loop is the offer, not a standalone CI replacement.
Cloudflare is assembling the platform pieces in sequence: Artifacts for storage, Sandboxes for isolated execution, Workflows for durable orchestration, Containers for the heavier step runtimes, and now the CI SDK on top. The trajectory is the same one Cloudflare Computer previewed for agent runtimes: give the agent, or the pipeline, a first-class execution environment with retries, observability, and credentials, and the surrounding infrastructure stops being the bottleneck.
For teams that already run on Cloudflare Workers, the appeal is consolidation: deploy previews on push to non-default branches and production on push to main are listed as coming next, alongside gradual percentage-based rollouts and monorepo support. For teams that do not, the calculus is the usual platform bet, they are betting that durable execution plus sandboxes plus code storage beats the incumbent CI incumbents, and that TypeScript pipelines are enough of a win to justify leaving YAML behind.
Read next
On August 4 Cloudflare launched the Agent Development Lifecycle: agent traces with session replay, @cloudflare/ci for CI/CD as Workflows, and local OpenTelemetry. A software factory is no longer just an idea, it is a platform product.
7 min readCloudflare's Agents Week opens with @cloudflare/computer, an open-source agent runtime where an SQLite-backed workspace gives every agent a shared filesystem and lets the model pick between fast isolates and full Linux containers per task. The bet: containers for under 10% of agent work.
7 min readAharness, LangChain's custom harness pattern, and OpenAI's code-first migration all point to the same next step: agent processes need typed gates, validated evidence, and controlled transitions.
8 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
The TypeScript toolkit for building AI apps. Unified API across OpenAI, Anthropic, Google. Streaming, tool calling, stru...
View ToolFrontend stack for agent-native apps. React hooks, prebuilt copilot UI, AG-UI runtime, frontend tools, shared state, and...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolLightweight Python framework for multi-agent systems. Agent handoffs, tool use, guardrails, tracing. Successor to the ex...
View ToolStep-by-step guide to building an MCP server in TypeScript - from project setup to tool definitions, resource handling, testing, and deployment.
AI AgentsConfigure Claude Code for maximum productivity -- CLAUDE.md, sub-agents, MCP servers, and autonomous workflows.
AI AgentsWhat MCP servers are, how they work, and how to build your own in 5 minutes.
AI Agents
Buzz by Block: Open-Source Slack-Style Collaboration for Humans + AI Agents (Demo & Setup) Check out Arcade: https://arcade.dev.plug.dev/xiDRwlA Repo: https://github.com/block/buzz The video introd...

Build Anything with Vercel, the Agentic Infrastructure Stack Check out Vercel: https://vercel.plug.dev/cwBLgfW The video shows a behind-the-scenes walkthrough of how the creator rapidly builds and d...

Check out Trae here! https://tinyurl.com/2f8rw4vm In this video, we dive into @Trae_ai a newly launched AI IDE packed with innovative features. I provide a comprehensive demonstration...

On August 4 Cloudflare launched the Agent Development Lifecycle: agent traces with session replay, @cloudflare/ci for CI...

Cloudflare's Agents Week opens with @cloudflare/computer, an open-source agent runtime where an SQLite-backed workspace...

Aharness, LangChain's custom harness pattern, and OpenAI's code-first migration all point to the same next step: agent p...

As coding agents get easier to delegate to, the scarce resource shifts from code generation to review capacity, CI minut...

AI Gateway spend budgets now scope to teams and projects, with hard dollar limits that reject requests, email alerts at...

Cloudflare's JavaScript-native RPC on Workers now works across languages: TypeScript Workers can call methods on Python...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.