Skip to content
Hoplite
Theme

Begin typing to search this site.

CLI reference

Pre-release interface
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
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.

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
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.

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.

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