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:
- Verify the script was added to the correct location
- Reload your shell configuration
- 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