GitHub Folder Downloader
A sleek, client-side web app that lets you download a single folder from any public GitHub repository as a ZIP archive—no cloning or backend required.
🔗 Live Demo: https://sultanahmmed.github.io/RepoSlicer/
- Instant Slicing: Fetch and zip subdirectories on the fly.
- Modern UI: Responsive design with smooth animations and light/dark mode.
- Pure Client-Side: Powered by GitHub’s REST API and JSZip—zero server overhead.
- Robust Error Handling: User-friendly status updates and error highlights.
- Device-Ready: Optimized for desktop, tablet, and mobile.
repo-slicer/
├── index.html # Main HTML interface
├── style.css # Theme, layout, and animations
├── app.js # URL parsing, API calls, ZIP generation
└── manual.md # User guide and troubleshooting
-
Clone the repo
git clone https://github.com/SultanAhmmed/RepoSlicer.git cd RepoSlicer
-
(Optional) Serve locally
- Use a static server:
npx serve .
orpython -m http.server
. - Live Server extension: check VeryEasy Live Server.
- Use a static server:
-
Launch
- Open
index.html
in your browser or visithttp://localhost:5000
.
- Open
- Paste a GitHub folder URL, e.g.:
https://github.com/owner/repo/tree/main/path/to/folder
- Click Fetch My Folder (or your custom button text).
- Watch the download animation and status messages.
- Save the ZIP when prompted.
- CSS Variables: Customize colors, border-radius, shadows in
style.css
(:root
). - Animations: Edit or add keyframes at the end of
style.css
. - API Rate Limits: To increase GitHub’s 60-requests/hour limit, prompt for a Personal Access Token in
app.js
fetch headers.
Contributions are welcome! Please:
- Fork this repository.
- Create a feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m "Add YourFeature"
- Push to your branch:
git push origin feature/YourFeature
- Open a Pull Request.
Review our Code of Conduct before contributing.
This project is licensed under the MIT License. See LICENSE for details.
Maintainer: Sultan Ahmmed
- GitHub: SultanAhmmed
- LinkedIn: sultan-ahmmed
Happy slicing! 🎉