DEV Community

GitHubOpenSource
GitHubOpenSource

Posted on

Unleash Your Terminal: Grab Files from GitHub (and more!) Without the Clutter with ghgrab!

Quick Summary: 📝

ghgrab is a terminal-based tool for browsing and downloading files from various Git forges like GitHub, GitLab, and Gitea. It offers a user-friendly TUI for efficient file selection, previewing, and batch downloads, eliminating the need for full repository clones.

Key Takeaways: 💡

  • ✅ Download specific files and folders from GitHub, GitLab, and other Git forges without cloning the entire repository.

  • ✅ Enjoy a clean, interactive Terminal User Interface (TUI) with fuzzy search and file preview capabilities.

  • ✅ Efficiently download GitHub release assets, including OS/architecture-aware selections.

  • ✅ Supports GitHub LFS (Large File Storage) and offers batch downloads for multiple items.

  • ✅ Boosts developer workflow by saving time and bandwidth, making CLI interactions more productive.

Project Statistics: 📊

  • Stars: 1446
  • 🍴 Forks: 74
  • Open Issues: 2

Tech Stack: 💻

  • ✅ Rust

Ever found yourself needing just one file from a massive GitHub repository, only to groan at the thought of cloning the entire thing? You know the drill: clone, wait for gigabytes to download, navigate, copy the file, then delete the whole repo. It's inefficient, time-consuming, and let's be honest, a bit annoying. What if there was a better way?

Enter ghgrab, a fantastic new terminal tool that's about to revolutionize how you interact with Git forges. Imagine a beautiful, interactive command-line interface (TUI) where you can browse repositories on GitHub, GitLab, Codeberg, Gitea, and more, just like you're navigating a local file system. But instead of cloning the whole repo, ghgrab lets you cherry-pick exactly what you need – a single file, a specific folder, or even an entire release artifact – and download it directly.

This means no more downloading gigabytes of data when all you wanted was a small configuration file or a specific script. ghgrab is built for speed and efficiency, powered by Rust's tokio and ratatui ecosystem, ensuring a smooth and responsive experience. The user interface itself is a joy to use. It's clean, intuitive, and includes features like fuzzy search, so you can quickly pinpoint files and folders within any repository. You can even preview source code directly in your terminal before downloading!

But ghgrab isn't just for individual files. Need to grab a specific release asset for your OS and architecture? ghgrab has a dedicated release command for GitHub, making it super easy to fetch those binaries without digging through web pages. It even handles GitHub LFS (Large File Storage) files, which is a huge bonus for projects with large assets!

And for those times you need more than one item, ghgrab offers a batch mode, letting you select multiple files and folders for a single download operation. Installation is a breeze too, with options via NPM, Cargo, or PIP, so you can get up and running in minutes, no matter your preferred ecosystem. Whether you're exploring a new project, grabbing a snippet of code, or just need a quick look at a file without leaving your terminal, ghgrab is an invaluable addition to any developer's toolkit. It truly embodies the 'grab anything you want' motto, making your CLI experience smoother and more productive. Seriously, go check it out!

Learn More: 🔗

View the Project on GitHub


🌟 Stay Connected with GitHub Open Source!

📱 Join us on Telegram

Get daily updates on the best open-source projects

GitHub Open Source

👥 Follow us on Facebook

Connect with our community and never miss a discovery

GitHub Open Source

Top comments (0)