Push any project to GitHub in seconds β with a beautiful web GUI. No terminal needed.
A locally-hosted web application that makes pushing code to GitHub as easy as drag & drop. Built with Node.js, Express, and a stunning glassmorphism dark-theme UI.
Universal GitHub Pusher is a developer tool that replaces the hassle of git init, git add, git commit, and git push with a one-click web interface. Perfect for:
- π Beginners who aren't comfortable with the terminal
- β‘ Developers who want to quickly push new projects to GitHub
- π¦ Anyone who has a project folder and wants it on GitHub β fast
| Feature | Description |
|---|---|
| π¨ Beautiful UI | Premium dark glassmorphism design with animated particle backgrounds |
| π Drag & Drop | Drag a project folder from File Explorer directly into the app |
| π Smart Detection | Auto-detects project type β Node.js, Python, Java, Go, Rust, C#, Flutter, and more |
| π Gitignore Templates | 10+ pre-built .gitignore templates, auto-selected for your project |
| π§ Step-by-Step Wizard | Guided 5-step flow: Select β Configure β Gitignore β Commit β Push |
| π Existing Repos | Push to existing GitHub repos or create new ones β handles both |
| π Push History | Track your recent pushes with timestamps |
| π Secure | Your GitHub token stays local β never sent anywhere except GitHub's API |
| π₯οΈ Works Everywhere | Runs on Windows, macOS, and Linux |
The app features a premium dark theme with glassmorphism effects, animated particles, and a step-by-step push wizard.
- Node.js 18+ installed
- Git installed and in PATH
- A GitHub Personal Access Token (Classic) with
repoandread:userscopes
# Clone the repository
git clone https://github.com/saksham-kumar1621/universal-git-pusher.git
cd universal-git-pusher
# Install dependencies
npm install
# Start the server
npm run devOpen your browser at http://localhost:3000 and paste your GitHub token to get started!
- Go to GitHub β Settings β Tokens β New (Classic)
- Check scopes:
repoandread:user - Click Generate token β Copy it
- Paste it into the app's connect screen
1οΈβ£ Select Folder β Browse or drag & drop any project folder
2οΈβ£ Configure Repo β Set name, description, public/private
3οΈβ£ Gitignore β Pick a template (auto-detected for you)
4οΈβ£ Commit β Write a commit message, choose branch
5οΈβ£ Push! β Watch it go live on GitHub π
universal-git-pusher/
βββ server/
β βββ index.js # Express server entry point
β βββ routes/
β β βββ auth.js # GitHub authentication routes
β β βββ git.js # Git operations (init, add, commit, push)
β β βββ github.js # GitHub API (create repo, check name)
β β βββ filesystem.js # File browsing & folder scanning
β βββ services/
β β βββ gitService.js # simple-git wrapper with token auth
β β βββ githubService.js # Octokit wrapper for GitHub API
β β βββ fileService.js # File system operations
β βββ utils/
β βββ gitignoreTemplates.js # 10+ .gitignore templates
β βββ detectProject.js # Auto-detect project type
βββ public/
β βββ index.html # Single-page app shell
β βββ css/style.css # Glassmorphism dark theme (1400+ lines)
β βββ js/
β βββ app.js # Main controller + particle animation
β βββ api.js # HTTP API client
β βββ components/
β βββ auth.js # GitHub PAT authentication
β βββ dashboard.js # Profile card + push history
β βββ wizard.js # 5-step push wizard + drag & drop
β βββ toast.js # Toast notifications
βββ .env.example # Environment variable template
βββ .gitignore
βββ package.json
βββ README.md
| Layer | Technology | Purpose |
|---|---|---|
| Server | Express.js | HTTP API server |
| Git | simple-git | Git CLI wrapper |
| GitHub API | Octokit | Repository management |
| Frontend | Vanilla JS | No build step, fast loading |
| Styling | Vanilla CSS | Glassmorphism + animations |
Contributions are welcome! Feel free to:
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License β use it however you like!
Made with β€οΈ by One Saksham