Skip to Content
DocsInstallOverview

Install

CMDOP ships as one Go core wrapped in different surfaces. They share state — the same daemon, the same workspace credentials, the same audit log. Pick the surface(s) that match where you actually work; you can always add more later.

Pick your install

What lands on disk, regardless of surface

Every CMDOP install creates the same per-user directory the first time the binary runs:

PathModeWhat
~/.cmdop/cmdop.pid0644Per-euid PID file for the daemon.
~/.cmdop/daemon.status0644Status the desktop / cmdop agent status watches.
~/.cmdop/cmdop.db0600Local SQLite — backlog, sessions, machine identity.
~/.cmdop/ssh_workspaces.json0600Workspace credential store.
~/.cmdop/permissions.yaml0600Permission rules (created on first remote call).
~/.cmdop/skills/0700Global skills directory.

Logs live under the platform log directory:

PlatformLog dir
macOS~/Library/Logs/cmdop/
Linux~/.cache/cmdop/logs/
Windows%LOCALAPPDATA%\cmdop\logs\

Common combinations

SetupRecommended
Solo dev, one laptop and one VPSDesktop on the laptop, headless agent on the VPS.
Team dev, MacBook + Mac Studio + VPSDesktop on each Mac, headless agent on the VPS.
Pure-CLI workflowCLI everywhere, with cmdop service install on long-lived hosts.
Mobile-first opsDesktop on the laptop + mobile companion.

Updating

The daemon checks for updates daily and stages them. Apply with:

cmdop update # check + prompt cmdop update apply # apply the staged binary

The desktop app surfaces the same prompt in the Settings tab.

After install

Last updated on