Skip to content
/ gitgrab Public

A Node 18+ CLI tool to list, select, and bulk clone GitHub repositories.

License

Notifications You must be signed in to change notification settings

ICJIA/gitgrab

Repository files navigation

πŸ”„ GitGrab

A Node 18+ CLI tool to list, select, and bulk clone GitHub repositories.

✨ Features

  • πŸ“‹ Browse repositories from any GitHub user or organization
  • βœ… Select multiple repositories to clone simultaneously
  • πŸ–₯️ Interactive selection interface
  • πŸ—‚οΈ Configurable repository storage location
  • πŸ“Š Elegant dashboard display of repository information

πŸ€” Why Use GitGrab?

There are several scenarios where bulk-cloning repositories is valuable:

πŸ’Ύ Backup & Archival

  • Local Backups: Create offline copies of all your organization's repositories
  • Disaster Recovery: Maintain a complete backup of your codebase independent of GitHub
  • Historical Preservation: Archive projects for future reference or compliance requirements

πŸš€ Development Efficiency

  • New Developer Onboarding: Quickly set up a new team member with all relevant repositories
  • Workstation Setup: Configure a new development machine with all your projects at once
  • Multi-Project Work: Easily pull down related repositories when working across multiple codebases

πŸ› οΈ Administration & Management

  • Code Audits: Clone multiple repositories for security review or code quality assessment
  • Migration: Facilitate moving projects between GitHub organizations or to other Git providers
  • Inventory: Create a local inventory of all organizational code assets

πŸ“₯ Installation

Using npm:

npm install -g gitgrab

Using yarn:

yarn global add gitgrab

Using pnpm:

pnpm add -g gitgrab

πŸ“‹ Prerequisites

πŸ“š Usage

# Clone repositories from the default organization (ICJIA)
gitgrab

# Clone repositories from a specific user or organization
gitgrab octocat

# Specify a custom directory for cloning
gitgrab --directory ~/projects

# Limit the number of repositories displayed (max 25)
gitgrab --limit 10

# Use a specific GitHub token
gitgrab --token your_github_token

You can also store your GitHub token in a .env file:

About

A Node 18+ CLI tool to list, select, and bulk clone GitHub repositories.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published