A Chrome extension that automatically captures ZIP file downloads from bolt.new, extracts them, and pushes the contents to a specified GitHub repository. Built with Svelte, TypeScript, and TailwindCSS.
- π Automatic ZIP file interception from bolt.new
- π¦ In-browser ZIP file extraction
- π Direct GitHub repository integration
- π Secure credential storage
- β‘ Real-time processing status updates
- π¨ Clean, responsive UI with shadcn-svelte components
- π± Modern, accessible interface
- π Upload progress tracking
- π― Custom upload status alerts
- β¨ Multi-repository support
- π Follow
.gitignore
rules for file uploads - βοΈ Repo settings displayed in popup
- βοΈ Custom commit messages
- πΎ Automatically save new project settings
- π Projects tab with quick access to all your Bolt projects:
- View all pushed projects in one place
- Open projects directly in Bolt
- Access GitHub repositories
- Import existing GitHub repos into Bolt
- Always verify your repository settings before syncing a new project
- Double-check the repository name and branch when switching between projects
To try the latest development version:
-
Clone and install:
git clone https://github.com/mamertofabian/bolt-to-github.git cd bolt-to-github npm install
-
Build the extension:
npm run build
-
Load in Chrome:
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
dist
directory from your project folder
- Open Chrome and go to
Note: The GitHub version contains the latest features but may be less stable than the Chrome Web Store version.
- Chrome
- Brave
Get started in just 3 simple steps:
-
Install from Chrome Web Store
- Visit our Chrome Web Store page
- Click "Add to Chrome"
- Click "Add extension" when prompted
-
Configure the Extension
- Make sure you have a Bolt.new project loaded
- Click the extension icon in your Chrome toolbar
- Enter your GitHub token (needs repo permissions)
- Repository Owner
- Repository Name
- Branch Name (defaults to 'main')
- Save your settings and you're ready to go!
-
Load your Bolt.new Project
- Click on the GitHub button in the Bolt.new project page at the top right
- Confirm the popup that appears
- Done!
Follow these steps to get started:
- Create a GitHub account
- Generate a personal access token (needs repo permissions)
Need help? Watch our Quick Start Video Tutorial
If you want to modify the extension or contribute to its development:
-
Set up your development environment:
# Make sure you have Node.js v16 or later installed node --version
-
Clone and install:
git clone https://github.com/mamertofabian/bolt-to-github.git cd bolt-to-github npm install
-
Build for development:
npm run watch # For development with hot reload # OR npm run build # For production build
-
Load in Chrome:
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
dist
directory from your project folder
- Open Chrome and go to
See our Contributing Guide for more details.
.
βββ assets/ # Extension icons and assets
β βββ icons/ # Extension icons in various sizes
βββ src/
β βββ background.ts # Extension background service
β βββ content/ # Content scripts
β β βββ upload-status.ts
β β βββ UploadStatus.svelte
β βββ lib/ # Core library and utilities
β β βββ common.ts # Common utilities
β β βββ constants.ts # Application constants
β β βββ github.ts # GitHub API integration
β β βββ utils.ts # Utility functions
β β βββ zip.ts # ZIP file processing
β β βββ components/ # Reusable UI components
β β βββ ui/ # shadcn-svelte UI components
β β βββ Footer.svelte
β β βββ GitHubSettings.svelte
β β βββ Header.svelte
β β βββ NotBoltSite.svelte
β β βββ SocialLinks.svelte
β β βββ StatusAlert.svelte
β β βββ UploadProgress.svelte
β βββ popup/ # Extension popup UI
β β βββ App.svelte # Main popup component
β β βββ index.html # Popup HTML template
β β βββ main.ts # Popup entry point
β βββ services/ # Service modules
β β βββ buttonInjector.ts
β β βββ zipHandler.ts
β βββ styles/ # Global styles
β βββ types/ # TypeScript type definitions
βββ manifest.json # Chrome extension manifest
βββ package.json # Project dependencies and scripts
βββ tailwind.config.js # TailwindCSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite build configuration
- Svelte - UI framework
- TypeScript - Type safety
- Vite - Build tool
- TailwindCSS - Styling
- shadcn-svelte - UI components
- fflate - Zip file processing
- GitHub tokens are stored securely using Chrome's storage API
- All communication with GitHub uses HTTPS
- ZIP file processing happens entirely in the browser
- πΊ Watch our video tutorials
- π Read the documentation
- π‘ Get development tips
- π¬ Discord Community
- π Book a consultation
- π§ Email support
- π» Custom development inquiries
For bugs or feature requests, please open an issue on the GitHub repository.
If you find this extension helpful, you can support its development:
Your support helps maintain and improve this extension!
- Fork the repository
- Create a feature branch
git checkout -b feature/my-new-feature
- Commit your changes
git commit -am 'Add some feature'
- Push to the branch
git push origin feature/my-new-feature
- Create a Pull Request
MIT License - see LICENSE file for details
This extension requires the following permissions:
webRequest
: To intercept downloadsdownloads
: To manage downloadsstorage
: To store settingsscripting
: To interact with bolt.new
Q: Why does the extension need a GitHub token?
A: The token is required to authenticate with GitHub's API for pushing files to your repository.
Q: Is my GitHub token secure?
A: Yes, your token is stored securely in Chrome's storage system and is only used for GitHub API calls.
Q: Can I specify which files to push to GitHub?
A: Currently, the extension processes all files in the ZIP. File filtering may be added in future versions.
-
Extension not intercepting downloads
- Ensure you're on bolt.new
- Check if the file is a ZIP
- Verify permissions are enabled
-
GitHub push fails
- Verify your token has repo permissions
- Check repository name and owner
- Ensure branch exists
-
ZIP processing errors
- Check if the ZIP file is corrupted
- Ensure file contents are text-based
- Let me know if you have any ideas for additional features or improvements by opening an issue on GitHub.
Created by AI-Driven Coder | Powered by Codefrost | Maintained by Mamerto Fabian
The extension includes a dedicated Projects tab that helps you:
- Keep track of all your Bolt projects pushed to GitHub
- Quick-access buttons to:
- Open projects directly in Bolt
- View repositories on GitHub
- Import repositories back into Bolt
- View branch information and project details at a glance