name: gitingest description: Use when the user wants to fetch and contextualize a GitHub repository for future reference. argument-hint: [url | user/repo | repo-name] [filters...] allowed-tools:
- Bash(mkdir docs/reference)
- Bash(gitingest:*)
- Read
Fetch GitHub Repository Context
Arguments
$ARGUMENTS
Instructions
1. Parse Input
- Full URL: use directly
- user/repo: construct
https://github.com/{user/repo} - Single name: infer canonical repo (e.g., "rails" → "rails/rails"); if ambiguous, ask
2. Parse Filters
Natural language filters map to options:
- "only Python files" →
-i "*.py" - "exclude tests" →
-e "test/*" -e "*_test.py" - "branch develop" →
-b develop
3. Build Command
mkdir -p docs/reference/
gitingest [OPTIONS] -o docs/reference/<user>-<repo>.txt <url>
Options:
| Flag | Purpose |
|---|---|
-o PATH | Output file (required) |
-i PATTERN | Include pattern (repeatable) |
-e PATTERN | Exclude pattern (repeatable) |
-b NAME | Branch |
-s BYTES | Max file size |
--include-gitignored | Include .gitignore'd files |
--include-submodules | Include submodules |
-t TOKEN | GitHub PAT for private repos |
4. Execute & Confirm
- Run the command
- Read generated file to understand repo
- Report: repo name, purpose, file location, filters applied
Examples
/gitingest rails → rails/rails to docs/reference/rails-rails.txt
/gitingest jdx/mise only rust → -i "*.rs" filter
/gitingest user/repo exclude tests → -e "test/*" -e "*_test.py"
/gitingest https://github.com/x/y branch main