Sift documentation
Getting started
Installation
Install on macOS, Linux, Windows, or FreeBSD, or build from source.
Usage
Commands, output destinations, filtering, and examples.
Features in depth
Interactive picker
The dual-pane TUI — navigation, per-file modes, and task prompts.
Configuration and profiles
Flags, .sift.toml profiles, and how precedence works.
Output formats and prompts
The four styles, signature mode, and clipboard output.
Incremental deltas
Feed an LLM only what changed since the last dump.
Dependency expansion
Auto-include imports of selected files as compressed context.
MCP server
Expose sift to coding agents over stdio.
Sift turns a project directory into a single, LLM-friendly
context document. It walks the tree, honors .gitignore, and renders the
selected files in plain, Markdown, JSON, or XML — with token budgeting,
secret redaction, signature-only compression, and Git-relevance ranking so the
most important context fits in a model’s window.
Command cheat-sheet
| Command | What it does |
|---|---|
sift |
Open the interactive picker (bare invocation) |
sift dump [path] |
Render the whole eligible tree to codebase.md |
sift pick [path] |
Select files interactively, then render |
sift select [path] |
Auto-select useful files and render them |
sift diff [ref] |
Render only files changed relative to a Git ref |
sift delta [path] |
Render only changes since the last recorded dump |
sift watch [path] |
Re-render the document whenever files change |
sift mcp [path] |
Start an MCP server over stdio for coding agents |
Every command accepts --help; sift --help lists the shared flags.
New to Sift? Start with Usage and run
sift dump . --output -to see a context document for the current directory.