@evenrealities/evenhub-cli
v0.1.14
Published
Command-line interface for EvenHub development and app management.
Readme
EvenHub CLI
Command-line interface for EvenHub development and app management.
Quick Start
For development mode with the Even app, the qr command is the only command you need in this phase.
Commands
qr - Generate QR Code
Generate a QR code for your development server URL. This is the primary command for using dev mode with the Even app.
Basic usage:
evenhub qrThe command will automatically detect your local IP address and prompt you for the port and path. On subsequent runs, it will remember your previous settings.
Options:
-u, --url <url>- Provide a full URL directly (overrides other options)-i, --ip <ip>- Specify the IP address or hostname-p, --port [port]- Specify the port (leave empty for no port)--path <path>- Specify the URL path--https- Use HTTPS instead of HTTP--http- Use HTTP instead of HTTPS-e, --external- Open QR code in an external program instead of terminal-s, --scale <scale>- Scale factor for external QR code (default: 4)--clear- Clear cached scheme, IP, port, and path settings
Examples:
# Generate QR code with auto-detected IP
evenhub qr
# Generate QR code for a specific URL
evenhub qr --url http://192.168.1.100:3000
# Generate QR code with specific IP and port
evenhub qr --ip 192.168.1.100 --port 3000
# Open QR code externally
evenhub qr --externalinit - Initialize Project
Initialize a new project with a basic app.json configuration file.
Usage:
evenhub init [options]Options:
-d, --directory <directory>- Directory to create the project in (default:./)-o, --output <output>- Output file path (takes precedence over--directory, default:./app.json)
Example:
evenhub init
evenhub init --directory ./my-app
evenhub init --output ./config/app.jsonlogin - Login to EvenHub
Log in using your Even Realities account (same one used in app). Credentials are saved locally for future use.
Usage:
evenhub login [options]Options:
-e, --email <email>- Your email address
Example:
evenhub login
evenhub login --email [email protected]pack - Pack Project
Pack your project into an .ehpk file ready for app creation/submit.
Usage:
evenhub pack <json> <project> [options]Arguments:
<json>- Path to yourapp.jsonmetadata file<project>- Path to your built project folder (e.g.,dist,build)
Options:
-o, --output <output>- Output file name (default:out.ehpk)--no-ignore- Include hidden files (those starting with.)-c, --check- Check if the package ID is available--sdk-ver <version>- Use the minimum app version required by the specified SDK release--enforce-manual-version- Stampmin_app_versionfromapp.jsonas written, even when it is below the SDK requirement
Example:
evenhub pack app.json ./dist
evenhub pack app.json ./build --output my-app.ehpk
evenhub pack app.json ./dist --check
evenhub pack app.json ./dist --sdk-ver 0.0.13During packing, the CLI obtains the SDK's minAppVersion from npm and stamps
it into the packaged manifest. Without --sdk-ver, it uses the latest
published SDK. If app.json declares a higher min_app_version, that stricter
value is preserved; a lower value is raised to the SDK floor. The source
app.json remains unchanged.
If npm cannot be reached, the CLI warns and falls back to its bundled
release-time mapping. --enforce-manual-version requires min_app_version in
app.json. A value below the SDK requirement may cause the package to fail on
older app versions.
An .ehpk cannot currently be opened or run directly. To test one on a
device, upload it through the EvenHub site, then open it from the Even app on
your phone.
Shell Completion
Scripts cover both evenhub and its eh alias.
# bash — source from .bashrc
evenhub --completion-bash > ~/.evenhub-completion.bash
# zsh — any directory on your fpath
evenhub --completion-zsh > ~/.zfunc/_evenhub
# fish — needs a second file, since fish autoloads by command name
evenhub --completion-fish > ~/.config/fish/completions/evenhub.fish
echo 'complete -c eh -w evenhub' > ~/.config/fish/completions/eh.fishCHANGELOG
0.1.14 (2026-08-06)
- derive and stamp
min_app_versionfrom SDK npm metadata during packing - add
--sdk-verand the--enforce-manual-versioncompatibility override - add shell completion support for both
evenhubandeh - return a failing exit status when packing fails
0.1.13
- add TERM/COLORTERM detection for printing qrcode in terminal
0.1.12
- now uses
qrcode-terminalfor terminal qrcode andqr-imagefor external qrcode. - fix login command (not super useful at this time though)
0.1.11
- fix packing issue in windows
0.1.10 (2026-03-23)
- small restriction adjustments to app.json
0.1.9 (2026-03-21)
- adjust app.json size limits
0.1.8 (2026-03-19)
- adjust app.json format
0.1.7 (2026-03-13)
- fix '-d' option for init command
0.1.6 (2026-03-12)
- adjust app.json file format
