runcloud 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -9
- package/dist/version.js +1 -1
- package/package.json +29 -4
package/README.md
CHANGED
|
@@ -5,6 +5,10 @@ Create and control **remote mobile simulators** and **cloud sandboxes** from you
|
|
|
5
5
|
- **Simulators** — boot real iOS simulators and Android emulators in the cloud, install your app, open deep links, and tunnel a local dev server into them.
|
|
6
6
|
- **Sandboxes** — start a fresh, isolated Linux environment in seconds, run commands in it, snapshot a ready setup, and restore it later as a warm start.
|
|
7
7
|
|
|
8
|
+
Everything the CLI creates also shows up at [run.cloud/dashboard](https://run.cloud/dashboard):
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
8
12
|
## Install
|
|
9
13
|
|
|
10
14
|
```bash
|
|
@@ -13,6 +17,13 @@ npm i -g runcloud
|
|
|
13
17
|
|
|
14
18
|
Installs the `runcloud` binary. Requires **Node ≥ 20**.
|
|
15
19
|
|
|
20
|
+
Or take the standalone binary — no Node, no sudo. It installs to `~/.run-cloud/bin`
|
|
21
|
+
and hands the terminal to `runcloud login` when it finishes:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
curl -fsSL https://run.cloud/install | sh
|
|
25
|
+
```
|
|
26
|
+
|
|
16
27
|
## Log in
|
|
17
28
|
|
|
18
29
|
```bash
|
|
@@ -41,13 +52,27 @@ runcloud ios delete <id> # release the session
|
|
|
41
52
|
runcloud android create --model pixel
|
|
42
53
|
```
|
|
43
54
|
|
|
44
|
-
Useful `create` flags: `--region`, `--display-name`, `--inactivity-timeout 3m`,
|
|
55
|
+
Useful `create` flags: `--region`, `--display-name`, `--inactivity-timeout 3m`,
|
|
56
|
+
`--hard-timeout 1h`, `--install-asset <name-or-id>`, `--rm` (release when the
|
|
57
|
+
command exits), `--json`.
|
|
45
58
|
|
|
46
59
|
### Tunnel a local dev server into a simulator
|
|
47
60
|
|
|
48
61
|
```bash
|
|
49
|
-
runcloud tunnel <id> --
|
|
50
|
-
runcloud tunnel-status
|
|
62
|
+
runcloud ios tunnel <id> --local-port 8081 # expose local Metro to the remote session
|
|
63
|
+
runcloud ios tunnel-status
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Reusable app assets
|
|
67
|
+
|
|
68
|
+
Upload an app once, install it into as many sessions as you like:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
runcloud asset push ./MyApp.app --name my-app
|
|
72
|
+
runcloud asset list
|
|
73
|
+
runcloud ios create --install-asset my-app
|
|
74
|
+
runcloud asset pull <id> --output ./MyApp.app
|
|
75
|
+
runcloud asset delete <id>
|
|
51
76
|
```
|
|
52
77
|
|
|
53
78
|
## Sandboxes
|
|
@@ -57,7 +82,8 @@ runcloud sandbox create # start a sandbox (default imag
|
|
|
57
82
|
runcloud sandbox create --cpu 0.5 --memory 1024 # allocate CPU cores and memory in MiB
|
|
58
83
|
runcloud sandbox create --disk 80 # request an 80 GiB root filesystem
|
|
59
84
|
runcloud sandbox exec <id> npm run build # run a command inside it
|
|
60
|
-
runcloud sandbox
|
|
85
|
+
runcloud sandbox shell <id> # interactive shell, streamed over the API
|
|
86
|
+
runcloud sandbox logs <id> --lines 200 # tail its logs
|
|
61
87
|
runcloud sandbox list
|
|
62
88
|
runcloud sandbox rm <id> # destroy it
|
|
63
89
|
```
|
|
@@ -88,17 +114,21 @@ desktop without asking the browser to send your CLI credential.
|
|
|
88
114
|
|
|
89
115
|
### Persistence and a public hostname
|
|
90
116
|
|
|
91
|
-
A sandbox pauses when idle by default.
|
|
92
|
-
and publish a guest port at a stable
|
|
93
|
-
`--expose`:
|
|
117
|
+
A sandbox pauses when idle by default. Tune that with `--idle-pause <seconds>`,
|
|
118
|
+
turn it off with `--persistent`, and publish a guest port at a stable
|
|
119
|
+
`<name>-box.run.cloud` hostname with `--expose`:
|
|
94
120
|
|
|
95
121
|
```bash
|
|
122
|
+
runcloud sandbox create --idle-pause 600 # pause after 10 idle minutes
|
|
96
123
|
runcloud sandbox create --name my-project --persistent # never pauses
|
|
97
124
|
runcloud sandbox create --name my-project --expose 3000 # persistent + https://my-project-box.run.cloud
|
|
98
125
|
runcloud sandbox expose <id> --port 8080 # expose later, or move the published port
|
|
99
126
|
runcloud sandbox get <id> # inspect, including the hostname
|
|
100
127
|
```
|
|
101
128
|
|
|
129
|
+
`--expose` needs `--name` — that name is the hostname prefix, and it is fixed
|
|
130
|
+
once minted.
|
|
131
|
+
|
|
102
132
|
Exposed sandboxes support SSH, file transfer, VS Code, and custom domains:
|
|
103
133
|
|
|
104
134
|
```bash
|
|
@@ -147,10 +177,14 @@ runcloud android create --install ./run-cloud-sample-android.apk
|
|
|
147
177
|
## AI coding agents
|
|
148
178
|
|
|
149
179
|
```bash
|
|
150
|
-
runcloud skills
|
|
180
|
+
runcloud skills install # install run.cloud skills into this project
|
|
181
|
+
runcloud skills install --agents claude --scope global
|
|
151
182
|
```
|
|
152
183
|
|
|
153
|
-
|
|
184
|
+
Supported agents: `claude`, `codex`, `cursor`.
|
|
185
|
+
|
|
186
|
+
Every command accepts `--json` for scripting. For programmatic use from
|
|
187
|
+
TypeScript, see [`@run-cloud/sdk`](https://www.npmjs.com/package/@run-cloud/sdk).
|
|
154
188
|
|
|
155
189
|
## Credentials & environment
|
|
156
190
|
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const CLI_VERSION = '0.1.
|
|
1
|
+
export const CLI_VERSION = '0.1.14';
|
package/package.json
CHANGED
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "runcloud",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "Create and control run.cloud remote mobile simulators and cloud sandboxes",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"runcloud",
|
|
8
|
+
"run-cloud",
|
|
9
|
+
"run cloud",
|
|
10
|
+
"run.cloud",
|
|
11
|
+
"ios-simulator",
|
|
12
|
+
"android-emulator",
|
|
13
|
+
"simulator",
|
|
14
|
+
"emulator",
|
|
15
|
+
"device-farm",
|
|
16
|
+
"device-cloud",
|
|
17
|
+
"mobile-testing",
|
|
18
|
+
"mobile-app-testing",
|
|
19
|
+
"ios-testing",
|
|
20
|
+
"android-testing",
|
|
21
|
+
"mobile-automation",
|
|
22
|
+
"cloud-testing",
|
|
23
|
+
"e2e-testing",
|
|
24
|
+
"sandbox",
|
|
25
|
+
"cloud-sandbox",
|
|
26
|
+
"code-sandbox",
|
|
27
|
+
"agent-sandbox",
|
|
28
|
+
"ai-sandbox",
|
|
29
|
+
"code-execution",
|
|
30
|
+
"code-interpreter",
|
|
31
|
+
"remote-execution",
|
|
32
|
+
"cli"
|
|
33
|
+
],
|
|
6
34
|
"type": "module",
|
|
7
35
|
"repository": {
|
|
8
36
|
"type": "git",
|
|
@@ -17,9 +45,6 @@
|
|
|
17
45
|
},
|
|
18
46
|
"dependencies": {
|
|
19
47
|
"commander": "^12.1.0",
|
|
20
|
-
"esbuild": "0.25.12",
|
|
21
|
-
"google-auth-library": "^9.15.0",
|
|
22
|
-
"tar": "^7.4.3",
|
|
23
48
|
"ws": "^8.21.0"
|
|
24
49
|
}
|
|
25
50
|
}
|