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. Visit our official website at bolt2github.com for more information, tutorials, and resources.
What's new:
- Fixed Notification Spam – No more annoying notification spam when Bolt.new tabs are in the background
- Smart Rate Limiting – Notifications limited to once every 5 minutes to prevent overwhelming users
- Background Tab Detection – Extension detects when tabs are backgrounded and adjusts behavior accordingly
- Persistent Settings – Your notification preferences are saved and survive browser restarts
- Opt-in Reminders – Scheduled reminders disabled by default for a cleaner experience
Key Benefits:
- No More Notification Spam – Clean, distraction-free experience when working with background tabs
- Smart Rate Limiting – Prevents overwhelming users with too many notifications
- Persistent Preferences – Your settings are remembered across browser sessions
- Better Default Experience – Reminders are opt-in, reducing notification fatigue
What's new:
- Auto-Recovery from Auth Expiry – Extension automatically reloads to fix persistent authentication issues
- Manifest V3 Optimization – Reliable service worker reloads using chrome.alarms API instead of setTimeout
- Enhanced Stability – Persistent reload throttling prevents loops (5-minute minimum between reloads)
- Improved Testing – 30+ new tests ensure robust authentication recovery
Key Benefits:
- No More Manual Restarts – Automatically recovers from auth failures without user intervention
- Reliable in All Scenarios – Works even when service worker becomes inactive (Manifest V3 fix)
- Smart Self-Healing – Reloads only when necessary after 3 consecutive auth failures
What's new:
- Updated for New Bolt.new Design – Seamless integration with the latest UI changes
- Fixed GitHub Button Injection – Now works with the new header layout structure
- Enhanced Download Functionality – Updated to work with project name dropdown export flow
- Eliminated Color Flash – Button appears with correct styling immediately
- Improved Button Placement – Smart targeting of GitHub button container
Key Benefits:
- Seamless Integration – Works perfectly with Bolt.new's updated design
- Reliable Downloads – Export functionality works with the new dropdown structure
- Better UX – No more color flashing or visual glitches
- Future-Proof – Robust selectors that adapt to UI changes
What's new:
- Bolt.new Header Integration Fix – Updated to work with bolt.new's new header layout
- Enhanced Re-authentication Flow – Improved authentication handling and user guidance
- Export Button Detection Update – Fixed export/download functionality with new bolt.new structure
Key Benefits:
- Seamless Integration – GitHub button injection works perfectly with updated bolt.new header
- Reliable Downloads – Export → Download functionality restored and working reliably
- Better User Experience – Improved authentication flow with clearer guidance during token issues
- Future-Proof – Maintains backward compatibility while supporting new bolt.new features
What's new:
- Pop-out window mode – Keep the extension open in its own dedicated window that never closes when you click away.
What’s new:
- Works with Bolt’s new 3-dots Export menu – seamless Export → Download interception again.
- Lighter on resources – background observers use less CPU.
- More resilient – graceful errors and self-recovery if something goes wrong.
Major Features:
- Automatic README Generation - Smart documentation creation for projects without meaningful README files
- Smart Content Detection - Preserves existing documentation while replacing empty or whitespace-only files
- Zero Setup Required - Works automatically during push to GitHub with no configuration needed
Key Benefits:
- Never push undocumented projects - Automatic README creation ensures every project has meaningful documentation
- Intelligent detection - Handles README, readme, Readme file variations with case-insensitive detection
- Content preservation - Existing meaningful documentation is always preserved
- Project branding - Generated READMEs include project name and Bolt to GitHub attribution
Major Features:
- Automatic Project Sync - Your Bolt projects now sync automatically across devices and browsers
- Data Loss Prevention - Fixed critical race conditions that could cause project data loss
- Enhanced Reliability - Comprehensive improvements to storage operations and error handling
Key Benefits:
- Never lose your projects - Seamless synchronization ensures your project mappings are always available
- Cross-device compatibility - Access your projects from any browser or device
- Automatic conflict resolution - Smart handling of sync conflicts with multiple resolution strategies
- Background sync - Periodic 5-minute automatic syncing keeps everything up-to-date
Bug Fixes & Improvements:
- Enhanced bug reporting - Added option to include application logs when submitting bug reports
- Added What's New - Added a What's New modal to show the latest highlights of the new version
Major Authentication Enhancement:
- GitHub App Authentication - Modern, secure authentication method as an alternative to Personal Access Tokens
- Dual Authentication Support - Seamlessly supports both PAT and GitHub App authentication
- Automatic Configuration - GitHub App users get automatic repository owner detection
- Enhanced Security - Short-lived tokens with fine-grained permissions through GitHub Apps
- Zero Breaking Changes - Existing PAT users continue to work without any modifications
Technical Implementation:
- UnifiedGitHubService - New service architecture supporting multiple authentication methods
- 95% Migration Complete - Core functionality fully migrated with minor cleanup remaining
- Clean Architecture - Removed circular dependencies and improved modularity
- Comprehensive Testing - All tests updated to support new authentication architecture
Premium Features & Enhanced Functionality:
- Premium subscription system with advanced features and Supabase integration
- GitHub Issues management - Create, view, edit, and manage GitHub issues directly from the extension
- Push reminder system - Scheduled reminders and notifications for your projects
- File changes detection - Advanced diff viewer to see what's changed before pushing
- Newsletter subscription - Stay updated with latest features and tips
- Enhanced feedback system - Improved GitHub integration for bug reports and feature requests
- Branch selection modal - Better repository management with branch switching
- Commit message templates - Predefined templates for consistent commit messages
- Analytics tracking - Better understanding of usage patterns for improvements
Technical Improvements:
- Complete architecture refactoring - Modular content script architecture with specialized managers
- Comprehensive testing suite - 154 files with Jest unit tests and mock implementations
- Enhanced performance - Better file loading, caching, and state management
- Migration to pnpm - Improved package management and faster builds
- Premium authentication - Re-authentication modal and session management
Developer Experience:
- Enhanced documentation - Technical debt documentation, testing guides, and setup instructions
- Multiple AI tool integrations - Configuration files for Cline, Copilot, Cursor, Qodo, and Windsurf
- Husky pre-commit hooks - Automated code quality checks
- Service layer restructuring - Better interfaces and dependency injection
- Add Push to GitHub button in Settings popup
- Enhanced UI with better positioning and responsiveness
- GitHub dropdown menu with accessibility enhancements
- Project organization features (grouping by type: Bolt and GitHub)
- Project deletion functionality
- Repository settings management improvements
- Help button with improved resources and links to official website
- Improvements in temporary repository clean up
- Support for GitHub organization repositories
- Enhanced button feedback with permission checking status
- ZipHandler service for better file processing
- Development guide with commands and code style guidelines
- Support for Private GitHub repositories (see demo here: https://youtu.be/d9NqXRoroi0)
- Enhanced GitHub integration with token validation
- Improved repository management and temporary repository handling
- New user interface components:
- Help system and New User Guide
- Project Status dashboard
- Modal system for better interactions
- Robust error handling and rate limit management
- Task queue system for better performance
- Enhanced code quality with strict TypeScript standards
- 🚀 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
.gitignorerules 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 # Install using pnpm (recommended) - faster and more efficient pnpm install # Or using npm if you prefer npm install
-
Build the extension:
pnpm run build
-
Load in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
distdirectory 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
- Choose your authentication method:
- GitHub App (Recommended): Sign in through bolt2github.com for enhanced security
- Personal Access Token: Enter your GitHub token (needs repo permissions)
- Enter the following details:
- Repository Owner (auto-filled for GitHub App users)
- 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 # This project uses pnpm for better performance and disk efficiency pnpm install
-
Build for development:
# Development with hot reload pnpm run watch # Production build pnpm run build # Run tests (v1.3.0+) pnpm test # Lint code pnpm run lint # Format code pnpm run format
-
Set up environment variables:
# Copy the example environment file cp .env.example .env # Edit .env and add your Google Analytics API secret # Get it from: https://analytics.google.com/analytics/web/ # Navigate to: Admin > Data Streams > [Your Stream] > Measurement Protocol API secrets
-
Load in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
distdirectory from your project folder
- Open Chrome and go to
The extension uses environment variables for sensitive configuration:
VITE_GA4_API_SECRET: Google Analytics 4 API secret for analytics tracking- Required for analytics functionality
- Analytics will be disabled if not provided
- Never commit this value to the repository
This project uses shadcn-svelte for UI components. To add new components:
# Use the shadcn-svelte CLI (not the regular shadcn CLI)
pnpm dlx shadcn-svelte@latest add [component-name]
# Examples:
pnpm dlx shadcn-svelte@latest add button
pnpm dlx shadcn-svelte@latest add card
pnpm dlx shadcn-svelte@latest add dialogImportant: Always use shadcn-svelte@latest (not shadcn@latest) as this project uses the Svelte variant.
The components will be automatically added to src/lib/components/ui/ and can be imported like:
<script>
import { Button } from '$lib/components/ui/button';
import { Card, CardContent, CardHeader, CardTitle } from '$lib/components/ui/card';
</script>See our Contributing Guide for more details.
.
├── assets/ # Extension icons and assets
│ └── icons/ # Extension icons in various sizes
├── src/
│ ├── background/ # Extension background service
│ │ └── __tests__/ # Background service tests
│ ├── content/ # Content scripts with modular architecture
│ │ ├── __tests__/ # Content script tests
│ │ ├── handlers/ # Event and action handlers
│ │ ├── infrastructure/ # Core infrastructure services
│ │ ├── managers/ # Specialized UI and state managers
│ │ ├── services/ # Content-specific services
│ │ └── types/ # Content script type definitions
│ ├── lib/ # Core library and utilities
│ │ ├── __tests__/ # Library tests
│ │ ├── components/ # Reusable UI components
│ │ │ ├── ui/ # shadcn-svelte UI components
│ │ │ │ ├── alert/
│ │ │ │ ├── badge/
│ │ │ │ ├── button/
│ │ │ │ ├── card/
│ │ │ │ ├── dialog/
│ │ │ │ ├── input/
│ │ │ │ ├── label/
│ │ │ │ ├── modal/
│ │ │ │ └── tabs/
│ │ │ ├── github/ # GitHub-specific components
│ │ │ ├── EnhancedGitHubSettings.svelte
│ │ │ ├── Footer.svelte
│ │ │ ├── GitHubSettings.svelte
│ │ │ ├── Header.svelte
│ │ │ ├── NotBoltSite.svelte
│ │ │ ├── SocialLinks.svelte
│ │ │ ├── StatusAlert.svelte
│ │ │ └── UploadProgress.svelte
│ │ ├── constants/ # Application constants
│ │ ├── services/ # Core services (GitHub, storage, etc.)
│ │ ├── stores/ # Svelte stores for state management
│ │ └── utils/ # Utility functions
│ ├── popup/ # Extension popup UI
│ │ ├── components/ # Popup-specific components
│ │ ├── App.svelte # Main popup component
│ │ ├── index.html # Popup HTML template
│ │ └── main.ts # Popup entry point
│ ├── services/ # Service modules
│ │ ├── __tests__/ # Service tests
│ │ ├── interfaces/ # Service interfaces
│ │ ├── types/ # Service type definitions
│ │ ├── GitHubAppService.ts # GitHub App authentication
│ │ ├── UnifiedGitHubService.ts # Unified authentication service
│ │ ├── PremiumService.ts # Premium features service
│ │ ├── SupabaseAuthService.ts # Supabase integration
│ │ └── [other services]
│ ├── styles/ # Global styles
│ ├── test/ # Test setup and utilities
│ │ └── setup/ # Test configuration
│ └── 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
- Supabase - Backend services and authentication
- MailerLite - Newsletter management
- Vitest - Testing framework
- Multiple authentication methods: Full support for both Personal Access Tokens and GitHub Apps (v1.3.2+)
- GitHub Apps integration: More secure authentication with short-lived tokens and fine-grained permissions
- Automatic token management: GitHub App tokens are automatically refreshed when needed
- Secure token storage: All credentials are stored securely using Chrome's storage API
- HTTPS communication: All communication with GitHub uses HTTPS
- Browser-only processing: ZIP file processing happens entirely in the browser
- Premium authentication: Enhanced security with Supabase integration (v1.3.0+)
- Zero credential exposure: No tokens or credentials are ever logged or exposed
- 🌐 Official Website
- 📺 Watch our video tutorials
- 📖 Read the documentation
- 🔧 GitHub Apps Migration Guide - Modern authentication alternative to PATs
- 📋 Technical Documentation - Architecture and implementation details
- 🧪 Testing Reference - Testing guidelines and best practices
- 💡 Get development tips
- 💬 Discord Community
For bugs or feature requests, you have multiple convenient options:
- Click the extension icon and go to the "Help" tab
- Click the "Send Feedback" button for an easy-to-use feedback form
- Works for everyone: Whether you're authenticated with GitHub or not!
- Smart fallback: If you're not logged in, the system will guide you to submit feedback directly on GitHub with pre-filled content
- Open an issue directly on the GitHub repository
- Perfect for detailed bug reports or feature requests
- 💝 Appreciation: Share what you love about the extension
- ❓ Questions: Ask for help or clarification
- 🐛 Bug Reports: Report issues or unexpected behavior
- ✨ Feature Requests: Suggest new features or improvements
- 💬 General Feedback: Any other thoughts or suggestions
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
