CLI overview
The edgible CLI is the primary interface to the platform. It uses a <noun> <verb> structure: edgible application list, edgible device health, edgible stack deploy. Most subcommands have short aliases (edgible app list). Machine-readable output is a property of the run rather than of the verb: pass --output json (or -o json) to any command. It is also the default whenever stdout is not a terminal, so a piped command already emits JSON. The older per-command --json flags still work as spellings of --output json, but they are no longer listed in each command’s help.
The dev alias of the device noun is deprecated: it collides with --dev, edgible agent install --dev and --env dev|test|uat|prod, all of which name an environment. It still works and prints a one-line notice on stderr; use edgible device ….
The command tree
Section titled “The command tree”| Noun | Aliases | What it does |
|---|---|---|
auth | — | Log in, log out, switch organizations. |
agent | — | Install, start, stop, log into the local agent daemon. |
device | dev | List, delete, and health-check devices in your organization. |
application | app | Create, update, delete, and inspect applications. Manage API keys and short codes. |
stack | — | Deploy, tear down, validate, diff multi-application YAML files. |
secret | secrets | Manage organization secrets: set/rotate, list, get, delete. |
template | templates | Browse and deploy apps from the Edgible catalog. |
organization | org | Create and manage organizations. |
profile | — | Manage login profiles (account × environment). |
env | — | Switch the active environment. |
whoami | — | Show the active profile, environment, account, and organization. |
config | — | Read and write CLI configuration. |
discover | — | Detect local container/VM tooling and running workloads. |
connectivity | — | Network connectivity tests for an application. |
certs | — | Show TLS certificate status per hostname across your applications. |
doctor | — | Diagnose the local Edgible environment and agent health. |
Three standalone commands manage the CLI installation itself: version (show client,
server, and agent versions), upgrade, and uninstall — see
Installing the CLI below.
Global flags
Section titled “Global flags”These work on every command:
| Flag | What it does |
|---|---|
-o, --output <format> | Output format: table, json or yaml. Defaults to table on a terminal and json when stdout is piped. |
-q, --quiet | Print only the essential identifiers, for scripting. |
--no-color | Suppress ANSI color codes in output. |
--plain | Emit plain text — no colors, no emoji, no Unicode flourishes. |
--env <env> | Target a specific environment for this one command. |
--profile <name> | Use a specific named profile for this one command. |
--debug | Show stack traces and error causes on failure. |
--verbose | Verbose output; implies --debug error rendering. |
--help | Show the command’s help and exit. |
--version | Show the CLI version and exit. |
--env and --profile go before the subcommand: edgible --env dev device list.
Where credentials live
Section titled “Where credentials live”The CLI stores its state — auth tokens, active organization, device credentials — in a single JSON file:
| Platform | Path |
|---|---|
| Linux | ~/.local/share/edgible/config.json |
| macOS | ~/Library/Application Support/Edgible/config.json |
Inspect it with edgible config list. Edit it through the CLI rather than by hand — the file shape is not a stable interface.
Installing the CLI
Section titled “Installing the CLI”Install with the one-line installer:
curl -fsSL https://get.edgible.com/install.sh | bashThe CLI requires Node.js 20 or newer. If Node is missing (or too old), the installer offers to install it for you. The downloaded bundle is checksum-verified against the release manifest and activated atomically — a failed or tampered download never touches an existing install.
Supported platforms:
| Platform | Architectures | Status |
|---|---|---|
| Linux | x86_64, arm64 | Supported |
| macOS | x86_64, arm64 (Apple Silicon) | Supported |
| Windows | — | Not supported (planned) |
After install, confirm with:
edgible --versionUpgrading
Section titled “Upgrading”The CLI updates itself in place:
edgible upgrade # upgrade to the latest releaseedgible upgrade --check # just report whether an upgrade is availableUninstalling
Section titled “Uninstalling”edgible uninstallIf the CLI itself is broken, the installer script can also remove it:
curl -fsSL https://get.edgible.com/install.sh | bash -s -- --uninstallPermissions
Section titled “Permissions”Every command runs as your normal user. Nothing requires root, agent install included.
For the agent, sudo is not a permission you are missing — it is the install choice itself. Run sudo edgible agent install and you get an always-on system service that starts at boot and uses the machine’s own WireGuard and web server; run edgible agent install with no sudo and you get a service under your own account, with the agent’s bundled tunnel and web server, that changes nothing in the machine’s network settings. The command prints what your choice means on this machine and asks before it writes anything. See edgible agent install and Install the agent without sudo.