@quicktvui/ai-cli
v1.1.6
Published
CLI for installing and validating QuickTVUI AI skills
Readme
@quicktvui/ai-cli
QuickTVUI skill runtime CLI.
Install
npm install -g @quicktvui/ai-cli @quicktvui/ai-skillsStarting from @quicktvui/[email protected], global install/upgrade auto-runs
quicktvui-ai update to sync:
~/.agents/skills/quicktvui~/.gemini/GEMINI.mdbridge block~/.gemini/settings.jsoncontext file names
Set QUICKTVUI_AI_SKIP_POSTINSTALL=1 to disable auto-sync.
Commands
quicktvui-ai init
quicktvui-ai doctor
quicktvui-ai validate
quicktvui-ai update
quicktvui-ai create-project quick-tv-app
quicktvui-ai setup-vue-env --project ./quick-tv-app
quicktvui-ai setup-android-env --project ./quick-tv-app
quicktvui-ai setup-all-env --project ./quick-tv-app
quicktvui-ai run-dev --project ./quick-tv-app
quicktvui-ai run-esapp --project ./quick-tv-app --pkg es.hello.world
quicktvui-ai prompt --lang zh
# alias commands for create-project
quicktvui-ai-create-project quick-tv-app
quicktvui-aicreate-project quick-tv-appDefault install path
~/.agents/skills/quicktvui
Options
--dir <path>: custom skill path--project <path>: custom project root for rule checks--dest <path>: destination base directory forcreate-project--offline: use bundled template directly forcreate-project--skip-install: skip dependency install forcreate-project--strict: fail on doctor check issues--lang <code>: prompt language forpromptcommand (zhoren)--gemini-dir <path>: custom Gemini config directory (default~/.gemini, or$GEMINI_CLI_HOME/.gemini)--skip-gemini-config: skip updating Gemini bridge config duringinit/update--node-major <n>: target Node.js LTS major forsetup-vue-env(default20)--skip-node-install: skip Node.js install stage insetup-vue-env--force-node-install: force Node.js install stage insetup-vue-env--skip-yarn-install: skip yarn global install insetup-vue-env--skip-project-install: skip project dependency install insetup-vue-env--auto-emulator <true|false>: auto create/start emulator when no adb device--adb-path <path>: custom adb path/command (or use envQUICKTVUI_ADB_PATH)--device-ip <ip[:port]>: preferred real device endpoint foradb connect--device <serial>: explicit target adb serial forsetup-android-env/run-esapp--allow-non-tv-device <true|false>: allow phone/tablet target for TV run flow (defaultfalse)--avd-name <name>: custom AVD name forsetup-android-env--headless: start emulator with-no-window -no-audio--runtime-version <version>: pin runtime version indirectmode--runtime-url <url>: use custom runtime apk url indirectmode--server-host <ip>: override debug server host IP--force-runtime-install: force reinstall runtime indirectmode--skip-runtime-setup: skip runtime setup insetup-android-env/run-dev--auto-load-local-bundle <true|false>: auto trigger runtime to load local bundle inrun-dev--port <n>: dev server port used byrun-devauto load (default38989)--skip-env-check: skip environment stage inrun-dev--runtime-package <pkg>: runtime package forrun-esapp(defaultcom.extscreen.runtime)--esapp-uri <uri>: raw launch URI (esapp://)--esapp-query <json>: extra query params JSON merged in structured mode--pkg --ver --min-ver --repository --uri --from --args --exp --flags --use-latest: structuredesapp://action/startparams
Typical flow
quicktvui-ai init
quicktvui-ai doctorThen reload your AI agent so it rescans local skills.
init/update also auto-maintains Gemini global context files:
- updates
~/.gemini/GEMINI.mdwith QuickTVUI@.../SKILL.mdbridge block - ensures
~/.gemini/settings.jsoncontainscontext.fileNameentries:GEMINI.md,AGENTS.md,SKILL.md,CONTEXT.md
Create project with network fallback
quicktvui-ai create-project quick-tv-appThis command:
- Tries to clone
quicktvui-templatefrom GitHub. - Falls back to the bundled local template if clone fails.
- Updates
package.json(name,version). - Ensures
@quicktvui/aiexists indevDependencies. - Installs dependencies (
yarn install, ornpm installfallback).
Configure Android env (device/emulator + runtime)
quicktvui-ai setup-android-env --project ./quick-tv-appThis command:
- Detects Android SDK root (auto creates a default SDK root when missing).
- Detects Android SDK/adb/emulator tools.
@quicktvui/ai-clidoes not bundle adb. - Verifies target device looks like TV (
leanback/televisionfeature). Use--allow-non-tv-device trueonly if you intentionally target phone/tablet. - In non-interactive mode, requires explicit
--device <serial>when adb devices are connected. - If sdkmanager/avdmanager is missing, it auto-downloads and installs official Android Command-line Tools.
- If adb is missing, it auto-installs
platform-tools(with size estimate + sdkmanager progress). - Detects connected adb devices, and asks whether to use connected device.
- If user doesn't use connected device (or no device exists), it asks for real-device IP and runs
adb connect. - If still no real device, asks whether to download/start official Google Android emulator.
- Checks Google repository reachability before emulator download; if unavailable, asks user to install emulator manually.
- Prints estimated download size and then starts sdkmanager download (progress shown by sdkmanager).
- Installs runtime APK and configures debug server host.
- If runtime already exists, asks whether to reinstall runtime before run.
- Launches runtime app and waits it enters running state.
Configure Vue env (Node + package manager)
quicktvui-ai setup-vue-env --project ./quick-tv-appThis command:
- Ensures Node.js LTS (macOS/Windows auto install).
- Ensures
yarnis installed globally. - Installs project dependencies (
yarn installornpm installfallback).
Configure All Dev Envs
quicktvui-ai setup-all-env --project ./quick-tv-appThis command runs setup-vue-env and setup-android-env sequentially.
Run development server
quicktvui-ai run-dev --project ./quick-tv-appThis command:
- Runs
setup-android-envby default. - Starts project dev script (
yarn dev,pnpm dev, ornpm run dev). - Waits for local server port (default
38989) and auto triggers runtime to load local bundle. - Supports
run-esappstructured options (--pkg/--ver/--repository/...) or--esapp-urito override auto launch URI.
Run ES app by protocol
# structured mode (recommended for AI)
quicktvui-ai run-esapp --project ./quick-tv-app --pkg es.hello.world --from cmd
# local dev bundle
quicktvui-ai run-esapp --project ./quick-tv-app --pkg es.hello.world --uri 192.168.1.10:38989
# remote repository + pinned version
quicktvui-ai run-esapp --project ./quick-tv-app --pkg liulipeng/com.zoo --ver 1.0.0 --repository http://repo.quicktvui.com/repository/rpk
# raw URI passthrough (full compatibility)
quicktvui-ai run-esapp --esapp-uri 'esapp://action/start?from=cmd&pkg=es.hello.world&uri=assets://hello.rpk'Full protocol reference: docs/esapp-protocol.md
Generate LLM install prompt
quicktvui-ai prompt --lang zhInstaller scripts
scripts/install(bash)scripts/install.ps1(PowerShell)
