Skip to content

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

NounAliasesWhat it does
auth—Log in, log out, switch organizations.
agent—Install, start, stop, log into the local agent daemon.
devicedevList, delete, and health-check devices in your organization.
applicationappCreate, update, delete, and inspect applications. Manage API keys and short codes.
stack—Deploy, tear down, validate, diff multi-application YAML files.
secretsecretsManage organization secrets: set/rotate, list, get, delete.
templatetemplatesBrowse and deploy apps from the Edgible catalog.
organizationorgCreate 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.

These work on every command:

FlagWhat it does
-o, --output <format>Output format: table, json or yaml. Defaults to table on a terminal and json when stdout is piped.
-q, --quietPrint only the essential identifiers, for scripting.
--no-colorSuppress ANSI color codes in output.
--plainEmit 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.
--debugShow stack traces and error causes on failure.
--verboseVerbose output; implies --debug error rendering.
--helpShow the command’s help and exit.
--versionShow the CLI version and exit.

--env and --profile go before the subcommand: edgible --env dev device list.

The CLI stores its state — auth tokens, active organization, device credentials — in a single JSON file:

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

Install with the one-line installer:

Terminal window
curl -fsSL https://get.edgible.com/install.sh | bash

The 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:

PlatformArchitecturesStatus
Linuxx86_64, arm64Supported
macOSx86_64, arm64 (Apple Silicon)Supported
Windows—Not supported (planned)

After install, confirm with:

Terminal window
edgible --version

The CLI updates itself in place:

Terminal window
edgible upgrade # upgrade to the latest release
edgible upgrade --check # just report whether an upgrade is available
Terminal window
edgible uninstall

If the CLI itself is broken, the installer script can also remove it:

Terminal window
curl -fsSL https://get.edgible.com/install.sh | bash -s -- --uninstall

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.