Bolt is an advanced AI coding assistant that combines the power of multiple AI providers with an in-browser development environment. Built by StackBlitz, Bolt enables you to chat with AI, generate code, run applications, and deploy projectsβall within your browser.
- π€ Multi-AI Provider Support: Works with OpenAI, Anthropic, Google, Ollama, and many more
- π In-Browser Runtime: Powered by WebContainer for full Node.js environment in the browser
- π Intelligent Code Generation: Create, edit, and refactor code with AI assistance
- π₯οΈ Integrated Terminal: Full shell access with zsh emulation
- π File System Management: Create, edit, and organize project files
- π Live Preview: See your applications running in real-time
- π Git Integration: Version control and repository management
- π Multiple Deployment Options: Deploy to Netlify, Vercel, and other platforms
- π» Cross-Platform: Available as web app and Electron desktop application
- π³ Docker Ready: Containerized deployment support
- Node.js 18.18.0 or higher
- pnpm (recommended package manager)
-
Clone the repository
git clone https://github.com/EchoCog/bolt.ceo.git cd bolt.ceo -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env.local
Edit
.env.localand add your API keys (see Environment Setup below). -
Start the development server
pnpm dev
-
Open your browser Navigate to
http://localhost:5173to start using Bolt!
Bolt supports multiple AI providers. You only need to configure the providers you want to use:
# For debugging (optional)
VITE_LOG_LEVEL=debugChoose one or more providers and add their API keys:
OPENAI_API_KEY=your_openai_api_key_hereANTHROPIC_API_KEY=your_anthropic_api_key_hereGOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key_hereOLLAMA_API_BASE_URL=http://127.0.0.1:11434- Groq:
GROQ_API_KEY - HuggingFace:
HuggingFace_API_KEY - OpenRouter:
OPEN_ROUTER_API_KEY - Mistral:
MISTRAL_API_KEY - Cohere:
COHERE_API_KEY - DeepSeek:
DEEPSEEK_API_KEY - Together AI:
TOGETHER_API_KEY - xAI:
XAI_API_KEY - Perplexity:
PERPLEXITY_API_KEY
VITE_GITHUB_ACCESS_TOKEN=your_github_token_here
VITE_GITHUB_TOKEN_TYPE=classicCreate a GitHub Personal Access Token
AWS_BEDROCK_CONFIG={"region": "us-east-1", "accessKeyId": "your_key", "secretAccessKey": "your_secret"}pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm test- Run testspnpm test:watch- Run tests in watch modepnpm lint- Lint codepnpm lint:fix- Fix linting issuespnpm typecheck- Type checking
bolt.ceo/
βββ app/ # Remix application code
β βββ components/ # React components
β βββ lib/ # Core libraries and utilities
β βββ routes/ # Remix routes
β βββ styles/ # Styling files
βββ electron/ # Electron app configuration
βββ public/ # Static assets
βββ docs/ # Documentation
βββ scripts/ # Build and utility scripts
- Framework: Remix with Vite
- Runtime: WebContainer for in-browser Node.js
- Styling: UnoCSS with Tailwind CSS
- UI Components: Radix UI
- AI Integration: AI SDK
- State Management: Nanostores
- Desktop App: Electron
pnpm dockerbuild
pnpm dockerrunpnpm dockerbuild:prod
docker run -p 5173:5173 --env-file .env.local bolt-ai:productionBuild desktop applications for different platforms:
# Build for current platform
pnpm electron:build:unpack
# Build for specific platforms
pnpm electron:build:mac # macOS
pnpm electron:build:win # Windows
pnpm electron:build:linux # Linux
# Build for all platforms
pnpm electron:build:distpnpm deploy- Build the project:
pnpm build - Deploy the
build/clientdirectory to your hosting provider - Ensure environment variables are configured in your hosting platform
Run the test suite:
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Type checking
pnpm typecheckWe welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and ensure tests pass
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style and conventions
- Add tests for new features
- Update documentation as needed
- Ensure all linting checks pass:
pnpm lint - Run type checking:
pnpm typecheck
For more detailed documentation, visit the docs directory. Additional documentation is being actively developed.
If you encounter any issues or have questions:
- Check the existing issues
- Create a new issue with detailed information
- Include steps to reproduce any bugs
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with β€οΈ by the StackBlitz team
- Powered by WebContainer technology
- Community contributions from bolt.diy
Made with β‘ by the Bolt team
Website β’ Issues β’ Discussions
