droidsuite 0.0.0-stage → 1.0.0-beta.11

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/COMMANDS.md ADDED
@@ -0,0 +1,389 @@
1
+ # droidsuite commands
2
+
3
+ <!-- Generated by `node bin/droidsuite.mjs help --markdown`. Edit src/commands.mjs, not this file. -->
4
+
5
+ Run `droidsuite` with nothing after it for an interactive menu. Every command also takes `--help`.
6
+
7
+ | Command | What it does |
8
+ |---|---|
9
+ | [`setup`](#setup) | First-run setup: add the DroidSuite icon, get adb ready for Wi-Fi debugging, offer the AI agent skill, show next steps |
10
+ | [`serve`](#serve) | Share APKs with your paired phones, push every new build to them, and swap files |
11
+ | [`open`](#open) | Open the DroidSuite page, starting the server if it isn't running (what the desktop icon does) |
12
+ | [`push`](#push) | Send any files to your paired phones (needs droidsuite serve running) |
13
+ | [`send`](#send) | Upload APKs or any files to a phone that has Receive mode open |
14
+ | [`get`](#get) | Download the files a phone offers in Receive mode |
15
+ | [`devices`](#devices) | List phones that have Receive mode open on this network |
16
+ | [`debug`](#debug) | Connect adb to phones with Wireless debugging on (Android Studio, logcat, breakpoints) |
17
+ | [`debug setup`](#debug-setup) | Set up Debug over Wi-Fi step by step: turn on, pair, connect (Android 11+) |
18
+ | [`debug connect`](#debug-connect) | Connect adb to the IP address & Port shown on the phone |
19
+ | [`debug usb`](#debug-usb) | Android 8–10: turn on adb over Wi-Fi through a USB cable, then connect |
20
+ | [`debug doctor`](#debug-doctor) | Explain why Debug over Wi-Fi doesn't connect, and what to do |
21
+ | [`debug install`](#debug-install) | Install adb (Google's Android SDK Platform-Tools) for droidsuite |
22
+ | [`debug path`](#debug-path) | Add adb to your PATH so typing "adb" works in new terminals |
23
+ | [`adb`](#adb) | Run adb, even when it isn't on PATH |
24
+ | [`shortcut`](#shortcut) | Add a "DroidSuite" icon that starts the server and opens its page |
25
+ | [`skill`](#skill) | Teach AI coding agents (Claude Code, Codex, Gemini CLI, Cursor and others) to use droidsuite, in every project |
26
+ | [`help`](#help) | Show all commands, or the details of one |
27
+
28
+ ## setup
29
+
30
+ First-run setup: add the DroidSuite icon, get adb ready for Wi-Fi debugging, offer the AI agent skill, show next steps.
31
+
32
+ ```
33
+ droidsuite setup [--yes] [--skip-adb] [--no-shortcut]
34
+ ```
35
+
36
+ | Option | Meaning |
37
+ |---|---|
38
+ | `-y, --yes` | Answer yes to every question (accepts the Platform-Tools license). |
39
+ | `--skip-adb` | Don't check or install adb (only needed for Debug over Wi-Fi). |
40
+ | `--no-shortcut` | Don't add the DroidSuite icon. |
41
+ | `--shortcut` | Add the icon even with no terminal to answer in. The install scripts use this. |
42
+
43
+ Examples:
44
+
45
+ ```bash
46
+ droidsuite setup
47
+ ```
48
+
49
+ The install scripts run this for you. Have Node.js and nothing installed yet? npx droidsuite@latest setup installs DroidSuite too. Asks before installing adb, changing PATH or adding the skill; with no terminal to answer in, it skips.
50
+
51
+ ## serve
52
+
53
+ Share APKs with your paired phones, push every new build to them, and swap files.
54
+
55
+ ```
56
+ droidsuite serve [folders or APK files...] [options]
57
+ ```
58
+
59
+ | Option | Meaning |
60
+ |---|---|
61
+ | `--inbox <folder>` | Where files sent from phones are saved (default: Downloads/DroidSuite in your home folder). |
62
+ | `--install-via <mode>` | auto (default): when the phone has Wireless debugging connected, builds install through adb, which also works where Android blocks apps from unregistered developers; otherwise through the app. app: always through the app. |
63
+ | `--port <n>` | Port to listen on (default 8765; the next free one if it's busy). |
64
+ | `--host <ip>` | Address to put in the pairing QR code. Repeat for several. Default: this computer's Wi-Fi/LAN addresses. |
65
+ | `--no-mdns` | Don't announce this computer on the network (phones then only use the QR addresses). |
66
+ | `--reset` | Make a new pairing token. Every phone has to scan the QR code again. |
67
+ | `--open` | Open the page in your browser once the server is running. |
68
+ | `--background` | How the DroidSuite icon runs it: no default folder (only the one you chose before), output for a log file. Stop it from the page. Use droidsuite open to start it like the icon does. |
69
+
70
+ Examples:
71
+
72
+ ```bash
73
+ droidsuite serve # inside an Android project: watches app/build/outputs/apk
74
+ droidsuite serve D:\builds\myapp # any folder of APKs
75
+ droidsuite serve app-release.apk --port 9000
76
+ ```
77
+
78
+ Prints a pairing QR code. http://localhost:8765 shows a bigger one, connected phones, builds, a drop zone for sending files, files received from phones, the phone app download, the Debug over Wi-Fi panel, and Phone screen: the phone's screen live, with control (tap, swipe, keys, typing). Phone screen needs a phone connected through adb (Debug over Wi-Fi or USB); it uses Android's own screen recorder and pauses when the tab is hidden. Stop with Ctrl+C.
79
+
80
+ ## open
81
+
82
+ Open the DroidSuite page, starting the server if it isn't running (what the desktop icon does).
83
+
84
+ ```
85
+ droidsuite open
86
+ ```
87
+
88
+ Examples:
89
+
90
+ ```bash
91
+ droidsuite open
92
+ ```
93
+
94
+ Already running on this computer: just opens the page. Otherwise it starts droidsuite serve with the builds folder you chose last (in the menu or on the page), or with none, in the background (no window; its output goes to serve.log in the droidsuite folder), and opens the page. Stop it with Stop on the page.
95
+
96
+ ## push
97
+
98
+ Send any files to your paired phones (needs droidsuite serve running).
99
+
100
+ ```
101
+ droidsuite push <files...> [--port <n>]
102
+ ```
103
+
104
+ | Option | Meaning |
105
+ |---|---|
106
+ | `--port <n>` | Port of the running serve, if you started it with --port (it's found by itself otherwise). |
107
+
108
+ Examples:
109
+
110
+ ```bash
111
+ droidsuite push design.png notes.txt
112
+ ```
113
+
114
+ Every phone with Live on gets the files in Downloads/DroidSuite, with a notification to open them. Phones send files back with Share → DroidSuite.
115
+
116
+ ## send
117
+
118
+ Upload APKs or any files to a phone that has Receive mode open.
119
+
120
+ ```
121
+ droidsuite send <files...> [--to <ip[:port]>] [--pin <123456>] [--save]
122
+ ```
123
+
124
+ | Option | Meaning |
125
+ |---|---|
126
+ | `--to <ip[:port]>` | The address shown on the phone (port 8686 if left out). Default: find the phone automatically. |
127
+ | `--pin <123456>` | The PIN shown on the phone. Not needed when this computer is paired with the phone; asked for otherwise. |
128
+ | `--save` | Save APKs as files instead of installing them. |
129
+
130
+ Examples:
131
+
132
+ ```bash
133
+ droidsuite send app-release.apk
134
+ droidsuite send report.pdf app.apk --to 192.168.1.23 --pin 481027
135
+ droidsuite send app.apk --save
136
+ ```
137
+
138
+ Open Receive on the phone first. Pairing is optional, but a paired computer skips the PIN. .apk, .apks and .zip (split bundles) are installed; other files are saved to Downloads/DroidSuite on the phone.
139
+
140
+ ## get
141
+
142
+ Download the files a phone offers in Receive mode.
143
+
144
+ ```
145
+ droidsuite get [file names...] [--to <ip[:port]>] [--pin <123456>] [--out <folder>]
146
+ ```
147
+
148
+ | Option | Meaning |
149
+ |---|---|
150
+ | `--to <ip[:port]>` | The address shown on the phone (port 8686 if left out). Default: find the phone automatically. |
151
+ | `--pin <123456>` | The PIN shown on the phone. Not needed when this computer is paired with the phone; asked for otherwise. |
152
+ | `--out <folder>` | Where to save the files (default: the current folder). Existing files are never overwritten. |
153
+
154
+ Examples:
155
+
156
+ ```bash
157
+ droidsuite get
158
+ droidsuite get report.pdf --out D:\in
159
+ ```
160
+
161
+ On the phone: Receive → Offer files, or Share → DroidSuite → A browser. With no names, every offered file is downloaded.
162
+
163
+ ## devices
164
+
165
+ List phones that have Receive mode open on this network.
166
+
167
+ ```
168
+ droidsuite devices
169
+ ```
170
+
171
+ Examples:
172
+
173
+ ```bash
174
+ droidsuite devices
175
+ ```
176
+
177
+ ## debug
178
+
179
+ Connect adb to phones with Wireless debugging on (Android Studio, logcat, breakpoints).
180
+
181
+ ```
182
+ droidsuite debug [--ip <x.x.x.x>]
183
+ ```
184
+
185
+ | Option | Meaning |
186
+ |---|---|
187
+ | `--ip <x.x.x.x>` | Only connect to this phone. |
188
+
189
+ Examples:
190
+
191
+ ```bash
192
+ droidsuite debug
193
+ droidsuite debug --ip 192.168.1.23
194
+ ```
195
+
196
+ Finds the phone by itself, whatever port Wireless debugging picked today (also when the network blocks discovery, using the port the DroidSuite app reports). First time? Run "droidsuite debug setup".
197
+
198
+ ## debug setup
199
+
200
+ Set up Debug over Wi-Fi step by step: turn on, pair, connect (Android 11+).
201
+
202
+ ```
203
+ droidsuite debug setup [--code <123456> [<ip:port>]] [--timeout <seconds>]
204
+ ```
205
+
206
+ | Option | Meaning |
207
+ |---|---|
208
+ | `--code <123456>` | Pair with the 6-digit code from "Pair device with pairing code" instead of the QR code. |
209
+ | `<ip:port>` | The IP address & Port shown under that code. Only needed when the network blocks discovery. |
210
+ | `--timeout <seconds>` | How long to wait (default 300). |
211
+
212
+ Examples:
213
+
214
+ ```bash
215
+ droidsuite debug setup
216
+ droidsuite debug setup --code 123456 192.168.1.23:37123
217
+ ```
218
+
219
+ Shows a QR code for "Pair device with QR code". Camera won't scan? Type the 6-digit code while it waits. "droidsuite debug pair" does the same.
220
+
221
+ ## debug connect
222
+
223
+ Connect adb to the IP address & Port shown on the phone.
224
+
225
+ ```
226
+ droidsuite debug connect <ip:port>
227
+ ```
228
+
229
+ Examples:
230
+
231
+ ```bash
232
+ droidsuite debug connect 192.168.1.23:41235
233
+ ```
234
+
235
+ For networks that block discovery. The address is at the top of the phone's Wireless debugging screen, and in DroidSuite → Settings → Debug over Wi-Fi.
236
+
237
+ ## debug usb
238
+
239
+ Android 8–10: turn on adb over Wi-Fi through a USB cable, then connect.
240
+
241
+ ```
242
+ droidsuite debug usb
243
+ ```
244
+
245
+ Examples:
246
+
247
+ ```bash
248
+ droidsuite debug usb
249
+ ```
250
+
251
+ Plug the phone in with USB debugging on, run this, then unplug. Needed again after each phone restart.
252
+
253
+ ## debug doctor
254
+
255
+ Explain why Debug over Wi-Fi doesn't connect, and what to do.
256
+
257
+ ```
258
+ droidsuite debug doctor
259
+ ```
260
+
261
+ Examples:
262
+
263
+ ```bash
264
+ droidsuite debug doctor
265
+ ```
266
+
267
+ Checks adb, what the network shows, and what Live phones report (Android version, Wireless debugging port). Paste its output when reporting a problem.
268
+
269
+ ## debug install
270
+
271
+ Install adb (Google's Android SDK Platform-Tools) for droidsuite.
272
+
273
+ ```
274
+ droidsuite debug install [--yes]
275
+ ```
276
+
277
+ | Option | Meaning |
278
+ |---|---|
279
+ | `-y, --yes` | Accept the Platform-Tools license without asking. |
280
+
281
+ Examples:
282
+
283
+ ```bash
284
+ droidsuite debug install
285
+ ```
286
+
287
+ Installs into %LOCALAPPDATA%\droidsuite (Windows) or ~/.droidsuite. Set DROIDSUITE_HOME to use another folder.
288
+
289
+ ## debug path
290
+
291
+ Add adb to your PATH so typing "adb" works in new terminals.
292
+
293
+ ```
294
+ droidsuite debug path
295
+ ```
296
+
297
+ Examples:
298
+
299
+ ```bash
300
+ droidsuite debug path
301
+ ```
302
+
303
+ Windows: your user PATH only, no admin rights. macOS/Linux: one line in your shell profile. Safe to run twice.
304
+
305
+ ## adb
306
+
307
+ Run adb, even when it isn't on PATH.
308
+
309
+ ```
310
+ droidsuite adb <adb arguments...>
311
+ ```
312
+
313
+ Examples:
314
+
315
+ ```bash
316
+ droidsuite adb devices
317
+ droidsuite adb logcat -s MyApp
318
+ ```
319
+
320
+ ## shortcut
321
+
322
+ Add a "DroidSuite" icon that starts the server and opens its page.
323
+
324
+ ```
325
+ droidsuite shortcut [--desktop]
326
+ ```
327
+
328
+ | Option | Meaning |
329
+ |---|---|
330
+ | `--desktop` | Also put the icon on the desktop. |
331
+
332
+ Examples:
333
+
334
+ ```bash
335
+ droidsuite shortcut --desktop
336
+ ```
337
+
338
+ No terminal window: the icon opens the page in your browser, and the page does everything (Stop is on it too). Windows: "DroidSuite" in the Start menu (and on the desktop), plus "DroidSuite menu" for the text menu. macOS: a "DroidSuite" app on the desktop. Linux: "DroidSuite" in the applications menu. The installers do this for you.
339
+
340
+ ## skill
341
+
342
+ Teach AI coding agents (Claude Code, Codex, Gemini CLI, Cursor and others) to use droidsuite, in every project.
343
+
344
+ ```
345
+ droidsuite skill [--project | --dir <folder>] [--print]
346
+ ```
347
+
348
+ | Option | Meaning |
349
+ |---|---|
350
+ | `--project` | Install only into the current project instead of for every project on this computer. |
351
+ | `--global` | Every project on this computer. This is the default. |
352
+ | `--dir <folder>` | Install into another skills folder, for an agent that reads skills from somewhere else. |
353
+ | `--print` | Only print where the bundled skill is. |
354
+
355
+ Examples:
356
+
357
+ ```bash
358
+ droidsuite skill # every project on this computer, for every agent
359
+ droidsuite skill --project # only this project (commit it to share)
360
+ droidsuite skill --dir ~/.my-agent/skills
361
+ ```
362
+
363
+ The installer offers this when it finds an AI agent on your computer. Always installs into .agents/skills and .claude/skills, and into the folders of Gemini CLI, Antigravity, Cursor, GitHub Copilot, Windsurf, Qwen Code and Amp when they are on this computer. The skill shows an agent how to install builds on your phone, read logcat and screenshots over Wi-Fi, and move files, and which steps need you (pairing, Allow, PIN). Run it again after updating droidsuite or adding an agent.
364
+
365
+ ## help
366
+
367
+ Show all commands, or the details of one.
368
+
369
+ ```
370
+ droidsuite help [command]
371
+ ```
372
+
373
+ Examples:
374
+
375
+ ```bash
376
+ droidsuite help
377
+ droidsuite help serve
378
+ droidsuite serve --help
379
+ ```
380
+
381
+ ## Environment variables
382
+
383
+ | Variable | Meaning |
384
+ |---|---|
385
+ | `DROIDSUITE_HOME` | Folder for droidsuite's own adb copy (default %LOCALAPPDATA%\droidsuite or ~/.droidsuite). |
386
+ | `DROIDSUITE_CONFIG` | Pairing identity file (default ~/.droidsuite.json). |
387
+ | `ANDROID_HOME` | Android SDK folder; its adb is used first when present. |
388
+ | `NO_COLOR` | Turn off colours in the output. |
389
+
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mahmoud Helmy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,38 @@
1
- # Temporary Holding Version
1
+ # droidsuite
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Command-line companion for the **DroidSuite** Android app. Install APKs on your phone over Wi-Fi (pair once with a QR code), swap any files with it, and debug it from Android Studio without a cable.
4
+
5
+ Install (also offers to set up adb for Wi-Fi debugging):
6
+
7
+ ```bash
8
+ # Windows: Win+R (or Command Prompt / PowerShell), paste, Enter
9
+ powershell -NoExit -ExecutionPolicy Bypass -Command "irm https://cdn.jsdelivr.net/npm/droidsuite/install.ps1 | iex"
10
+ # macOS / Linux
11
+ curl -fsSL https://cdn.jsdelivr.net/npm/droidsuite/install.sh | sh
12
+ # or, with Node.js 20+ already installed
13
+ npx droidsuite@latest setup
14
+ ```
15
+
16
+ ```bash
17
+ droidsuite serve # inside an Android project: shows a QR code and pushes every new build
18
+ droidsuite push design.png # any file to your paired phone (while serve runs); Share → DroidSuite sends back
19
+ droidsuite send app.apk # upload to a phone that has Receive mode open (other files are saved)
20
+ droidsuite get # download the files a phone in Receive mode offers
21
+ droidsuite devices # list phones in Receive mode
22
+ droidsuite debug setup # once: turn on, pair (QR or 6-digit code), connect (Android 11+)
23
+ droidsuite debug # connect adb over Wi-Fi, for Android Studio and logcat
24
+ droidsuite debug connect <ip:port> # when the network blocks discovery
25
+ droidsuite debug usb # Android 8–10: USB once, then Wi-Fi
26
+ droidsuite debug doctor # why it doesn't connect, and what to do
27
+ droidsuite debug install # install adb (Google platform-tools) if you don't have it
28
+ droidsuite debug path # add adb to your PATH so typing adb works in new terminals
29
+ droidsuite adb devices # run adb even when it isn't on PATH
30
+ # http://localhost:8765 (while serve runs): see and use the phone's screen live
31
+ droidsuite skill # teach your AI coding agent (Claude Code, Codex, Gemini CLI…) to use all of the above
32
+ ```
33
+
34
+ Type `droidsuite` on its own for a menu. All commands and options: [COMMANDS.md](https://cdn.jsdelivr.net/npm/droidsuite/COMMANDS.md) or `droidsuite help <command>`.
35
+
36
+ The phone app comes with it: run `droidsuite serve` and scan **Get the phone app** at http://localhost:8765 with your phone's camera.
37
+
38
+ <sub>Made by Mahmoud Helmy · MIT</sub>
Binary file
Binary file
Binary file
Binary file