diff --git a/codesandbox/README.md b/codesandbox/README.md index 6e05a704..d804623b 100644 --- a/codesandbox/README.md +++ b/codesandbox/README.md @@ -58,6 +58,10 @@ bash <(curl -fsSL https://openrouter.ai/labs/spawn/codesandbox/gemini.sh) ```bash bash <(curl -fsSL https://openrouter.ai/labs/spawn/codesandbox/amazonq.sh) +#### Cline + +```bash +bash <(curl -fsSL https://openrouter.ai/labs/spawn/codesandbox/cline.sh) ``` ## Non-Interactive Mode diff --git a/codesandbox/cline.sh b/codesandbox/cline.sh new file mode 100644 index 00000000..07016052 --- /dev/null +++ b/codesandbox/cline.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -eo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" +if [[ -n "${SCRIPT_DIR}" && -f "${SCRIPT_DIR}/lib/common.sh" ]]; then + source "${SCRIPT_DIR}/lib/common.sh" +else + eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/codesandbox/lib/common.sh)" +fi + +log_info "Cline on CodeSandbox" +echo "" + +ensure_codesandbox_cli +ensure_codesandbox_token + +SERVER_NAME=$(get_server_name) +create_server "${SERVER_NAME}" +wait_for_cloud_init + +log_step "Installing Cline..." +run_server "source ~/.bashrc && bun install -g cline" + +echo "" +if [[ -n "${OPENROUTER_API_KEY:-}" ]]; then + log_info "Using OpenRouter API key from environment" +else + OPENROUTER_API_KEY=$(get_openrouter_api_key_oauth 5181) +fi + +log_step "Setting up environment variables..." +run_server 'echo "export OPENROUTER_API_KEY=\"'"${OPENROUTER_API_KEY}"'\"" >> ~/.bashrc' +run_server 'echo "export OPENAI_API_KEY=\"'"${OPENROUTER_API_KEY}"'\"" >> ~/.bashrc' +run_server 'echo "export OPENAI_BASE_URL=\"https://openrouter.ai/api/v1\"" >> ~/.bashrc' + +echo "" +log_info "CodeSandbox setup completed successfully!" +echo "" + +log_step "Starting Cline..." +sleep 1 +clear +interactive_session "source ~/.bashrc && cline" diff --git a/manifest.json b/manifest.json index f0eb88b7..2b0d4481 100644 --- a/manifest.json +++ b/manifest.json @@ -868,9 +868,9 @@ "codesandbox/goose": "implemented", "codesandbox/codex": "missing", "codesandbox/interpreter": "missing", - "codesandbox/gemini": "implemented", +"codesandbox/gemini": "implemented", "codesandbox/amazonq": "implemented", - "codesandbox/cline": "missing", + "codesandbox/cline": "implemented", "codesandbox/gptme": "missing", "codesandbox/opencode": "implemented", "codesandbox/plandex": "implemented",