Shell Completion

Enable tab completion for bash, zsh, and fish shells.

Generate Completion Script

$dg completion bash > dg-completion.bash
$dg completion zsh > dg-completion.zsh
$dg completion fish > dg-completion.fish

bash

Add to your ~/.bashrc:

$source ~/dg-completion.bash

Or copy to the completion directory:

$sudo cp dg-completion.bash //bash_completion.d/

zsh

Add to your ~/.zshrc:

$source ~/dg-completion.zsh

Or copy to the completion directory:

$mkdir -p ~/.zsh/completions
$cp dg-completion.zsh ~/.zsh/completions/_dg

Make sure completions are enabled:

$autoload -Uz compinit
$compinit

fish

Add to your ~/.config/fish/config.fish:

$source ~/dg-completion.fish

Verify Installation

$dg completion --verify

What Gets Completed

  • Commands: dg listen, dg speak, dg read, etc.
  • Subcommands: --mic, --model, -o json, etc.
  • File paths after dg listen
  • Project IDs and key names

Refresh Completions

After updating the CLI, regenerate completions:

$dg completion bash > dg-completion.bash