Skip to main content
Glama
8b-is
by 8b-is
_st_enhanced9.42 kB
#compdef st # Enhanced Zsh completion for Smart Tree (st) v3.3.5 # Includes tips, notes, and helpful suggestions # Define helper function for tips _st_show_tip() { local tip="$1" if [[ -n "$tip" ]]; then _message -r "$tip" fi } _st() { local -a args local context state line typeset -A opt_args # Main arguments definition with descriptions and tips args=( # Exclusive action flags '--cheet[Show the cheatsheet with all formatting modes and options]' '--completions[Generate shell completion scripts]:shell:(bash zsh fish elvish powershell)' '--man[Generate the man page]' '--mcp[Run as MCP (Model Context Protocol) server for AI assistants]' '--mcp-tools[List all MCP tools (20+ tools for AI agents)]' '--mcp-config[Show MCP configuration for Claude Desktop]' '(-V --version)'{-V,--version}'[Show version and check for updates]' # Path argument '1:path:_files -/' # Output mode selection '(-m --mode)'{-m,--mode}'[Output format mode]:mode:->modes' # Display options '(-e --no-emoji)'{-e,--no-emoji}'[Disable emoji in output (cleaner for scripts)]' '(-i --show-ignored)'{-i,--show-ignored}'[Show ignored directories in brackets]' '(-a --everything)'{-a,--everything}'[Show all files including hidden and ignored]' '(-p --path-mode)'{-p,--path-mode}'[Path display mode]:path mode:(off relative full)' '--stream[Enable streaming output for large directories (>10k files)]' # Filtering options '(-d --depth)'{-d,--depth}'[Maximum depth to traverse (default: auto)]:depth:' '(-f --find)'{-f,--find}'[Search for files/dirs matching regex pattern]:pattern:' '(-t --type)'{-t,--type}'[Filter by file extension]:extension:' '--entry-type[Filter by entry type]:type:(f d)' '(-s --search)'{-s,--search}'[Search for keyword in file contents]:keyword:' '--min-size[Minimum file size filter]:size:(1K 1M 10M 100M 1G)' '--max-size[Maximum file size filter]:size:(1K 1M 10M 100M 1G)' '--newer-than[Show files newer than date (YYYY-MM-DD)]:date:' '--older-than[Show files older than date (YYYY-MM-DD)]:date:' # Sorting and limiting '--sort[Sort results by field]:sort field:(a-to-z z-to-a largest smallest newest oldest type name size date)' '--top[Show only top N results]:number:' # Output control '(-z --compress)'{-z,--compress}'[Compress output (recommended for AI modes)]' '--no-default-ignores[Disable default ignore patterns]' '(-F --show-filesystems)'{-F,--show-filesystems}'[Show filesystem type indicators]' # Help '(-h --help)'{-h,--help}'[Show help information]' ) # Handle state machine for mode completion _arguments -C $args case $state in modes) local -a modes_list modes_list=( 'classic:Traditional tree view with Unicode box drawing' 'ls:Unix ls -Alh format with detailed file info' 'hex:AI-optimized hexadecimal format' 'json:Standard JSON format' 'ai:AI-optimized format with compression (default for MCP)' 'ai_json:AI-friendly JSON with metadata' 'csv:Comma-separated values' 'tsv:Tab-separated values' 'stats:Statistics only' 'digest:SHA256 hash only (minimal output)' 'quantum:MEM|8 quantum format (8x compression)' 'quantum-semantic:Semantic-aware quantum compression' 'semantic:Wave-based semantic grouping' 'summary:Human-readable summary' 'summary-ai:AI-optimized summary (10x compression)' 'markdown:Comprehensive markdown report' 'mermaid:Mermaid diagrams (flowchart/mindmap/treemap)' 'waste:Show space wasters and large files' ) _describe -t modes 'output mode' modes_list # Show mode-specific tip based on current word case $words[CURRENT-1] in --mode|-m) _st_show_tip "💡 TIP: Use 'summary-ai' for 10x compression when working with LLMs" ;; esac ;; esac # Context-aware tips if [[ ${words[(I)--find|-f]} -ne 0 ]]; then _st_show_tip "💡 TIP: Use --mode ls with --find to see full match context" fi if [[ ${words[(I)--stream]} -ne 0 ]]; then _st_show_tip "💡 TIP: Streaming mode essential for dirs with >100k files" fi if [[ ${words[(I)--mcp]} -ne 0 ]]; then _st_show_tip "💡 TIP: MCP mode provides 20+ tools for AI assistants" fi return 0 } # Auto-suggestion functions for common use cases _st_suggest_common() { local -a suggestions suggestions=( "st . --mode summary-ai -z # Quick compressed overview for AI" "st . --find 'TODO' --mode ls # Find all TODOs with context" "st . --mode quantum-semantic # Best for code analysis" "st . --search 'function' -a # Search in all files including hidden" "st . --mode waste # Find large files and space wasters" "st . --newer-than 2025-07-01 # Recent changes" "st . --type rs --mode stats # Rust file statistics" "st . --depth 3 --stream # Quick 3-level overview" "st --mcp-config # Setup for Claude Desktop" "st . --sort largest --top 10 --mode ls # 10 largest files" "st . --sort newest --top 20 # 20 most recent files" "st . --sort z-to-a --mode ls # Files sorted Z to A" "st . --find '\.py$' --sort largest --top 5 # 5 largest Python files" "st . --sort smallest --mode ls # Files sorted smallest to largest" "st . --sort oldest --top 10 # 10 oldest files" ) _describe -t suggestions 'common commands' suggestions } # Register the completion compdef _st st # Optional: Add helper aliases (user can add to .zshrc) if [[ -n "$ST_COMPLETION_ALIASES" ]]; then alias stai="st . --mode summary-ai -z" alias stfind="st . --find" alias stsearch="st . --search" alias stwaste="st . --mode waste" alias stls="st . --mode ls" alias stmcp="st --mcp" fi # Export tips function for interactive use st_tips() { cat << 'EOF' 🌳 Smart Tree Tips & Tricks 🌳 QUICK COMMANDS: st # Classic tree view of current directory st /path --mode summary-ai # AI-optimized summary with 10x compression st . --find "test" --mode ls # Find files and show with ls format st . --search "TODO" # Search file contents for keyword st . --mode waste # Find large files and space wasters PERFORMANCE TIPS: • Use --stream for directories with >10k files • Default depth is 5, use -d 3 for faster results • Use --mode digest for instant directory fingerprint AI/LLM TIPS: • --mode summary-ai gives 10x compression • --mode quantum-semantic best for code analysis • Use -z flag to compress output further • MCP mode provides 20+ tools for AI assistants FILTERING TIPS: • --find uses regex: --find "test.*\.rs$" • --entry-type f (files only) or d (dirs only) • Combine filters: --type rs --newer-than 2025-07-01 • Use -a to include hidden files, --everything for all SORTING & TOP-N: • --sort largest --top 10 # 10 biggest files • --sort smallest # Smallest files first • --sort newest --top 20 # 20 most recent files • --sort oldest # Oldest files first • --sort a-to-z # Alphabetical order • --sort z-to-a # Reverse 4.0.0betical • --sort type # Group by file extension • Works with any filter combination! MCP SETUP: 1. st --mcp-config # Get config for Claude Desktop 2. Add to Claude Desktop settings 3. Use with Claude for advanced file analysis COMMON PATTERNS: • Project overview: st . --mode summary-ai -z • Find TODOs: st . --search "TODO|FIXME" --mode ls • Recent changes: st . --newer-than $(date -d '7 days ago' +%Y-%m-%d) • Large files: st . --mode waste --min-size 10M • Code structure: st . --mode quantum-semantic • Quick tree: st . -d 3 SQL-LIKE QUERIES: • SELECT TOP 10 * ORDER BY size DESC: st . --sort largest --top 10 --mode ls • SELECT * WHERE type='py' ORDER BY date DESC LIMIT 5: st . --type py --sort newest --top 5 --mode ls • SELECT * WHERE size > 1MB ORDER BY name: st . --min-size 1M --sort a-to-z --mode ls • SELECT * ORDER BY size ASC: st . --sort smallest --mode ls Press TAB after typing 'st ' for more suggestions! EOF } # Set up auto-suggestions if zsh-autosuggestions is loaded if [[ -n "$ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" ]]; then # Add common patterns to history for autosuggestions if [[ ! -f "$HOME/.config/st/autosuggest_init" ]]; then mkdir -p "$HOME/.config/st" print -S "st . --mode summary-ai -z" print -S "st . --find 'TODO' --mode ls" print -S "st . --search" print -S "st . --mode waste" print -S "st . --newer-than" touch "$HOME/.config/st/autosuggest_init" fi fi # Return success return 0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/8b-is/smart-tree'

If you have feedback or need assistance with the MCP directory API, please join our Discord server