{"id":39477420,"url":"https://github.com/runloopai/rl-cli","last_synced_at":"2026-03-08T00:06:30.369Z","repository":{"id":332462200,"uuid":"1067500874","full_name":"runloopai/rl-cli","owner":"runloopai","description":"An interactive CLI for interacting with the Runloop.ai platform. Use it as an interactive command-line application with rich UI components, or as a traditional CLI for scripting and automation.","archived":false,"fork":false,"pushed_at":"2026-02-06T01:03:55.000Z","size":18264,"stargazers_count":15,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-06T04:00:04.842Z","etag":null,"topics":["ai","cli","sandbox","tool"],"latest_commit_sha":null,"homepage":"https://runloop.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runloopai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-01T00:29:04.000Z","updated_at":"2026-02-06T01:03:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"00061660-1e9c-4032-9470-bed5f8eda18c","html_url":"https://github.com/runloopai/rl-cli","commit_stats":null,"previous_names":["runloopai/rl-cli"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/runloopai/rl-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runloopai%2Frl-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runloopai%2Frl-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runloopai%2Frl-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runloopai%2Frl-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runloopai","download_url":"https://codeload.github.com/runloopai/rl-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runloopai%2Frl-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29425566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","sandbox","tool"],"created_at":"2026-01-18T05:00:14.738Z","updated_at":"2026-03-08T00:06:30.362Z","avatar_url":"https://github.com/runloopai.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Runloop CLI\n\n[![npm version](https://img.shields.io/npm/v/@runloop/rl-cli)](https://www.npmjs.com/package/@runloop/rl-cli)\n[![CI](https://github.com/runloopai/rl-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/runloopai/rl-cli/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nA **TUI + CLI** for the [Runloop.ai](https://runloop.ai) platform. Use it as an **interactive TUI** (Terminal User Interface) with rich UI components, or as a **traditional CLI** for scripting and automation.\n\n📖 **[Full Documentation](https://docs.runloop.ai/docs/tools/rl-cli)**\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/runloopai/rl-cli/main/misc/demo.gif\" alt=\"Runloop CLI Demo\" width=\"800\"\u003e\n\u003c/p\u003e\n\n## Quick Example\n\n```bash\n# TUI mode - launches an interactive terminal UI\nrli\n\n# CLI mode - perfect for scripts and automation\nrli devbox list                    # Outputs JSON/text\nrli devbox create --name my-devbox\nrli devbox exec \u003cdevbox-id\u003e echo \"Hello World\"\nrli devbox delete \u003cdevbox-id\u003e\n```\n\n## Features\n\n- 🖥️ **TUI mode** — Interactive terminal UI with menus, tables, and real-time updates\n- 🎯 **CLI mode** — Traditional commands with text, JSON, and YAML output for scripting\n- ⚡ Fast and responsive with pagination\n- 📦 Manage devboxes, snapshots, and blueprints\n- 🚀 Execute commands, SSH, view logs in devboxes\n- 🤖 **Model Context Protocol (MCP) server for AI integration**\n\n## Installation\n\nInstall globally via npm or pnpm:\n\n```bash\nnpm install -g @runloop/rl-cli\n# or\npnpm add -g @runloop/rl-cli\n```\n\n## Setup\n\nConfigure your API key:\n\n```bash\nexport RUNLOOP_API_KEY=your_api_key_here\n```\n\nGet your API key from [https://runloop.ai/settings](https://runloop.ai/settings)\n\n## Usage\n\n### TUI (Interactive Mode)\n\n```bash\nrli                    # Launch the interactive TUI\nrli --help             # See help information\n```\n\n### CLI (Scripting Mode)\n\nAll commands support `--output` (`-o`) for format control:\n\n```bash\nrli devbox list                      # Default text output\nrli devbox list -o json              # JSON output\nrli devbox list -o yaml              # YAML output\n```\n\n## Command Structure\n\nThe CLI is organized into command buckets:\n\n### Devbox Commands (alias: `d`)\n\n```bash\nrli devbox create                        # Create a new devbox\nrli devbox list                          # List all devboxes\nrli devbox delete \u003cid\u003e                   # Shutdown a devbox\nrli devbox exec \u003cid\u003e \u003ccommand...\u003e        # Execute a command in a devbox\nrli devbox exec-async \u003cid\u003e \u003ccommand...\u003e  # Execute a command asynchronously on a...\nrli devbox upload \u003cid\u003e \u003cfile\u003e            # Upload a file to a devbox\nrli devbox get \u003cid\u003e                      # Get devbox details\nrli devbox get-async \u003cid\u003e \u003cexecution-id\u003e # Get status of an async execution\nrli devbox suspend \u003cid\u003e                  # Suspend a devbox\nrli devbox resume \u003cid\u003e                   # Resume a suspended devbox\nrli devbox shutdown \u003cid\u003e                 # Shutdown a devbox\nrli devbox ssh \u003cid\u003e                      # SSH into a devbox\nrli devbox scp \u003csrc\u003e \u003cdst\u003e               # Copy files to/from a devbox using scp...\nrli devbox rsync \u003csrc\u003e \u003cdst\u003e             # Sync files to/from a devbox using rsy...\nrli devbox tunnel \u003cid\u003e \u003cports\u003e           # Create a port-forwarding tunnel to a ...\nrli devbox read \u003cid\u003e                     # Read a file from a devbox using the API\nrli devbox write \u003cid\u003e                    # Write a file to a devbox using the API\nrli devbox download \u003cid\u003e                 # Download a file from a devbox\nrli devbox send-stdin \u003cid\u003e \u003cexecution-id\u003e # Send stdin to a running async execution\nrli devbox logs \u003cid\u003e                     # View devbox logs\n```\n\n### Snapshot Commands (alias: `snap`)\n\n```bash\nrli snapshot list                        # List all snapshots\nrli snapshot create \u003cdevbox-id\u003e          # Create a snapshot of a devbox\nrli snapshot delete \u003cid\u003e                 # Delete a snapshot\nrli snapshot get \u003cid\u003e                    # Get snapshot details\nrli snapshot prune \u003cdevbox-id\u003e           # Delete old snapshots for a devbox, ke...\nrli snapshot status \u003csnapshot-id\u003e        # Get snapshot operation status\n```\n\n### Blueprint Commands (alias: `bp`)\n\n```bash\nrli blueprint list                       # List all blueprints\nrli blueprint create                     # Create a new blueprint\nrli blueprint get \u003cname-or-id\u003e           # Get blueprint details by name or ID (...\nrli blueprint logs \u003cname-or-id\u003e          # Get blueprint build logs by name or I...\nrli blueprint delete \u003cid\u003e                # Delete a blueprint by ID\nrli blueprint prune \u003cname\u003e               # Delete old blueprint builds, keeping ...\nrli blueprint from-dockerfile            # Create a blueprint from a Dockerfile ...\n```\n\n### Object Commands (alias: `obj`)\n\n```bash\nrli object list                          # List objects\nrli object get \u003cid\u003e                      # Get object details\nrli object download \u003cid\u003e \u003cpath\u003e          # Download object to local file\nrli object upload \u003cpath\u003e                 # Upload a file as an object\nrli object delete \u003cid\u003e                   # Delete an object (irreversible)\n```\n\n### Network-policy Commands (alias: `np`)\n\n```bash\nrli network-policy list                  # List network policies\nrli network-policy get \u003cid\u003e              # Get network policy details\nrli network-policy create                # Create a new network policy\nrli network-policy delete \u003cid\u003e           # Delete a network policy\n```\n\n### Secret Commands (alias: `s`)\n\n```bash\nrli secret create \u003cname\u003e                 # Create a new secret. Value can be pip...\nrli secret list                          # List all secrets\nrli secret get \u003cname\u003e                    # Get secret metadata by name\nrli secret update \u003cname\u003e                 # Update a secret value (value from std...\nrli secret delete \u003cname\u003e                 # Delete a secret\n```\n\n### Gateway-config Commands (alias: `gwc`)\n\n```bash\nrli gateway-config list                  # List gateway configurations\nrli gateway-config create                # Create a new gateway configuration\nrli gateway-config get \u003cid\u003e              # Get gateway configuration details\nrli gateway-config update \u003cid\u003e           # Update a gateway configuration\nrli gateway-config delete \u003cid\u003e           # Delete a gateway configuration\n```\n\n### Mcp-config Commands (alias: `mcpc`)\n\n```bash\nrli mcp-config list                      # List MCP configurations\nrli mcp-config create                    # Create a new MCP configuration\nrli mcp-config get \u003cid\u003e                  # Get MCP configuration details\nrli mcp-config update \u003cid\u003e               # Update an MCP configuration\nrli mcp-config delete \u003cid\u003e               # Delete an MCP configuration\n```\n\n### Mcp Commands\n\n```bash\nrli mcp start                            # Start the MCP server\nrli mcp install                          # Install Runloop MCP server configurat...\n```\n\n### Benchmark-job Commands (alias: `bmj`)\n\n```bash\nrli benchmark-job run                    # Run a benchmark job with one or more ...\nrli benchmark-job summary \u003cid\u003e           # Get benchmark job summary and results\nrli benchmark-job watch \u003cid\u003e             # Watch benchmark job progress in real-...\nrli benchmark-job list                   # List benchmark jobs\n```\n\n\n## MCP Server (AI Integration)\n\nRunloop includes a Model Context Protocol (MCP) server that allows AI assistants like Claude to interact with your devboxes.\n\n### Quick Setup for Claude Desktop\n\n```bash\n# Install MCP configuration\nrli mcp install\n\n# Restart Claude Desktop, then ask Claude:\n# \"List my devboxes\" or \"Create a new devbox\"\n```\n\n### Starting the Server\n\n```bash\n# Stdio mode (for Claude Desktop)\nrli mcp start\n\n# HTTP mode (for web/remote access)\nrli mcp start --http\nrli mcp start --http --port 8080\n```\n\n**Documentation:**\n\n- [CLAUDE_SETUP.md](./CLAUDE_SETUP.md) - Complete setup guide for Claude Desktop\n- [MCP_README.md](./MCP_README.md) - Full MCP documentation\n- [MCP_COMMANDS.md](./MCP_COMMANDS.md) - Quick command reference\n\n## Theme Configuration\n\nThe TUI supports both light and dark terminal themes and will automatically select the appropriate theme.\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Build\npnpm run build\n\n# Watch mode\npnpm run dev\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on how to contribute to this project.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunloopai%2Frl-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunloopai%2Frl-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunloopai%2Frl-cli/lists"}