# Demos

Illustrative sandbox walkthroughs and copyable runner workflows.

## CI Runners

[GitHub Actions runner templates Install the Runzivo GitHub App, select a private repository owned by a GitHub organization, then use the selected template's published runner label.](https://runzivo.dev/docs/runner-templates/)

## Agent Sandboxes

[Sandbox lifecycle illustration](https://runzivo.dev/docs/demos/#sandbox-lifecycle)

## Sandbox lifecycle illustration

Create a sandbox, run a command, inspect the result, then stop or delete it. This illustration shows the sequence; it is not a recording of a live sandbox.

Run the commands one at a time. After create, copy the returned sandbox ID into each placeholder. Use list to wait until its status is running before exec. Inspect the command output and sandbox status, then stop or delete it.

Your browser does not support embedded video. Read the copyable lifecycle commands below.

Illustrative animation with placeholder IDs. Use the sandbox ID returned in your own workspace.

Terminal · illustrative lifecycle

```
rzv sandboxes create --name docs-example --size 2vcpu-8gb
rzv sandboxes list
rzv sandboxes exec <sandbox-id> -- pwd
rzv sandboxes get <sandbox-id>
rzv sandboxes stop <sandbox-id>
rzv sandboxes delete <sandbox-id>
```

[Follow the sandbox quickstart](https://runzivo.dev/docs/sandboxes-quickstart/)

## Runner workflow example

Illustrative GitHub Actions workflow using a published Runzivo runner label. Install the GitHub App and authorize your repository before running it.

01-nodejs.yml

```yaml
name: Node.js

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: nodejs-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
  test:
    runs-on: rzv-ubuntu-24.04-x64-2vcpu-8gb
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
        with:
          persist-credentials: false
      - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
        with:
          node-version: 24
          cache: npm
          cache-dependency-path: package-lock.json
      - run: npm ci
      - run: npm test
      - run: npm run build
```

[Browse all runner workflow templates](https://runzivo.dev/docs/runner-templates/)

Page tools

[View as Markdown](https://runzivo.dev/docs/demos.md)

Ask AI about this page

[Open in ChatGPT](https://chatgpt.com/?q=Read%20this%20Runzivo%20documentation%20page%2C%20then%20help%20me%20with%20it%3A%0A%0Ahttps%3A%2F%2Frunzivo.dev%2Fdocs%2Fdemos.md) [Open in Claude](https://claude.ai/new?q=Read%20this%20Runzivo%20documentation%20page%2C%20then%20help%20me%20with%20it%3A%0A%0Ahttps%3A%2F%2Frunzivo.dev%2Fdocs%2Fdemos.md) [Open in Cursor](https://cursor.com/link/prompt?text=Read%20this%20Runzivo%20documentation%20page%2C%20then%20help%20me%20with%20it%3A%0A%0Ahttps%3A%2F%2Frunzivo.dev%2Fdocs%2Fdemos.md)

Claude shows a caution banner on any prefilled prompt. That is expected: review the prompt, then send it.
