원클릭으로
dev-tunnel
Full dev setup with tunnel (automatic) and CLI authentication
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Full dev setup with tunnel (automatic) and CLI authentication
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Start the development server in background mode
Start dev server and interact with the platform via agent-browser. Use when user asks to browse, test, or demo the platform UI, connect services, or perform any browser-based interaction with the local dev environment.
Reset turbo environment (clean node_modules, reinstall, sync DB)
Check if a PR, commit, or tag has been deployed to production
Query, investigate, and manage Sentry issues for debugging and incident response
Create or update a PR and hand it off to a coding agent worker via load balancing. Removes pending label if present, then assigns a worker.
| name | dev-tunnel |
| description | Full dev setup with tunnel (automatic) and CLI authentication |
| context | main |
Full development environment setup with Cloudflare tunnel and CLI authentication. Useful for webhook testing.
Note: Since issue #1726, the web app automatically starts a Cloudflare tunnel when running pnpm dev. This operation is useful when you need the complete setup including CLI authentication.
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/turbo" && pnpm install
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/turbo" && pnpm build
Use Bash tool with run_in_background: true for both commands in parallel (two separate Bash calls in the same message):
Dev server (use tee to persist logs for /dev-logs after context compaction):
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/turbo" && pnpm dev 2>&1 | tee "$PROJECT_ROOT/turbo/.dev-server.log"
Runner:
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/turbo" && pnpm runner
Both return a task_id for monitoring. The web app will automatically start a Cloudflare tunnel. The runner takes several minutes to initialize but doesn't block the app — only chat/agent features need it.
Use TaskOutput with the task_id from Step 3 to monitor the background task output. Look for:
[tunnel] Tunnel URL: followed by the URLReady in (Next.js ready message)Poll TaskOutput every few seconds until the tunnel URL appears (up to ~60 seconds). Extract the tunnel URL (format: https://*.trycloudflare.com).
If the tunnel URL does not appear within ~60 seconds, report the failure and let the user investigate.
export VM0_API_URL=<tunnel-url>
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/e2e" && pnpm install
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/e2e" && npx playwright install chromium
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/turbo/apps/cli" && pnpm link --global
Read Clerk credentials from turbo/apps/web/.env.local:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY → CLERK_PUBLISHABLE_KEYCLERK_SECRET_KEY → CLERK_SECRET_KEYThen run:
PROJECT_ROOT=$(git rev-parse --show-toplevel)
cd "$PROJECT_ROOT/e2e" && \
CLERK_PUBLISHABLE_KEY=<publishable-key> \
CLERK_SECRET_KEY=<secret-key> \
npx tsx cli-auth-automation.ts $(printenv VM0_API_URL)
cat ~/.vm0/config.json
✅ Dev server with tunnel started!
🔧 Runner deployment started in background (takes several minutes)
Local: http://localhost:3000
Tunnel: <tunnel-url>
VM0_API_URL exported to: <tunnel-url>
✅ CLI authentication successful!
Auth token saved to: ~/.vm0/config.json
The app is usable now. Chat/agent features will become available once the runner finishes initializing.
Use `/dev-stop` to stop the server.
The web app's dev script (turbo/apps/web/scripts/dev.sh):
cloudflaredVM0_API_URL environment variableIf tunnel fails to start:
cloudflared is installedtail -f /tmp/cloudflared-dev.logIf authentication fails:
/dev-logsturbo/apps/web/.env.local