CLI commands
Every command and flag the CLI has today. Commands that take an app use the one in the current folder when you leave it out.
Run any command with npx dukoi, or install it once with npm i -g dukoi.
Pairing
- pair
- Find a phone on this Wi-Fi and link it to this computer.
--host 192.168.0.112skips the search,--name kitchennames it. - devices
- List paired phones. The dot marks the last one used.
- unpair [phone]
- Forget a phone, and ask it to forget this computer.
Apps
- deploy [folder]
- Ship an app to the phone. The folder defaults to this one.
--namesets the app’s name,--no-health-checkis for apps that open no port. - start [app]
- Start an app.
- stop [app]
- Stop an app. It stays stopped after a reboot.
- restart [app]
- Restart an app.
- releases [app]
- List the last 5 releases.
- rollback [app]
- Go back to the previous release.
--to 0002picks another. - remove [app]
- Delete an app with its releases, data and logs. Asks first;
--yesskips that. - expose [app]
- Give an app a public HTTPS URL.
--domain api.example.comuses your domain,--offremoves it.
Watching
- ps
- Every app: status, CPU, memory, uptime, restarts and URL.
- logs [app]
- The last 100 lines, then live.
--lines 500for more,--no-followto print and exit. - status
- Phone health: memory, storage, load, uptime and address.
- dashboard
- Open the web dashboard on this computer.
--no-openskips the browser.
Options for every command
- --device <name>
- Which phone. Defaults to the last one used.
- --json
- One JSON object on stdout, for scripts and AI agents.
- --help, -h
- Show help.
- --version, -v
- Show the version.
Exit codes and errors
0 means it worked, 1 means the command failed and 2 means it was typed wrong. With --json, errors come back as { "ok": false, "error": { "code", "message", "hint" } }, and the codes don’t change between versions.