Skip to content

Latest commit

 

History

History
331 lines (246 loc) · 8.19 KB

File metadata and controls

331 lines (246 loc) · 8.19 KB

Command Reference

← Back to README · Quick Start · Installation · Usage

Every command, subcommand, and flag available in ShellDock — with examples.


shelldock [command-set-name]

Run a command set directly.

Flags:

  • -l, --local — Only check local repository (skip bundled repository)
  • --skip <steps> — Skip specific steps (comma-separated or range)
  • --only <steps> — Run only specific steps (comma-separated or range)
  • --version <version> or --ver <version> — Run specific version or tag (e.g., v1, v2, certonly, nginx)
  • -a, --yes — Execute all commands without prompting for confirmation
  • --args <key=value,...> — Provide dynamic arguments (e.g., --args name=John,email=john@example.com)

Examples:

shelldock docker
shelldock docker --local
shelldock docker --skip 1,2,3
shelldock docker --only 1-3
shelldock docker@v1
shelldock docker --version v1
shelldock certbot@certonly
shelldock docker -a

shelldock run [command-set-name]

Explicitly run a command set. Same as direct execution but more explicit.

Flags: Same as direct execution.

Examples:

shelldock run docker
shelldock run docker --skip 1,2
shelldock run docker --only 3,4,5
shelldock run docker -a

shelldock show [command-set-name]

Preview commands without executing them.

Flags:

  • -l, --local — Only check local repository
  • --version <version> or --ver <version> — Show specific version or tag

Examples:

shelldock show docker
shelldock show docker --local
shelldock show docker@v1
shelldock show certbot@certonly

shelldock echo [command-set-name]

Output commands in a plain, copyable format (no descriptions or formatting).

Flags:

  • -l, --local — Only check local repository
  • --skip <steps> — Skip specific steps
  • --only <steps> — Run only specific steps
  • --version <version> or --ver <version> — Specific version or tag

Examples:

shelldock echo docker
shelldock echo docker --skip 1,2
shelldock echo docker --only 3,4
shelldock echo docker --version v2
shelldock echo certbot@certonly
shelldock echo docker | bash

shelldock list / shelldock ls

List all available command sets from both bundled and local repositories.

Example:

shelldock list
shelldock ls

Example Output:

☁️  Bundled Repository:
  • docker
  • nodejs
  • python

💾 Local Repository:
  • my-custom-setup
  • test

shelldock manage

Open interactive terminal UI for full management of local command sets (create, view, edit, delete).

When creating or editing, everything is displayed on a single scrollable page — metadata, steps, and expanded step details (platforms, arguments) are all visible together. You never lose sight of your previous entries.

Example:

shelldock manage

List View Controls:

Key Action
↑/↓ or j/k Navigate command sets
Enter View command set details
n Create new command set
e Edit selected command set
d Delete selected command set
q or Ctrl+C Quit

Detail View Controls:

Key Action
↑/↓ Scroll through steps
e Edit this command set
d Delete this command set
Esc Back to list

Form — Metadata Fields (Name → Description → Version):

Key Action
Tab / Enter Advance to next field
Shift+Tab Go back to previous field
Esc Cancel

Form — Step List (after advancing past Version):

Key Action
↑/↓ Navigate steps
n Add a new step (opens it immediately)
e / Enter Expand and edit the selected step inline
d Remove the selected step
Ctrl+S Save and exit
Esc Go back to metadata

Form — Step Fields (when a step is expanded inline):

Key Action
Tab / Enter Advance: Description → Command → Skip on error → Platforms → Arguments
Shift+Tab Go back to previous field
Esc Close the step, return to step list

Form — Platforms (inline sub-editor under the step):

Key Action
Tab / Enter Advance: platform key → command, then next entry
Shift+Tab Go back to previous platform field
Ctrl+N Add a new platform entry
Ctrl+D Remove the current platform entry
Esc Done with platforms, move to Arguments

Form — Arguments (inline sub-editor under the step):

Key Action
Tab / Enter Advance: name → prompt → default → required, then next entry
Shift+Tab Go back to previous argument field
Ctrl+N Add a new argument entry
Ctrl+D Remove the current argument entry
Esc Done with arguments, close the step

shelldock versions [command-set-name]

List all available versions for a command set.

Examples:

shelldock versions docker
shelldock versions certbot

Example Output:

Available versions for 'docker':

  - v1
  - v2
  * v3 (latest)

Use 'shelldock docker@<version>' or 'shelldock docker --version <version>' to run a specific version or tag

shelldock config show

Show current configuration.

Example:

shelldock config show

Example Output:

ShellDock Configuration:
  Platform setting: auto
  Active platform: ubuntu
  Config file: ~/.shelldock/.sdrc

shelldock config set [platform]

Set the platform for command execution.

Examples:

shelldock config set auto
shelldock config set ubuntu
shelldock config set centos
shelldock config set darwin

Supported Platforms:

  • Linux Distributions: ubuntu, debian, centos, rhel, fedora, arch, opensuse, alpine, amazon, oracle
  • Other: darwin (macOS), windows
  • Auto: auto (automatically detects your platform)

shelldock sync

Sync command sets from the cloud repository to the bundled repository.

Requires sudo if the bundled repository is in a system directory.

Aliases: syn

Example:

sudo shelldock sync

shelldock update

Update bundled command sets from the cloud repository.

This is functionally the same as shelldock sync.

Example:

shelldock update
shelldock update --yes

shelldock add [command-set-name]

Add a command set to local repository (~/.shelldock).

  • If a bundled command set exists, it is copied locally for customization.
  • Otherwise, ShellDock creates a new local template YAML.

Flags:

  • --open — Open file in editor after add
  • -e, --editor <editor> — Editor command override
  • --description <text> — Description for a newly created template
  • --version <version> — Version for a newly created template

Examples:

shelldock add docker
shelldock add my-setup --open
shelldock add my-setup --description "My setup flow" --version v1

shelldock open [command-set-name]

Open a command set file in an available editor for your platform.

  • Uses $EDITOR first (if set and available), then platform-specific editor candidates.
  • If the set exists only in bundled repository, ShellDock copies it to local repository first, then opens it.

Flags:

  • -e, --editor <editor> — Editor command override

Examples:

shelldock open docker
shelldock open my-setup --editor "code --wait"

shelldock rm [command-set-name]

Remove a command set from local repository only.

Bundled repository command sets are never deleted by this command.

Flags:

  • -y, --yes — Skip confirmation prompt

Examples:

shelldock rm my-setup
shelldock rm my-setup --yes

shelldock upgrade

Upgrade the ShellDock binary itself to the latest version.

ShellDock detects likely installation method and platform, then uses the proper upgrade flow:

  • package manager upgrade (apt/dnf/yum/pacman/yay/paru/brew/snap/flatpak/choco), or
  • direct binary replacement fallback.

Flags:

  • -y, --yes — Skip confirmation prompt
  • --dry-run — Show detected upgrade method/commands without executing

Examples:

shelldock upgrade
shelldock upgrade --dry-run
shelldock upgrade --yes