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, edgible dev health) and most accept --json for machine-readable output.

NounAliasesWhat it does
authLog in, log out, switch organizations.
agentInstall, 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.
stackDeploy, 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.
profileManage login profiles (account × environment).
envSwitch the active environment.
whoamiShow the active profile, environment, account, and organization.
configRead and write CLI configuration.
discoverDetect local container/VM tooling and system capabilities.
connectivityNetwork connectivity tests for an application.
aiSet up a local Ollama instance and optionally publish it.
certsShow TLS certificate status per hostname across your applications.
doctorDiagnose 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
--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.
--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
WindowsNot 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

Most commands run as your normal user. The few that need root are agent lifecycle commands (agent install, agent start, agent stop, agent uninstall) — these touch systemd, WireGuard, and iptables. The CLI will tell you to re-run with sudo if you forget.