Dependency-aware GitHub file extraction

GetGrabKit Documentation

Explore repositories in a premium terminal UI, select exactly what you need, and download minimal working sets with confidence.

Start TUI

grabkit

Alias

getgrabkit

Help

getgrabkit --help

Restore

grabkit restore ./grabkit.config.json

Installation

Install globally from npm:

npm install -g getgrabkit

Supported commands after install: grabkit and getgrabkit.

Quick Fixes

Use these when you want to get unblocked quickly.

  1. Start the app with grabkit.
  2. If repo load fails, use a branch URL: https://github.com/<owner>/<repo>/tree/main (or .../tree/master).
  3. Smart Grab flow: select file(s) -> press s -> confirm y.
  4. Dependency preview before download: press d.
  5. GITHUB_TOKEN is optional; set it for higher rate limits and private repos.

Usage

  1. Run grabkit.
  2. Paste a GitHub repository URL in the input bar.
  3. If branch auto-detection fails, use https://github.com/<owner>/<repo>/tree/main (or tree/master).
  4. Use arrow keys to navigate the tree explorer.
  5. Press Space to select files/folders.
  6. Press s for Smart Grab, or Enter for manual download.

TUI Controls

Key Action
Up / Down Move selection
Left / Right Collapse or expand folder
Space Select or unselect file/folder subtree
Enter Toggle folder or download selected files
/ Filter mode
s Smart Grab (dependency-aware)
d Dependency insight
m Choose download mode
p Toggle preview panel
t Switch theme
q Quit

Smart Grab

Smart Grab analyzes local JavaScript-family imports and includes dependency files automatically in your final download set.

  1. Select or highlight one or more JavaScript-family files.
  2. Press s to analyze dependencies.
  3. Review the prompt and press y to continue.
  4. Use d anytime to inspect dependency insight.

Troubleshooting

Command not found

npm ls -g --depth=0 getgrabkit
npm config get prefix

Make sure your npm global bin directory is in PATH.

Could not resolve repository default branch

Use a branch-specific URL such as https://github.com/<owner>/<repo>/tree/main or tree/master.

$env:GRABKIT_DEFAULT_BRANCH="main"

GitHub API limits

GITHUB_TOKEN is optional. GrabKit can run without it, but tokens provide higher rate limits and private repo access.

$env:GITHUB_TOKEN="your_token_here"
setx GITHUB_TOKEN "your_token_here"

Local Docs Preview

python -m http.server 4173 --directory docs

Open http://localhost:4173 to preview this docs website locally.