gitload

This skill should be used when the user asks to "download files from GitHub", "fetch a folder from a repo", "grab code from GitHub", "download a GitHub repository", "get files from a GitHub URL", "clone just a folder", or needs to download specific files/folders from GitHub without cloning the entire repo.

Installer
$clawhub install gitload

gitload

Download files, folders, or entire repos from GitHub URLs using the gitload CLI.

When to Use

Use gitload when: - Downloading a specific folder from a repo (not the whole repo) - Fetching a single file from GitHub - Downloading repo contents without git history - Creating a ZIP archive of GitHub content - Accessing private repos with authentication

Do NOT use gitload when: - Full git history is needed (use git clone instead) - The repo is already cloned locally - Working with non-GitHub repositories

Prerequisites

Run gitload via npx (no install needed): bash npx gitload-cli https://github.com/user/repo

Or install globally: bash npm install -g gitload-cli

Basic Usage

Download entire repo

gitload https://github.com/user/repo

Creates a repo/ folder in the current directory.

Download a specific folder

gitload https://github.com/user/repo/tree/main/src/components

Creates a components/ folder with just that folder's contents.

Download a single file

gitload https://github.com/user/repo/blob/main/README.md

Download to a custom location

gitload https://github.com/user/repo/tree/main/src -o ./my-source

Download contents flat to current directory

gitload https://github.com/user/repo/tree/main/templates -o .

Download as ZIP

gitload https://github.com/user/repo -z ./repo.zip

Authentication (for private repos or rate limits)

gitload https://github.com/user/private-repo --gh

Requires prior gh auth login.

Using explicit token

gitload https://github.com/user/repo --token ghp_xxxx

Using environment variable

export GITHUB_TOKEN=ghp_xxxx
gitload https://github.com/user/repo

Token priority: --token > GITHUB_TOKEN > --gh

URL Formats

gitload accepts standard GitHub URLs: - Repo root: https://github.com/user/repo - Folder: https://github.com/user/repo/tree/branch/path/to/folder - File: https://github.com/user/repo/blob/branch/path/to/file.ext

Common Patterns

Scaffold from a template folder

gitload https://github.com/org/templates/tree/main/react-starter -o ./my-app
cd my-app && npm install

Grab example code

gitload https://github.com/org/examples/tree/main/authentication

Download docs for offline reading

gitload https://github.com/org/project/tree/main/docs -z ./docs.zip

Fetch a single config file

gitload https://github.com/org/configs/blob/main/.eslintrc.json -o .

Options Reference

Option Description
-o, --output <dir> Output directory (default: folder named after URL path)
-z, --zip <path> Save as ZIP file at the specified path
-t, --token <token> GitHub personal access token
--gh Use token from gh CLI
--no-color Disable colored output
-h, --help Display help
-V, --version Output version

Error Handling

If gitload fails: 1. 404 errors: Verify the URL exists and is accessible 2. Rate limit errors: Add authentication with --gh or --token 3. Permission errors: For private repos, ensure token has repo scope 4. Network errors: Check internet connectivity

Notes

  • gitload downloads content via GitHub's API, not git protocol
  • No git history is preserved (use git clone if history is needed)
  • Large repos may take time; consider downloading specific folders
  • Output directory is created if it doesn't exist