Find a file
Sprite cdd0d4e93e refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers)
Converted 34 scripts across 6 SSH-based providers to use inject_env_vars_ssh:
- digitalocean: amazonq, cline, gemini (3 scripts)
- hetzner: amazonq, cline, gemini (3 scripts)
- linode: amazonq, cline, gemini (3 scripts)
- vultr: amazonq, cline, gemini (3 scripts)
- aws-lightsail: all agents except openclaw (10 scripts)
- lambda: all agents except openclaw (10 scripts)

Plus aws-lightsail/openclaw and lambda/openclaw (2 scripts)

Each conversion replaces 11-15 lines of temp file management with a single
inject_env_vars_ssh call that handles creation, upload, sourcing, and cleanup.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 04:11:15 +00:00
.claude Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
.githooks Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
.github/workflows ci: add shellcheck linting infrastructure 2026-02-08 01:08:34 +00:00
aws-lightsail refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
cli refactor: Add trap-based cleanup for temp files in library code 2026-02-08 03:31:47 +00:00
digitalocean refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
docs docs: add Round 6 refactoring summary 2026-02-08 00:55:36 +00:00
e2b refactor: Extract ENV_TEMP pattern to inject_env_vars_local (E2B) 2026-02-08 04:06:33 +00:00
fly Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
gcp Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
hetzner refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
lambda refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
linode refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
modal refactor: Extract ENV_TEMP pattern to inject_env_vars_local (Modal) 2026-02-08 04:04:01 +00:00
shared refactor: Extract ENV_TEMP pattern to inject_env_vars_local (Modal) 2026-02-08 04:04:01 +00:00
sprite Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
test refactor: Add default case to script-specific assertions 2026-02-08 03:56:29 +00:00
vultr refactor: Extract ENV_TEMP pattern to inject_env_vars_ssh (SSH providers) 2026-02-08 04:11:15 +00:00
.shellcheckrc ci: add shellcheck linting infrastructure 2026-02-08 01:08:34 +00:00
AUTONOMOUS_REFACTORING_COMPLETE.md Autonomous refactoring: 5 rounds, ~1,400 lines eliminated, production-ready 2026-02-08 00:06:46 +00:00
CLAUDE.md Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
improve.sh refactor: add -e flag to improve.sh error handling 2026-02-08 03:21:18 +00:00
manifest.json Add guardrails: CLAUDE.md rules, hooks, pre-commit validation (#33) 2026-02-07 20:02:19 -08:00
README.md Replace agent/cloud lists with matrix table in README 2026-02-08 04:09:32 +00:00
REFACTORING_SUMMARY.md Autonomous refactoring: 5 rounds, ~1,400 lines eliminated, production-ready 2026-02-08 00:06:46 +00:00

Spawn

Launch any AI coding agent on any cloud, pre-configured with OpenRouter.

Install

curl -fsSL https://openrouter.ai/lab/spawn/cli/install.sh | bash

Usage

spawn                         # Interactive picker
spawn <agent> <cloud>         # Launch directly
spawn list                    # Show the full matrix

Examples

spawn claude sprite           # Claude Code on Sprite
spawn aider hetzner           # Aider on Hetzner Cloud
spawn goose digitalocean      # Goose on DigitalOcean
spawn codex vultr             # Codex CLI on Vultr

Commands

Command Description
spawn Interactive agent + cloud picker
spawn <agent> <cloud> Launch agent on cloud directly
spawn <agent> Show available clouds for an agent
spawn list Full agent x cloud matrix
spawn agents List all agents
spawn clouds List all cloud providers

Without the CLI

Every combination also works as a one-liner:

bash <(curl -fsSL https://openrouter.ai/lab/spawn/{cloud}/{agent}.sh)

Non-Interactive

Skip all prompts with environment variables:

OPENROUTER_API_KEY=sk-or-v1-xxxxx \
  spawn claude sprite

Each cloud has its own env vars for auth — see the cloud's README.

Matrix

Sprite Hetzner DigitalOcean Vultr Linode Lambda Lightsail GCP E2B Modal Fly.io
Claude Code
OpenClaw
NanoClaw
Aider
Goose
Codex CLI
Interpreter
Gemini CLI
Amazon Q
Cline
gptme

Development

git clone https://github.com/OpenRouterTeam/spawn.git
cd spawn
git config core.hooksPath .githooks