unified-tvdevelopment-cli 1.0.1-beta.0 → 1.0.1
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/LICENSE +21 -0
- package/README.md +255 -1
- package/dist/cli.mjs +41177 -733
- package/install.ps1 +119 -29
- package/install.sh +115 -64
- package/package.json +3 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Fernando Augusto Haeser
|
|
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 +1,255 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TV Dev Manager
|
|
2
|
+
|
|
3
|
+
> Universal TUI for Smart TV development — LG webOS · Samsung Tizen · Amazon Fire TV · Android TV
|
|
4
|
+
|
|
5
|
+
A single terminal interface to manage devices, build, package, deploy, inspect logs, transfer files, and run shell commands across all major Smart TV platforms.
|
|
6
|
+
|
|
7
|
+
 
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Requirements
|
|
12
|
+
|
|
13
|
+
- **Node.js** ≥ 18
|
|
14
|
+
- Platform CLI tools installed and on `PATH`:
|
|
15
|
+
|
|
16
|
+
| Platform | Required Tools |
|
|
17
|
+
|---|---|
|
|
18
|
+
| LG webOS | [`ares-cli`](https://webostv.developer.lge.com/develop/tools/cli-introduction) |
|
|
19
|
+
| Samsung Tizen | [`tizen`](https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html) + `sdb` |
|
|
20
|
+
| Amazon Fire TV | `adb` + [`inputd-cli`](https://developer.amazon.com/docs/fire-tv/remote-input.html) |
|
|
21
|
+
| Android TV | `adb` + `gradle` / Android SDK |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
**One-liner (macOS / Linux):**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
curl -fsSL https://raw.githubusercontent.com/FernandoHaeser/unified-tvdevelopment-cli/main/install.sh | bash
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Beta channel:**
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
curl -fsSL https://raw.githubusercontent.com/FernandoHaeser/unified-tvdevelopment-cli/main/install.sh | bash -s -- --beta
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Windows (PowerShell):**
|
|
40
|
+
|
|
41
|
+
```powershell
|
|
42
|
+
irm https://raw.githubusercontent.com/FernandoHaeser/unified-tvdevelopment-cli/main/install.ps1 | iex
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Via npm:**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g unified-tvdevelopment-cli
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Usage
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
tvdev
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
On launch, select your target platform. The TUI opens with a sidebar listing all available screens for that platform.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Navigation
|
|
64
|
+
|
|
65
|
+
| Key | Action |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `↑` / `↓` | Move cursor |
|
|
68
|
+
| `Enter` | Select / confirm |
|
|
69
|
+
| `Esc` | Back / return to sidebar |
|
|
70
|
+
| `p` | Switch platform (from sidebar) |
|
|
71
|
+
| `q` | Quit |
|
|
72
|
+
|
|
73
|
+
> All screens are keyboard-driven. No mouse required.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Screens
|
|
78
|
+
|
|
79
|
+
### Dashboard
|
|
80
|
+
Overview of connected devices and installed apps. Quick-action shortcuts `[1]`–`[6]` jump directly to any screen, or use `↑↓` + `Enter`.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### Devices
|
|
85
|
+
|
|
86
|
+
Manage TV devices / emulator connections.
|
|
87
|
+
|
|
88
|
+
| Platform | Actions |
|
|
89
|
+
|---|---|
|
|
90
|
+
| **webOS** | Add device (name, host, SSH port, username, password) · Remove · Set default · Refresh |
|
|
91
|
+
| **Tizen** | Connect via SDB (host, port) · Disconnect · Refresh |
|
|
92
|
+
| **Fire TV** | Connect via ADB (host, port) · Disconnect · Set active · Refresh |
|
|
93
|
+
| **Android TV** | Connect via ADB (host, port) · Disconnect · Set active · Refresh |
|
|
94
|
+
|
|
95
|
+
Keys: `[a]` add/connect · `[d]` remove/disconnect · `[s]` set default (webOS) · `[r]` refresh · `Enter` set active (ADB platforms)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Generate App _(webOS, Tizen)_
|
|
100
|
+
|
|
101
|
+
Scaffold a new app from official templates.
|
|
102
|
+
|
|
103
|
+
1. Pick a template (`↑↓` + `Enter`)
|
|
104
|
+
2. Fill in the form fields (`Tab` / `Enter` to advance, `Esc` to go back)
|
|
105
|
+
3. App is generated in the specified output directory
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### Package & Deploy / Install APK
|
|
110
|
+
|
|
111
|
+
Build, package, and install an app to a connected device.
|
|
112
|
+
|
|
113
|
+
**webOS / Tizen:** Enter source directory → auto-packages to `.ipk` / `.wgt` → confirm install → optionally launch.
|
|
114
|
+
|
|
115
|
+
**Fire TV / Android TV:** Enter APK path → confirm install → optionally launch.
|
|
116
|
+
|
|
117
|
+
Keys: `Enter` advance · `[y]` / `[n]` confirm prompts · `[r]` restart
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### Build _(Android TV, Tizen)_
|
|
122
|
+
|
|
123
|
+
Run Gradle or Tizen build tasks directly from the TUI.
|
|
124
|
+
|
|
125
|
+
| Platform | Tasks |
|
|
126
|
+
|---|---|
|
|
127
|
+
| **Android TV** | Debug Build · Release Build · Run Tests · Clean |
|
|
128
|
+
| **Tizen** | Build Web App · Package → .wgt |
|
|
129
|
+
|
|
130
|
+
Select task → enter project directory → `Enter` to build.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### App Manager
|
|
135
|
+
|
|
136
|
+
List, launch, stop, and uninstall apps on the connected device.
|
|
137
|
+
|
|
138
|
+
| Symbol | Meaning |
|
|
139
|
+
|---|---|
|
|
140
|
+
| `▶ RUN` | App is running |
|
|
141
|
+
| `■ STOP` | App is stopped |
|
|
142
|
+
|
|
143
|
+
Keys: `↑↓` navigate · `Enter` / `[l]` launch or stop · `[d]` uninstall · `[r]` refresh
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### Log Viewer
|
|
148
|
+
|
|
149
|
+
Live log stream from the connected device (tail-follows output).
|
|
150
|
+
|
|
151
|
+
Keys: `[p]` pause/resume · `[c]` clear · `[r]` restart stream
|
|
152
|
+
|
|
153
|
+
Color-coded output: errors in red, warnings in yellow.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### File Transfer
|
|
158
|
+
|
|
159
|
+
Push files to or pull files from the device.
|
|
160
|
+
|
|
161
|
+
1. `[p]` push (host → device) or `[l]` pull (device → host)
|
|
162
|
+
2. Enter source path → `Enter`
|
|
163
|
+
3. Enter destination path → `Enter` to transfer
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### Shell
|
|
168
|
+
|
|
169
|
+
Run arbitrary shell commands on the connected device.
|
|
170
|
+
|
|
171
|
+
- Type command and press `Enter`
|
|
172
|
+
- `↑` / `↓` navigate command history
|
|
173
|
+
- `Ctrl+C` clear output
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
### Inspector _(webOS)_
|
|
178
|
+
|
|
179
|
+
Launch `ares-inspect` for a selected app. Opens the Web Inspector URL for debugging in a browser.
|
|
180
|
+
|
|
181
|
+
For other platforms, shows step-by-step debug setup instructions (Chrome DevTools, ADB forwarding, etc.).
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
### Input Simulator _(Amazon Fire TV)_
|
|
186
|
+
|
|
187
|
+
Send remote control key events to a Fire TV device via `inputd-cli`.
|
|
188
|
+
|
|
189
|
+
- `↑↓` select key group · `→` / `Enter` enter key list
|
|
190
|
+
- `↑↓` select key · `Enter` send
|
|
191
|
+
- `←` / `Esc` back to groups
|
|
192
|
+
|
|
193
|
+
Groups: Navigation · System · Media · Volume · Numbers
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
### Emulator _(Tizen, Android TV)_
|
|
198
|
+
|
|
199
|
+
List and launch AVDs / Tizen emulators.
|
|
200
|
+
|
|
201
|
+
Keys: `↑↓` select · `Enter` launch · `[r]` refresh
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Platform Screen Matrix
|
|
206
|
+
|
|
207
|
+
| Screen | webOS | Tizen | Fire TV | Android TV |
|
|
208
|
+
|---|:---:|:---:|:---:|:---:|
|
|
209
|
+
| Dashboard | ✓ | ✓ | ✓ | ✓ |
|
|
210
|
+
| Devices | ✓ | ✓ | ✓ | ✓ |
|
|
211
|
+
| Generate App | ✓ | ✓ | | |
|
|
212
|
+
| Package & Deploy | ✓ | ✓ | ✓ | ✓ |
|
|
213
|
+
| Build | | ✓ | | ✓ |
|
|
214
|
+
| App Manager | ✓ | ✓ | ✓ | ✓ |
|
|
215
|
+
| Log Viewer | ✓ | ✓ | ✓ | ✓ |
|
|
216
|
+
| File Transfer | ✓ | ✓ | ✓ | ✓ |
|
|
217
|
+
| Shell | ✓ | ✓ | ✓ | ✓ |
|
|
218
|
+
| Web Inspector | ✓ | | ✓* | ✓* |
|
|
219
|
+
| Input Simulator | | | ✓ | |
|
|
220
|
+
| Emulator | | ✓ | | ✓ |
|
|
221
|
+
|
|
222
|
+
_* Inspector screen shows platform debug setup guide_
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Development
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Clone
|
|
230
|
+
git clone https://github.com/FernandoHaeser/unified-tvdevelopment-cli
|
|
231
|
+
cd unified-tvdevelopment-cli
|
|
232
|
+
|
|
233
|
+
# Install dependencies
|
|
234
|
+
npm install
|
|
235
|
+
|
|
236
|
+
# Build and run
|
|
237
|
+
npm run dev
|
|
238
|
+
|
|
239
|
+
# Build only
|
|
240
|
+
npm run build
|
|
241
|
+
|
|
242
|
+
# Tests
|
|
243
|
+
npm test
|
|
244
|
+
npm run test:unit
|
|
245
|
+
npm run test:integration
|
|
246
|
+
npm run test:coverage
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Built with [Ink](https://github.com/vadimdemedes/ink) (React for CLIs) + [esbuild](https://esbuild.github.io/).
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## License
|
|
254
|
+
|
|
255
|
+
MIT
|