#!/bin/zsh # Zsh completions for Claude Code automation scripts # Source this file: source ~/.claude/automation/completions.zsh # Memory add completion _memory_add() { local -a categories categories=('preference:Save as preference' 'decision:Save as decision' 'project:Save as project context' 'fact:Save as fact' 'auto:Auto-categorize') _arguments \ '1:category:->category' \ '*:content:' && return 0 case $state in category) _describe 'category' categories ;; esac } # Memory list completion _memory_list() { local -a categories categories=('preferences' 'decisions' 'projects' 'facts') _arguments \ '1:category:->category' \ '--all[Include deprecated items]' && return 0 case $state in category) _describe 'category' categories ;; esac } # Restore completion _claude_restore() { local backup_dir="${HOME}/.claude/backups" if [[ -d "${backup_dir}" ]]; then _files -g "${backup_dir}/*.tar.gz" fi } # Search completion _claude_search() { _arguments \ '--memory[Search only memory]' \ '--history[Search only history]' \ '--config[Search only config]' \ '--recent[Show recent items]:days:' \ '*:query:' } # History browser completion _claude_history() { _arguments \ '--list[List recent sessions]' \ '--all[Show all sessions]' \ '--show[Show session details]:session_id:' \ '--stats[Show statistics]' \ '--unsummarized[List unsummarized sessions]' \ '--limit[Limit results]:count:' } # Log viewer completion _claude_log() { _arguments \ '--list[List log files]' \ '--tail[Number of lines]:count:' \ '--grep[Filter pattern]:pattern:' \ '--since[Since date]:date:' \ '--type[Log type]:type:' \ '*:file:' } # Debug completion _claude_debug() { _arguments \ '--full[Full debug report]' \ '--json[JSON output]' \ '--paths[Show paths only]' } # Export completion _claude_export() { _arguments \ '--list[List sessions]' \ '--format[Output format]:format:(json markdown md)' \ '--output[Output file]:file:_files' \ '*:session_id:' } # MCP status completion _claude_mcp_status() { _arguments \ '--json[JSON output]' } # Upgrade completion _claude_upgrade() { _arguments \ '--check[Check for upgrades]' \ '--backup[Create backup]' \ '--apply[Apply migrations]:version:' \ '--help[Show help]' } # Register completions compdef _memory_add memory-add.py compdef _memory_list memory-list.py compdef _claude_restore restore.sh compdef _claude_search search.py compdef _claude_history history-browser.py compdef _claude_log log-viewer.py compdef _claude_debug debug.sh compdef _claude_export session-export.py compdef _claude_mcp_status mcp-status.sh compdef _claude_upgrade upgrade.sh # Aliases 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' echo "Claude Code completions loaded (zsh)" echo " Aliases: claude-{validate,status,backup,restore,clean,memory-add,memory-list}" echo " claude-{search,history,install,test,maintenance,log,debug,export,mcp,upgrade}"