Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.asccli.sh/llms.txt

Use this file to discover all available pages before exploring further.

completion

Generate shell completion scripts for bash, zsh, and fish
Generate shell completion scripts to enable tab completion for App Store Connect CLI commands.

Quick Start

# Bash
asc completion --shell bash >> ~/.bashrc

# Zsh
asc completion --shell zsh >> ~/.zshrc

# Fish
asc completion --shell fish > ~/.config/fish/completions/asc.fish

Usage

asc completion --shell <bash|zsh|fish>
Flags:
  • --shell - Shell type: bash, zsh, or fish (required)

Supported Shells

Bash

Generate and load bash completion:
# Generate completion script
asc completion --shell bash > /tmp/asc-completion.bash

# Add to .bashrc
echo 'source /tmp/asc-completion.bash' >> ~/.bashrc

# Reload shell
source ~/.bashrc
Or append directly:
asc completion --shell bash >> ~/.bashrc
source ~/.bashrc

Zsh

Generate and load zsh completion:
# Generate completion script
asc completion --shell zsh > /tmp/asc-completion.zsh

# Add to .zshrc
echo 'source /tmp/asc-completion.zsh' >> ~/.zshrc

# Reload shell
source ~/.zshrc
Or append directly:
asc completion --shell zsh >> ~/.zshrc
source ~/.zshrc

Fish

Generate and install fish completion:
# Create completions directory if it doesn't exist
mkdir -p ~/.config/fish/completions

# Generate completion script
asc completion --shell fish > ~/.config/fish/completions/asc.fish

# Reload completions (or restart fish)
fish_update_completions

How It Works

The completion script provides tab completion for:
  • Top-level commands (e.g., builds, testflight, metadata)
  • Common flags (basic support)
Example:
$ asc <TAB>
auth          builds        completion    devices       
migrate       metadata      notify        profiles      
submit        testflight    users         webhooks      
workflow      xcode-cloud

Manual Installation

Bash (Linux)

# System-wide (requires sudo)
sudo asc completion --shell bash > /etc/bash_completion.d/asc

# User-level
mkdir -p ~/.local/share/bash-completion/completions
asc completion --shell bash > ~/.local/share/bash-completion/completions/asc

Bash (macOS with Homebrew)

# Install bash-completion if not already installed
brew install bash-completion@2

# Add to Homebrew's completion directory
asc completion --shell bash > $(brew --prefix)/etc/bash_completion.d/asc

Zsh (with Oh My Zsh)

# Create custom completion directory
mkdir -p ~/.oh-my-zsh/custom/plugins/asc

# Generate completion
asc completion --shell zsh > ~/.oh-my-zsh/custom/plugins/asc/_asc

# Add to .zshrc plugins
# plugins=(... asc)

Zsh (macOS with Homebrew)

# Add to Homebrew's completion directory
asc completion --shell zsh > $(brew --prefix)/share/zsh/site-functions/_asc

# Rebuild completion cache
rm -f ~/.zcompdump
compinit

Verification

Test that completion is working:
# Type the command and press TAB
asc <TAB>

# Should show available commands
If completion doesn’t work:
  1. Verify the script was added to the correct location
  2. Reload your shell configuration
  3. Check for syntax errors in the completion script

Troubleshooting

Bash: Command not found

Ensure bash-completion is installed:
# Ubuntu/Debian
sudo apt-get install bash-completion

# macOS with Homebrew
brew install bash-completion@2

Zsh: Completion not loading

Ensure completion is enabled in .zshrc:
# Add to .zshrc if missing
autoload -Uz compinit
compinit

Fish: Permission denied

Ensure the completions directory exists and is writable:
mkdir -p ~/.config/fish/completions
chmod 755 ~/.config/fish/completions

Advanced Configuration

Custom Completion Location

Save completion to a custom location:
# Create custom directory
mkdir -p ~/my-completions

# Generate completion
asc completion --shell bash > ~/my-completions/asc-completion.bash

# Add to .bashrc
echo 'source ~/my-completions/asc-completion.bash' >> ~/.bashrc

Conditional Loading

Load completion only when asc is available:
# Add to .bashrc or .zshrc
if command -v asc &> /dev/null; then
  source ~/my-completions/asc-completion.bash
fi

CI/CD Integration

Generate completion in Docker containers:
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y bash-completion

COPY asc /usr/local/bin/asc
RUN asc completion --shell bash > /etc/bash_completion.d/asc

CMD ["/bin/bash"]

Updates

Regenerate completion after upgrading the CLI:
# Bash
asc completion --shell bash > /tmp/asc-completion.bash
source /tmp/asc-completion.bash

# Zsh
asc completion --shell zsh > /tmp/asc-completion.zsh
source /tmp/asc-completion.zsh

# Fish
asc completion --shell fish > ~/.config/fish/completions/asc.fish
fish_update_completions