npx claudepluginhub andrewpberg/suppCode-aware context tool for LLMs — diffs, symbol search, tree views, and file analysis
Structured code context for LLMs. Extracts files, diffs, symbols, and trees from your codebase and copies them to the clipboard — ready to paste into any chat.
# From crates.io
cargo install supp
# Or via install script (Linux / macOS)
curl -fsSL https://raw.githubusercontent.com/AndrewPBerg/supp/main/install.sh | bash
Windows (PowerShell):
Invoke-WebRequest -Uri https://raw.githubusercontent.com/AndrewPBerg/supp/main/install.ps1 -OutFile install.ps1
.\install.ps1
Remove-Item install.ps1
Binaries are available for Linux (x86_64, ARM64, musl), macOS (Intel, Apple Silicon), and Windows. See GitHub Releases for downloads.
# Get context from files — copies to clipboard automatically
supp src/main.rs
# Multiple files and directories
supp src/ Cargo.toml
# See what changed on your branch
supp diff
# Show the project tree with git status
supp tree
# Search for a symbol by name
supp sym UserService
# Deep-dive a symbol — definition, call sites, dependencies
supp why handle_request
# Pick files interactively with fzf
supp pick
Add -n to any command to print output without copying to clipboard.
| Command | What it does |
|---|---|
supp <paths> | Bundle files into structured context with token estimate |
supp diff | Git diff with file tree, line counts, and full patches |
supp tree | Project layout with git status markers |
supp sym <query> | Find functions, types, and constants by name |
supp why <symbol> | Explain a symbol — definition, call sites, and dependencies |
supp pick | Interactive file picker (requires fzf) |
supp perf [mode] | Set or check the global performance mode |
supp clean-cache | Delete the symbol cache for a project |
NOTE:
supp pickrequires fzf to be installed and available on yourPATH. Install it via your package manager (e.g.brew install fzf,winget install fzf,pacman -S fzf,xbps-install fzf) before using this command. |supp completions <shell>| Generate shell completions (bash, zsh, fish) |
| Flag | Short | Description |
|---|---|---|
--no-copy | -n | Print only, skip clipboard |
--json | Output as JSON (machine-readable) | |
--regex | -r | Filter paths by regex |
--slim | Reduce noise: strip comments, collapse blanks | |
--map | -m | Outline mode: signatures, types, and API surface only |
--depth | -d | Limit tree depth |
--perf | -p | Override performance mode for this command |
Detailed usage for each command:
supp ships with Claude Code skills that let Claude use supp directly. Once supp is installed, these slash commands are available in any Claude Code session inside a project:
| Slash command | What it does |
|---|---|
/ctx <paths> | Read files with project tree and token estimate |
/diff | Review git changes with structured patches |
/tree | See project layout with git status |
/sym <query> | Find a symbol by name |
/why <symbol> | Explain a symbol — definition, call sites, dependencies |
These work well as starting points for Claude Code conversations:
# Orient yourself in an unfamiliar project
"Use /tree and /ctx --map . to map out this codebase, then summarize the architecture."
# Understand a specific function before changing it
"Use /why handle_request to explain how it works, then suggest how to add rate limiting."
# Review your own changes
"Use /diff to review my changes and suggest improvements."
# Explore a domain concept across languages
"Use /sym User to find all User-related types, then /why the most important one."