| name | gitinjest |
| description | Analyze GitHub repositories by converting to LLM-readable text. TRIGGER when user pastes github.com URL, asks "how does [library] work", or references external codebases. Supports public/private repos and subdirectories. |
Gitingest
TRIGGER CONDITIONS
USE when user message contains:
github.com/ URL
- "look at this repo" or "analyze this codebase"
- Questions about third-party library internals
SKIP when:
- URL is user's own project
- User just wants to clone/fork
Convert GitHub repos into text format using the CLI - output streams to stdout by default.
STREAMING ONLY (HARD DEFAULT)
ALWAYS stream to stdout with -o -. DO NOT:
- Clone repos locally
- Write output files (
-o file.txt)
- Redirect to disk (
> out.txt)
- Create temp files
Only write to disk if user EXPLICITLY requests it.
gitingest https://github.com/user/repo -o -
gitingest https://github.com/user/repo -i "*.ts" -o -
gitingest https://github.com/user/repo -o output.txt
gitingest https://github.com/user/repo > dump.txt
Gitingest CLI Commands for External Codebase Analysis
Key lesson: Always search broadly first (-i ".ts" for TypeScript, -i ".py" for Python, etc.) before narrowing down. The commands are powerful, but your search scope determines what you find.
Installation
pipx install gitingest
Linux Notes
- If
pip install --user fails with PEP 668 error, use pipx install gitingest instead.
- If
gitingest: command not found, ensure ~/.local/bin is on PATH. Run pipx ensurepath then restart your shell.
- Verify:
gitingest --help or pipx list | grep gitingest
Default Usage (Streaming to stdout)
gitingest https://github.com/username/repo -o -
output=$(gitingest https://github.com/username/repo -o -)
Private Repositories
export GITHUB_TOKEN=github_pat_...
gitingest https://github.com/username/private-repo -o -
gitingest https://github.com/username/private-repo --token github_pat_... -o -
Subdirectories
gitingest https://github.com/user/repo/tree/main/src -o -
Basic Usage
gitingest https://github.com/user/repo -o - - Get full repo overview (stdout)
gitingest https://github.com/user/repo --include-submodules -o - - Include submodules
File/Content Search
gitingest https://github.com/user/repo -i "pattern" -o - - Search files containing pattern
gitingest https://github.com/user/repo -i "*filename*" -o - - Find files by name/glob
gitingest https://github.com/user/repo -i "path/to/file" -o - - Get specific file content
Filtering
gitingest https://github.com/user/repo -e "pattern" -o - - Exclude files matching pattern
gitingest https://github.com/user/repo -i "*.ts" -e "node_modules/*" -o - - Include TS files, exclude node_modules
Key Options
-o - or --output -: Stream to stdout (no temp file)
--token or -t: GitHub token for private repos
--include-submodules: Include git submodules
--include-gitignored: Include files normally ignored by .gitignore
Output Structure
The CLI returns formatted text with:
- Summary: File count, size, token count
- Tree: Directory visualization
- Content: All code combined and formatted