#!/bin/bash # Bash completions for Claude Code automation scripts # Source this file: source ~/.claude/automation/completions.bash _claude_automation() { local cur="${COMP_WORDS[COMP_CWORD]}" local scripts="validate-setup quick-status backup restore clean memory-add memory-list search history install test maintenance" COMPREPLY=($(compgen -W "${scripts}" -- "${cur}")) } _claude_search() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--memory --history --config --recent" -- "${cur}")) } _claude_history() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--list --show --stats --unsummarized --all --limit" -- "${cur}")) } _claude_log() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--list --tail --grep --since --type" -- "${cur}")) } _claude_debug() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--full --json --paths" -- "${cur}")) } _claude_export() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--list --format --output" -- "${cur}")) } _claude_mcp_status() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--json" -- "${cur}")) } _claude_upgrade() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--check --backup --apply --help" -- "${cur}")) } _claude_workflow() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--category --list" -- "${cur}")) } _claude_skill_info() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--scripts --list" -- "${cur}")) } _claude_agent_info() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--tree --list" -- "${cur}")) } _claude_diff() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--backup --list --json" -- "${cur}")) } _claude_template() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "--list --create --use --delete" -- "${cur}")) } _claude_memory_add() { local cur="${COMP_WORDS[COMP_CWORD]}" local prev="${COMP_WORDS[COMP_CWORD-1]}" if [[ ${COMP_CWORD} -eq 1 ]]; then COMPREPLY=($(compgen -W "preference decision project fact auto" -- "${cur}")) fi } _claude_memory_list() { local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "preferences decisions projects facts --all" -- "${cur}")) } _claude_restore() { local cur="${COMP_WORDS[COMP_CWORD]}" local backup_dir="${HOME}/.claude/backups" if [[ -d "${backup_dir}" ]]; then local backups=$(ls -1 "${backup_dir}"/*.tar.gz 2>/dev/null | xargs -n1 basename) COMPREPLY=($(compgen -W "${backups}" -- "${cur}")) fi } # Register completions complete -F _claude_memory_add memory-add.py complete -F _claude_memory_list memory-list.py complete -F _claude_restore restore.sh complete -F _claude_search search.py complete -F _claude_history history-browser.py complete -F _claude_log log-viewer.py complete -F _claude_debug debug.sh complete -F _claude_export session-export.py complete -F _claude_mcp_status mcp-status.sh complete -F _claude_upgrade upgrade.sh complete -F _claude_workflow workflow-info.py complete -F _claude_skill_info skill-info.py complete -F _claude_agent_info agent-info.py complete -F _claude_diff config-diff.py complete -F _claude_template session-template.py # Alias completions for convenience alias claude-validate='~/.claude/automation/validate-setup.sh' alias claude-status='~/.claude/automation/quick-status.sh' alias claude-backup='~/.claude/automation/backup.sh' alias claude-restore='~/.claude/automation/restore.sh' alias claude-clean='~/.claude/automation/clean.sh' alias claude-memory-add='python3 ~/.claude/automation/memory-add.py' alias claude-memory-list='python3 ~/.claude/automation/memory-list.py' alias claude-search='python3 ~/.claude/automation/search.py' alias claude-history='python3 ~/.claude/automation/history-browser.py' alias claude-install='~/.claude/automation/install.sh' alias claude-test='~/.claude/automation/test-scripts.sh' alias claude-maintenance='~/.claude/automation/daily-maintenance.sh' alias claude-log='python3 ~/.claude/automation/log-viewer.py' alias claude-debug='~/.claude/automation/debug.sh' alias claude-export='python3 ~/.claude/automation/session-export.py' alias claude-mcp='~/.claude/automation/mcp-status.sh' alias claude-upgrade='~/.claude/automation/upgrade.sh' alias claude-workflow='python3 ~/.claude/automation/workflow-info.py' alias claude-skill='python3 ~/.claude/automation/skill-info.py' alias claude-agent='python3 ~/.claude/automation/agent-info.py' alias claude-diff='python3 ~/.claude/automation/config-diff.py' alias claude-template='python3 ~/.claude/automation/session-template.py' echo "Claude Code completions loaded. Available aliases:" echo " claude-{validate,status,backup,restore,clean,memory-add,memory-list,search}" echo " claude-{history,install,test,maintenance,log,debug,export,mcp,upgrade}" echo " claude-{workflow,skill,agent,diff,template}"