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.
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 system capabilities. |
connectivity | — | Network connectivity tests for an application. |
ai | — | Set up a local Ollama instance and optionally publish it. |
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 |
|---|---|
--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. |
--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”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.