By AndrewPBerg
Code-aware context tool for LLMs — diffs, symbol search, tree views, and file analysis
Read source files with dependency context — use INSTEAD OF the Read tool when you need file contents plus imports/exports/dependency graph. TRIGGER when: you need to read, view, or understand any source code file (.rs, .py, .js, .ts, .go, .c, .cpp, .java, etc.), before editing a source file, or when the user asks to look at code. DO NOT TRIGGER when: reading non-code files (.toml, .json, .md, .yaml, .lock, .txt, .env)
Visualize file-level import/dependency graph — use when you need to understand what a module depends on or what depends on it. TRIGGER when: you need to understand file-level dependencies, what imports what, or assess blast radius of changing a module. DO NOT TRIGGER when: you need symbol-level dependencies (use /why) or just need to read file contents (use /ctx)
Review git changes: staged, unstaged, or branch diffs with full patches — use INSTEAD OF git diff in Bash when reviewing work or preparing commits. TRIGGER when: you need to see what changed, review diffs, check staged/unstaged changes, or prepare a commit message. DO NOT TRIGGER when: you need project structure (use /tree) or need to understand code logic (use /why or /ctx)
Find symbol definitions by name with ranked results — use INSTEAD OF Grep/Glob when locating functions, types, structs, traits, or constants. TRIGGER when: you need to find where a function, type, struct, trait, class, constant, or variable is defined, or locate a symbol by name in the codebase. DO NOT TRIGGER when: searching for arbitrary text patterns, log messages, config values, or string literals (use Grep for those)
Show directory layout with git status — ONLY for project structure or file location questions, not for understanding code or reviewing changes. TRIGGER when: you need to see project structure, directory layout, what files exist, or orient yourself in an unfamiliar codebase. DO NOT TRIGGER when: you need to read file contents (use /ctx), find symbols (use /sym), or review changes (use /diff)
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
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
# Visualize file dependencies
supp deps src/main.rs -R -d 2
# Find TODO/FIXME/HACK/XXX comments
supp todo -B
# Fit context to a token budget
supp --budget 8000 src/
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 deps [path] | Visualize file-level dependency/import relationships |
supp pick | Interactive file picker (requires fzf) |
supp config | Small repo identity summary: stack, tests, commands, entrypoints |
supp commands | List discovered build, test, lint, eval, and benchmark commands |
supp tests <target> | Find likely test files and focused validation commands |
supp docs <query> | Search docs, docstrings, and comments for context |
supp review | Reviewer-focused diff packet with tests and docs context |
supp todo | Find TODO, FIXME, HACK, and XXX comments, optionally with blame/context |
supp perf [mode] | Set or check the global performance mode |
supp clean-cache | Delete the symbol cache for a project |
supp completions <shell> | Generate shell completions (bash, zsh, fish) |
supp version / update / uninstall | Manage the installed supp binary |
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.
| Flag | Short | Description |
|---|---|---|
--no-copy | -n | Print only, skip clipboard |
--json | Output as JSON (machine-readable) | |
--no-color | Disable ANSI colors | |
--regex | -r | Filter paths by regex |
--slim | Reduce noise: strip comments, collapse blanks | |
--map | -m | Outline mode: signatures, types, and API surface only |
--map-threshold | In map mode, keep only symbols above an importance percentile | |
--budget | Fit output to a token budget by choosing full/slim/map per file | |
--depth | -d | Limit tree depth |
--perf | -p | Override performance mode for this command |
Detailed usage for each command:
npx claudepluginhub andrewpberg/supp --plugin suppFull AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 8 coding-agent harnesses, content-addressed Fjall + LanceDB.
Semantic code intelligence -- symbol navigation, cross-reference analysis, and structural code understanding powered by tree-sitter
Fast and token-friendly code reading for AI coding agents. Symbol-aware MCP tools that replace cat/grep with ~85% fewer tokens, sub-millisecond search, and a raw fallback that preserves cat/grep parity byte-for-byte.
Local codebase intelligence + change-safety gates for coding agents. Pre-indexes your repo's symbols, call graph, deps, and git history into SQLite (28 languages, 100% local, zero API keys), then exposes a lean 16-tool MCP core preset: graph-precise search, callers/impact blast radius, coupling, dead code, taint reachability, and pre-merge verify/critique gates that catch regressions, broken references, AI-slop duplication, and convention drift before they ship.
Structural codebase indexing for efficient navigation. Reduces token consumption by 60-80% through targeted line-range reads instead of full file scans.
Git diff review integration for Claude Code with VSCode extension. Provides inline diff view, browser diff editor, and auto-open files.