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
- π Book a consultation
- π§ Email support
- π» Custom development inquiries
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
