You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a -i / --interactive flag that launches a guided terminal wizard
for first-time users. The wizard walks through password, port, access
mode (tunnel type and visibility), and log level, then starts the server
with the chosen config.
Key changes:
- Extract prompt helpers (color, ask, choose, confirm) from service.js
into src/prompts.js so both the service install wizard and the new setup
wizard can share them
- Add src/interactive.js with the wizard flow (runs in an alternate
screen buffer)
- Port validation clamped to 1-65535, passwords masked in summary output
- Alternate screen buffer cleaned up on Ctrl+C
- Docs updated: architecture, configuration, getting-started, README,
landing page, MkDocs index
Closes#71
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@@ -99,6 +103,14 @@ Handles automatic installation of the DevTunnel CLI when it's not found on the s
99
103
100
104
Manages TermBeam as a background service via PM2. Provides an interactive wizard for `termbeam service install` that walks through configuration (name, password, port, access mode, working directory, log level, boot auto-start). Also handles `service status`, `logs`, `restart`, and `uninstall` subcommands. Generates an ecosystem config file at `~/.termbeam/ecosystem.config.js`.
101
105
106
+
### `interactive.js` — Setup Wizard
107
+
108
+
Runs a step-by-step terminal wizard (in an alternate screen buffer) that walks the user through password, port, access mode, and log level configuration. Returns a config object compatible with `createTermBeamServer()`. Invoked by `bin/termbeam.js` when `--interactive` is passed. Uses prompt primitives from `prompts.js`.
109
+
110
+
### `prompts.js` — Terminal Prompts
111
+
112
+
Provides ANSI color helpers (`green`, `yellow`, `red`, `cyan`, `bold`, `dim`) and interactive prompt functions (`ask`, `choose`, `confirm`, `createRL`). Extracted from `service.js` so both the service install wizard and the interactive setup wizard can share the same prompt primitives.
113
+
102
114
### `version.js` — Version Detection
103
115
104
116
Smart version that shows `1.0.0` for npm installs and `1.0.0-dev (git-hash)` for local development.
0 commit comments