GitHub Fetch
When to Use
- Studying source code of a GitHub repo for one-off analysis
- Reading a single file or small number of files from a repo
- Exploring project structure, implementation patterns, or API design
- Not for permanent work — use a proper workspace for that
Mode 1: Full Repo Clone
Clone to the standard temp location with shallow depth:
git clone https://github.com/{user}/{repo} --depth=1 /tmp/github/{user}/{repo}
Then work in /tmp/github/{user}/{repo} using Read, Grep, Glob tools.
If the repo is already cloned, reuse it — do not re-clone.
# Check first
ls /tmp/github/{user}/{repo} 2>/dev/null || git clone https://github.com/{user}/{repo} --depth=1 /tmp/github/{user}/{repo}
Mode 2: Single File Fetch
For reading one file without cloning the whole repo, use WebFetch with the raw URL:
https://raw.githubusercontent.com/{user}/{repo}/main/{path/to/file}
Or with curl:
curl -fsSL https://raw.githubusercontent.com/{user}/{repo}/main/{path/to/file}
Try main first; fall back to master if the file is not found.
Rules
- Always use
--depth=1— no history needed for study /tmp/github/is the standard clone location (auto-cleaned on reboot)- Do not commit or push changes from
/tmpclones - Prefer Mode 2 (single file) when only one or two files are needed — faster and lighter
- Prefer Mode 1 (full clone) when exploring structure, searching across files, or reading many files