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.
- Start the app with
grabkit. -
If repo load fails, use a branch URL:
https://github.com/<owner>/<repo>/tree/main(or.../tree/master). -
Smart Grab flow: select file(s) -> press
s-> confirmy. - Dependency preview before download: press
d. -
GITHUB_TOKENis optional; set it for higher rate limits and private repos.
Usage
- Run
grabkit. - Paste a GitHub repository URL in the input bar.
-
If branch auto-detection fails, use
https://github.com/<owner>/<repo>/tree/main(ortree/master). - Use arrow keys to navigate the tree explorer.
- Press Space to select files/folders.
-
Press
sfor 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.
- Select or highlight one or more JavaScript-family files.
- Press
sto analyze dependencies. - Review the prompt and press
yto continue. - Use
danytime to inspect dependency insight.
- Detects import, require, and dynamic import for local paths.
- Ignores external packages by design.
- Reports unresolved and circular references safely.
-
Current language scope:
.js,.mjs,.cjs,.jsx.
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.