Get up and running with ShellDock in under two minutes.
One-line install (Linux & macOS):
curl -fsSL https://shelldock.opsguild.tech/install.sh | bashAlternative (direct from GitHub):
curl -sSL https://raw.githubusercontent.com/OpsGuild/ShellDock/master/scripts/install.sh | sudo bashOr build from source:
git clone https://github.com/OpsGuild/ShellDock.git
cd ShellDock
make build
sudo make installVerify installation:
shelldock --versionFor platform-specific package managers (Homebrew, apt, yum, pacman, Chocolatey, Snap), see the Installation Guide.
shelldock listExample output:
☁️ Bundled Repository:
• certbot
• docker
• git
• kubernetes
• nginx
• nodejs
• python
• rust
💾 Local Repository:
(empty)
shelldock show dockerThis shows every step, including platform-specific commands, without executing anything.
shelldock dockerShellDock previews all steps, then prompts:
Do you want to execute these commands? [a]ll/[y]es step-by-step/[N]o:
| Key | Behavior |
|---|---|
a |
Run every step without further prompts |
y |
Proceed step-by-step — confirm each step with y/N |
N |
Cancel |
To skip all prompts entirely:
shelldock docker -ashelldock managePress n to create a new command set. Everything happens on a single scrollable page — you fill in the name, description, version, then add steps. When editing a step, its fields (description, command, skip-on-error, platforms, and arguments) expand inline so you can always see your previous entries. Press Ctrl+S from the step list to save.
List view controls:
| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate |
Enter |
View details |
n |
New command set |
e |
Edit |
d |
Delete |
q |
Quit |
Form controls (single-page):
| Key | Action |
|---|---|
Tab / Enter |
Advance to next field |
Shift+Tab |
Go back to previous field |
n |
Add a new step (from step list) |
e / Enter |
Expand a step inline |
Ctrl+N |
Add platform or argument entry |
Ctrl+D |
Remove platform or argument entry |
Esc |
Close current section / go back |
Ctrl+S |
Save and exit (from step list) |
Create a file in ~/.shelldock/:
mkdir -p ~/.shelldock
cat > ~/.shelldock/my-setup.yaml << 'EOF'
name: my-setup
description: My custom setup commands
version: "v1"
commands:
- description: Say hello
command: echo "Hello from ShellDock!"
- description: Show system info
command: uname -a
skip_on_error: true
EOFThen run it:
shelldock my-setupSee the Command Set Format Guide for the full YAML specification — including multi-version formats, platform-specific commands, dynamic arguments, and version tags.
| Flag | Example | Description |
|---|---|---|
-a, --yes |
shelldock docker -a |
Run all steps without prompting |
-l, --local |
shelldock -l my-setup |
Only search the local repository |
--skip |
shelldock docker --skip 1,2 |
Skip specific steps |
--only |
shelldock docker --only 3-5 |
Run only specific steps |
--ver / @ |
shelldock docker@v2 |
Run a specific version or tag |
--args |
shelldock git --args name="Jane" |
Provide dynamic arguments |
ShellDock auto-detects your OS, but you can override it:
# View current platform
shelldock config show
# Set manually
shelldock config set ubuntu
shelldock config set darwin
shelldock config set auto # restore auto-detectionOutput raw commands without descriptions or prompts:
shelldock echo dockerPipe directly to a shell:
shelldock echo docker | bash| Topic | Link |
|---|---|
| Full usage guide with examples | Usage Guide |
| Every command and flag | Command Reference |
| YAML format deep dive | Command Set Format |
| All feature details | Features |
| Shell autocompletion | Bash Completion |
| Contributing to ShellDock | Contributing |