hirocli stores workspace metadata in a global registry, then keeps runtime and identity files inside each workspace folder.
Default storage locations
Registry base directory is the platform app data directory forhirocli.
- Windows:
%LOCALAPPDATA%\\hirocli - macOS:
~/Library/Application Support/hirocli - Linux:
~/.local/share/hirocli
<app_data>/hirocli/registry.json
<app_data>/hirocli/workspaces/<workspace_name>/
Folder structure
registry.json format
registry.json tracks all workspaces and their slot-based port assignment. The dict key is the workspace UUID id. default_workspace stores the id of the default workspace.
Port derivation
4 ports are reserved per slot. For a workspace with slots and default port_range_start = 18080:
| Port | Formula |
|---|---|
http_port | port_range_start + s * 4 |
plugin_port | port_range_start + s * 4 + 1 |
| (+2 reserved) | — |
admin_port | port_range_start + s * 4 + 3 |
- slot
0→ http=18080, plugin=18081, admin=18083 - slot
1→ http=18084, plugin=18085, admin=18087
config.json format
config.json stores workspace-level server and identity configuration.
Notes
log_dir: ""means default workspace logs directory (<workspace>/logs).master_key_fileis resolved relative to the workspace folder.
state.json format
state.json stores runtime connectivity metadata.
last_connected is ISO 8601 UTC when present.
hirocli.pid
hirocli.pid stores the active background process ID for the workspace.
- created on background
hirocli start - removed on successful
hirocli stop - cleaned when stale PID is detected
Scope boundary with gateway files
Gateway instance files are managed byhirogateway, not by hirocli.
- Gateway docs:
/gateway-storage
