The agent-native cloud platform for sandboxes, CI pipelines, and building container images.
RWX gives developers and AI agents a programmatic interface to run code in the cloud with sub-second cached builds, DAG-based parallelization, and structured output. Developers and agents can iterate on changes until CI passes — without a single commit or push.
Powered by an accelerated container runtime.
- DAG-based execution — Define task dependencies as a graph. RWX determines optimal ordering and runs independent tasks in parallel automatically.
- Content-based caching — Results are cached based on filesystem contents and reused across runs. Individual tasks cache independently, so a single cache miss doesn't invalidate everything.
- Right-sized compute — Each task specifies its own CPU and memory requirements, up to 64 cores. No fixed runner sizes.
- Agent-native — Trigger builds from the CLI and iterate on changes before pushing. AI agents and developers get immediate feedback loops with
rwx run --wait,rwx results,rwx logs, andrwx artifacts— all with--output jsonfor machine-readable results. - Container image builds — Build OCI-compatible images without Dockerfiles. Tasks execute on separate machines in parallel and combine into a single image.
- Semantic output — Structured results rather than raw logs. Failed tests, filesystem contents, and detailed diagnostics are accessible programmatically.
- Remote debugging — SSH into running tasks or set breakpoints to inspect intermediate state.
The RWX Skill gives AI coding agents direct access to RWX — agents can find relevant documentation, lint run definition files, and validate changes with real RWX runs. The skill provides deterministic tools instead of relying on web searches, so agents generate accurate run definitions from scratch or migrate existing ones from platforms like GitHub Actions.
Claude Code:
/install-skill rwxCursor, GitHub Copilot, OpenAI Codex, and other agents:
npx skills add rwx-cloud/skillsOnce installed, agents can:
/rwx— Invoke the skill directly with a promptrwx docs search <query>— Search RWX documentationrwx lint— Validate run definition syntaxrwx run <file> --wait— Execute runs and iterate until they passrwx logs/rwx artifacts— Debug failures programmaticallyrwx packages list/rwx packages show— Browse built-in packages
macOS & WSL:
brew install rwx-cloud/tap/rwxLinux:
Download the latest release from GitHub for your platform, then move the binary to a directory in your PATH.
rwx loginVerify with rwx whoami. You'll need an RWX Cloud account and an organization.
ext install RWX.rwx-vscode-extension
Or find it on the VS Code Marketplace.
Create a tasks.yml:
base:
image: ubuntu:24.04
config: rwx/base 1.0.0
tasks:
- key: hello-world
run: echo hello worldrwx run tasks.yml --openThe CLI outputs a URL to view results. The --open flag launches your browser automatically.
Install the RWX GitHub App to trigger runs on push and report commit status checks back to GitHub.
Create .rwx/push.yml in your repository:
on:
github:
push:
init:
commit-sha: ${{ event.git.sha }}
base:
image: ubuntu:24.04
config: rwx/base 1.0.0
tasks:
- key: code
call: git/clone 2.0.3
with:
github-token: ${{ github.token }}
commit-sha: ${{ init.commit-sha }}
- key: test
use: [code]
run: echo "tests pass"Push the commit and a status check appears on the commit in GitHub.
To run locally against any commit:
rwx run .rwx/push.yml --init commit-sha=$(git rev-parse HEAD) --openSee the full GitHub integration guide.
Configure a GitLab integration from your RWX organization settings. You'll need a GitLab access token with api, self_rotate, and read_repository scopes. Group tokens work across all projects in a group; project tokens require setup per project.
Create .rwx/push.yml in your repository:
on:
gitlab:
push:
init:
commit-sha: ${{ event.git.sha }}
base:
image: ubuntu:24.04
config: rwx/base 1.0.0
tasks:
- key: code
call: git/clone 2.0.3
with:
ssh-key: ${{ gitlab['YOUR_ORG/YOUR_REPO'].ssh-key }}
commit-sha: ${{ init.commit-sha }}
- key: test
use: [code]
run: echo "tests pass"Push the commit and a Pipeline link appears in GitLab's UI pointing to the RWX run.
See the full GitLab integration guide.
RWX sandboxes give coding agents isolated cloud environments to execute commands — run tests, install dependencies, start services — while the agent stays on your machine with your configuration and oversight.
Initialize a sandbox configuration:
rwx sandbox initThis generates .rwx/sandbox.yml. A minimal configuration:
on:
cli:
init:
commit-sha: ${{ event.git.sha }}
base:
image: ubuntu:24.04
config: rwx/base 1.0.0
tasks:
- key: code
call: git/clone 2.0.3
with:
preserve-git-dir: true
repository: https://github.com/your-org/your-repo.git
ref: ${{ init.commit-sha }}
github-token: ${{ github.token }}
- key: sandbox
use: code
run: rwx-sandboxExecute commands in the sandbox:
rwx sandbox exec -- npm testLocal changes automatically sync to the cloud before execution and sync back afterward. The sandbox persists between commands, so state like installed packages and running services carries over.
For more complex setups with background services like databases:
- key: sandbox
use: [code, docker-images, npm-install]
docker: true
background-processes:
- key: start-databases
run: docker compose up
ready-check: rwx-docker-ready-check
run: |
npm run migrate
rwx-sandboxSandboxes are uniquely identified by working directory, git branch, and config file — so multiple agents working in separate git worktrees each get their own isolated sandbox automatically.
rwx sandbox list # List running sandboxes
rwx sandbox stop # Stop current sandbox
rwx sandbox stop --all # Stop all sandboxes
rwx sandbox reset # Reset to fresh stateSee the full sandboxes for coding agents guide.
A typical CI workflow installs system packages, clones the repository, sets up a language runtime, installs dependencies, and runs tests. Here's a Node.js example triggered on pull requests:
on:
github:
pull_request:
init:
commit-sha: ${{ event.git.sha }}
base:
image: ubuntu:24.04
config: rwx/base 1.0.0
tasks:
- key: code
call: git/clone 2.0.3
with:
github-token: ${{ github.token }}
commit-sha: ${{ init.commit-sha }}
- key: node
call: nodejs/install 1.1.11
with:
node-version: 20.12.1
- key: npm-install
use: [code, node]
run: npm install
filter:
- package.json
- package-lock.json
- key: lint
use: [code, node, npm-install]
run: npm run lint
- key: test
use: [code, node, npm-install]
run: npm testThe filter on npm-install ensures only changes to package.json and package-lock.json bust the cache — source code changes skip the install step entirely. lint and test run in parallel since neither depends on the other.
See the full CI reference workflow guide.
RWX builds OCI-compatible container images natively — no Dockerfiles or BuildKit required. Tasks run in parallel across distributed infrastructure and combine into a single image. See RUNTIME.md for how this works under the hood.
A simple image that runs a script:
base:
image: ubuntu:24.04
config: none
tasks:
- key: image
run: |
cat <<'EOF' > script.sh
#!/usr/bin/env bash
echo "hello from a container built on RWX"
EOF
chmod +x script.sh
echo "$PWD/script.sh" | tee $RWX_IMAGE/commandPush the built image to a registry:
rwx image push <task-id> --to <registry>/<repository>:<tag>A full Node.js image build with dependency caching and multi-stage isolation:
base:
image: node:24.11.0-trixie-slim
config: none
tasks:
- key: system
run: |
apt-get -y update
apt-get -y install curl jq
apt-get -y clean
- key: code
use: system
call: git/clone 2.0.3
with:
repository: https://github.com/your-org/your-repo.git
ref: ${{ init.commit-sha }}
github-token: ${{ github.token }}
- key: npm-install
use: code
run: npm ci --omit=dev
filter:
- package.json
- package-lock.json
- key: image
use: npm-install
run: |
echo "node" | tee $RWX_IMAGE/user
echo "node server.js" | tee $RWX_IMAGE/command
env:
NODE_ENV: productionImage metadata like CMD, ENTRYPOINT, USER, and WORKDIR is set by writing to files under $RWX_IMAGE/. The filter on npm-install ensures dependency changes only bust the cache when package.json or package-lock.json actually change.
For orchestrating build, push, and test as a complete workflow, use embedded runs to split each phase into its own file. See the full building container images guide and migrating from Dockerfile.
- Getting Started
- GitHub Integration
- GitLab Integration
- Sandboxes for Coding Agents
- CI Reference Workflow
- Building Container Images
- Migrating from Dockerfile
- CLI Reference:
rwx run - CLI Reference:
rwx results - CLI Reference:
rwx logs - CLI Reference:
rwx artifacts - MCP Server
- Packages
- Tool Caches
- Concurrency Pools
- Release Notes
- Discord — Chat with the engineering team
- Slack — Shared channels for existing customers
- Schedule a call — Video conference with the co-founders
- GitHub Issues — For open source projects
- Status Page
See LICENSE.