CLI reference
Pre-release interface
Top-level commands
Section titled “Top-level commands”| Command | Purpose |
|---|---|
hoplite |
Open the development console |
hoplite version |
Print the Hoplite version |
hoplite eval EXPR |
Evaluate one Hara expression |
hoplite run FILE |
Run a HAL source file |
hoplite auth … |
Initialize and inspect Hoplite-owned authentication |
hoplite package … |
Build, inspect, and install deterministic .harp archives |
hoplite serve … |
Check, build, or operate an application project |
Serve syntax
Section titled “Serve syntax”hoplite serve [--profile NAME] [--mode dev|prod] [PROJECT]hoplite serve <foreground|install|uninstall|status|reload|stop|build|check> [--profile NAME] [--mode dev|prod] [PROJECT]With no explicit serve action, hoplite serve performs start.
Serve actions
Section titled “Serve actions”| Action | Behavior |
|---|---|
start |
Build as needed and start the embedded Nginx process |
foreground |
Run Nginx in the foreground |
install |
Install a macOS LaunchAgent |
uninstall |
Remove the macOS LaunchAgent |
status |
Report whether the project process is running |
reload |
Ask Nginx to reload the built configuration |
stop |
Stop the project process |
build |
Generate application and Nginx build output |
check |
Load and validate the selected application without serving |
Options
Section titled “Options”| Option | Values | Default |
|---|---|---|
--profile NAME |
A key from :project/profiles |
:project/default-profile |
--mode MODE |
dev or prod |
dev |
PROJECT |
Project directory | Current project context |
Unexpected arguments, missing option values, and modes other than dev or prod are rejected.
Authentication commands
Section titled “Authentication commands”hoplite auth init [PROJECT]hoplite auth enroll BOOTSTRAP_TOKEN ED25519_PUBLIC_KEY_HEX [PROJECT]hoplite auth serve [--listen 127.0.0.1:9090] [PROJECT]hoplite auth status [PROJECT]init creates the private SQLite control store and prints a single-use token
that expires after 15 minutes. enroll binds the first management administrator
to an Ed25519 device key. Once a management user exists, init does not issue
another bootstrap token.
serve exposes the management authentication API. It accepts loopback
addresses only; attempts to bind a wildcard or non-loopback address are
rejected before the socket is opened.
Environment
Section titled “Environment”| Variable | Purpose |
|---|---|
HOPLITE_NGINX |
Select an external development Nginx executable instead of the embedded binary |
HOPLITE_STATE_DIR |
Override the directory containing control.db; containers use /var/lib/hoplite |
HOPLITE_MANAGEMENT_LISTEN |
Foreground management socket; defaults to 127.0.0.1:9090, accepts loopback addresses or off |
Use HOPLITE_NGINX deliberately; normal installations should use the embedded host.
Source: src/main.rs