spawn/sh/aws
Ahmed Abushagur d5461adc16
feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015)
* feat: SPAWN_CLI_DIR env var to force local source in e2e and shell scripts

When SPAWN_CLI_DIR is set, the entire toolchain uses local TypeScript
source instead of downloading pre-bundled scripts from GitHub releases:

- e2e.sh: auto-sets SPAWN_CLI_DIR to repo root when running locally
- provision.sh: exports SPAWN_CLI_DIR into the headless subshell
- commands.ts: reads local shell scripts instead of fetching from CDN
- All 36 cloud/agent shell scripts: exec local main.ts when set

This enables e2e tests to validate local changes before they're released.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(security): add path traversal defense to SPAWN_CLI_DIR script loading

Canonicalize the path via realpathSync and verify it stays inside the
resolved CLI directory before reading. Prevents SPAWN_CLI_DIR from
being used to read arbitrary files via ../ traversal.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(security): harden SPAWN_CLI_DIR path traversal defense

- Validate cloud/agent names don't contain '..', '/' or '\' before
  constructing file paths
- Fix root-directory edge case in prefix check by handling trailing
  separator correctly

Agent: pr-maintainer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
2026-02-28 04:14:36 -05:00
..
claude.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00
codex.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00
kilocode.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00
openclaw.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00
opencode.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00
README.md fix: add Lightsail activation prerequisite to docs and error messages (#1850) 2026-02-24 00:53:28 -05:00
zeroclaw.sh feat: SPAWN_CLI_DIR env var to force local source in e2e (#2015) 2026-02-28 04:14:36 -05:00

AWS Lightsail

AWS Lightsail instances via AWS CLI. AWS Lightsail

Prerequisites

  1. Enable AWS Lightsail — New AWS accounts must activate Lightsail before first use. Visit the Lightsail console and follow the activation prompt. Without this step, all provisioning commands will fail.

  2. AWS CLI installed and configured — Run aws configure with your Access Key ID and Secret Access Key.

Uses ubuntu user instead of root.

Agents

Claude Code

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/claude.sh)

OpenClaw

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/openclaw.sh)

ZeroClaw

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/zeroclaw.sh)

Codex CLI

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/codex.sh)

OpenCode

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/opencode.sh)

Kilo Code

bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/kilocode.sh)

Non-Interactive Mode

LIGHTSAIL_SERVER_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
  bash <(curl -fsSL https://openrouter.ai/labs/spawn/aws/claude.sh)