updated
One curl. Then dc.
curl --with-cli installs the latest release: compiled dc-tui and dc-actions. A source install builds both when Go is on PATH; without Go, shell fallback. Then source ~/.bashrc or source ~/.zshrc.
Needs bash 4+. Docker can be missing at install time — helpers still install and print a Host Docker readiness block (never auto-installs an engine). Official @devcontainers/cli is required only for kind=devcontainer folders. Compose-only folders start via dc-up → Compose (docker compose or docker-compose). Release kits and Homebrew include the clickable TUI (logo splash, start/shell/stop first). A source install builds it when Go is on PATH; otherwise you get the bash menu. dc-actions (project actions) works the same way: compiled in release kits and Homebrew, built from source when Go is present; without Go only its --help works and other verbs say the compiled binary is required — every other command is unaffected.
Safer than piping curl: clone the repo, then bash install.sh. Each person needs their own Docker/Colima. Do not copy export DOCKER_HOST=unix://$HOME/.colima/default/docker.sock onto a laptop that uses Docker Desktop. dc-doctor reports the CLI engine and socket; two live engines block dc-up. dc-engine --fix prints how to pick one. No engine yet? See No Docker engine.
curl -fsSL https://raw.githubusercontent.com/Brasth/dc-cli/main/install.sh | bash -s -- --with-cli
source ~/.bashrc # bash
source ~/.zshrc # zsh
Or Homebrew (same kit, no Go):
brew tap Brasth/dc-cli
brew install dc-cli
Flags
| Flag | What you get |
|---|---|
| (default) | wrappers generation only — not the official CLI |
--with-cli |
official standalone CLI if missing (never npm) |
--with-cli-npm |
explicit exact-pin npm fallback (host Node must meet that package’s engines.node) |
--with-skill |
copy the agent skill into homes you already have |
--full |
--with-cli + --with-skill |
--ref v0.4.3 / main |
pin a tag or use HEAD |
--no-yazi |
do not prefetch Linux yazi (DC_SKIP_YAZI=1) |
The advertised curl passes --with-cli so devcontainer is on PATH via the upstream standalone installer (bundled Node major, mutable patch). npm is only --with-cli-npm with an exact qualified pin. The compatibility floor is unpublished (DC_DEVCONTAINER_MIN_VERSION / DC_DEVCONTAINER_NPM_VERSION empty) until docs/qualification/devcontainer-cli-floor.md has four platform result: pass rows — --with-cli-npm hard-rejects until then. Current registry 0.88.0 / Node 20 is candidate evidence, not a pre-approved floor. Clone or bash install.sh with no flags stays wrappers only.
Skill
--with-skill copies the devcontainer-cli-global skill into agent homes you already have. It does not install Claude / Codex / Cursor for you. Restart the agent after.
--full is --with-cli + --with-skill.
Homes: ~/.cursor, ~/.claude, ~/.codex, ~/.pi, ~/.gemini, ~/.opencode, ~/.agents/skills.
Confirm: dc --help or dc up --help. dc-up still works. Homebrew on an older tap: dc upgrade (or brew update && brew upgrade dc-cli).
Update
dc upgrade --check # installed vs latest
dc upgrade # prompt, then apply
dc upgrade --yes # no prompt
Homebrew installs upgrade via brew. Curl / generation installs re-run install.sh --ref latest --with-cli. The TUI shows a banner when a newer release exists (U confirms).
Daily start
Run from this folder. .devcontainer → official CLI. Compose-only → Compose. Same verbs.
cd /path/to/your/project
dc
Or skip the board: dc up, then dc exec. Flags: dc --help.
Broke something?report it