{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to bolt diy","text":"
bolt.diy allows you to choose the LLM that you use for each prompt! Currently, you can use models from 19 providers including OpenAI, Anthropic, Ollama, OpenRouter, Google/Gemini, LMStudio, Mistral, xAI, HuggingFace, DeepSeek, Groq, Cohere, Together AI, Perplexity AI, Hyperbolic, Moonshot AI (Kimi), Amazon Bedrock, GitHub Models, and more - with easy extensibility to add any other model supported by the Vercel AI SDK! See the instructions below for running this locally and extending it to include more models.
"},{"location":"#table-of-contents","title":"Table of Contents","text":".env.local FileJoin the community!
Also this pinned post in our community has a bunch of incredible resources for running and deploying bolt.diy yourself!
"},{"location":"#features","title":"Features","text":"If you're new to installing software from GitHub, don't worry! If you encounter any issues, feel free to submit an \"issue\" using the provided links or improve this documentation by forking the repository, editing the instructions, and submitting a pull request. The following instruction will help you get the stable branch up and running on your local machine in no time.
"},{"location":"#prerequisites","title":"Prerequisites","text":"Install Node.js: Download Node.js
After installation, the Node.js path is usually added to your system automatically. To verify:
Node.js is in the Path variable.echo $PATH\n Look for /usr/local/bin in the output.Alternatively, you can download the latest version of the project directly from the Releases Page. Simply download the .zip file, extract it, and proceed with the setup instructions below. If you are comfertiable using git then run the command below.
Clone the repository using Git:
git clone https://github.com/stackblitz-labs/bolt.diy\ncd bolt.diy\n"},{"location":"#entering-api-keys","title":"Entering API Keys","text":"There are two ways to configure your API keys in bolt.diy:
"},{"location":"#1-set-api-keys-in-the-envlocal-file","title":"1. Set API Keys in the.env.local File","text":"When setting up the application, you will need to add your API keys for the LLMs you wish to use. You can do this by renaming the .env.example file to .env.local and adding your API keys there.
[your name]/bolt.diy/.env.example.If you can't see the file, it's likely because hidden files are not being shown. On Mac, open a Terminal window and enter the following command to show hidden files:
defaults write com.apple.finder AppleShowAllFiles YES\n Make sure to add your API keys for each provider you want to use, for example:
GROQ_API_KEY=XXX\nOPENAI_API_KEY=XXX\nANTHROPIC_API_KEY=XXX\n Once you've set your keys, you can proceed with running the app. You will set these keys up during the initial setup, and you can revisit and update them later after the app is running.
Important for Docker users: Docker Compose needs a .env file for variable substitution. After creating .env.local: - Run ./scripts/setup-env.sh to automatically sync the files, or - Manually copy: cp .env.local .env
Note: Never commit your .env.local or .env files to version control. They're already included in the .gitignore.
Alternatively, you can configure your API keys directly in the application using the modern settings interface:
The interface provides: - Real-time validation with visual status indicators - Bulk operations to enable/disable multiple providers at once - Secure storage of API keys in browser cookies - Environment variable auto-detection for server-side configurations
Once you've configured your keys, the application will be ready to use the selected LLMs.
"},{"location":"#run-the-application","title":"Run the Application","text":""},{"location":"#option-1-without-docker","title":"Option 1: Without Docker","text":"pnpm install\n If pnpm is not installed, install it using:
sudo npm install -g pnpm\n pnpm run dev\n This will start the Remix Vite development server. You will need Google Chrome Canary to run this locally if you use Chrome! It's an easy install and a good browser for web development anyway.Use the provided NPM scripts:
npm run dockerbuild\n Alternatively, use Docker commands directly:
docker build . --target bolt-ai-development\n docker compose --profile development up\n To keep your local version of bolt.diy up to date with the latest changes, follow these steps for your operating system:
"},{"location":"#1-navigate-to-your-project-folder","title":"1. Navigate to your project folder","text":"Navigate to the directory where you cloned the repository and open a terminal:
"},{"location":"#2-fetch-the-latest-changes","title":"2. Fetch the Latest Changes","text":"Use Git to pull the latest changes from the main repository:
git pull origin main\n"},{"location":"#3-update-dependencies","title":"3. Update Dependencies","text":"After pulling the latest changes, update the project dependencies by running the following command:
pnpm install\n"},{"location":"#4-rebuild-and-start-the-application","title":"4. Rebuild and Start the Application","text":"docker compose --profile development up --build\n pnpm run dev\nThis ensures that you're running the latest version of bolt.diy and can take advantage of all the newest features and bug fixes.
"},{"location":"#adding-new-llms","title":"Adding New LLMs","text":"bolt.diy supports a modular architecture for adding new LLM providers and models. The system is designed to be easily extensible while maintaining consistency across all providers.
"},{"location":"#understanding-the-provider-architecture","title":"Understanding the Provider Architecture","text":"Each LLM provider is implemented as a separate class that extends the BaseProvider class. The provider system includes:
To add a new LLM provider, you need to create multiple files:
"},{"location":"#1-create-the-provider-class","title":"1. Create the Provider Class","text":"Create a new file in app/lib/modules/llm/providers/your-provider.ts:
import { BaseProvider } from '~/lib/modules/llm/base-provider';\nimport type { ModelInfo } from '~/lib/modules/llm/types';\nimport type { LanguageModelV1 } from 'ai';\nimport type { IProviderSetting } from '~/types/model';\nimport { createYourProvider } from '@ai-sdk/your-provider';\n\nexport default class YourProvider extends BaseProvider {\n name = 'YourProvider';\n getApiKeyLink = 'https://your-provider.com/api-keys';\n\n config = {\n apiTokenKey: 'YOUR_PROVIDER_API_KEY',\n };\n\n staticModels: ModelInfo[] = [\n {\n name: 'your-model-name',\n label: 'Your Model Label',\n provider: 'YourProvider',\n maxTokenAllowed: 100000,\n maxCompletionTokens: 4000,\n },\n ];\n\n async getDynamicModels(\n apiKeys?: Record<string, string>,\n settings?: IProviderSetting,\n serverEnv?: Record<string, string>,\n ): Promise<ModelInfo[]> {\n // Implement dynamic model loading if supported\n return [];\n }\n\n getModelInstance(options: {\n model: string;\n serverEnv: Record<string, string>;\n apiKeys?: Record<string, string>;\n providerSettings?: Record<string, IProviderSetting>;\n }): LanguageModelV1 {\n const { apiKeys, model } = options;\n const apiKey = apiKeys?.[this.config.apiTokenKey] || '';\n\n return createYourProvider({\n apiKey,\n // other configuration options\n })(model);\n }\n}\n"},{"location":"#2-register-the-provider","title":"2. Register the Provider","text":"Add your provider to app/lib/modules/llm/registry.ts:
import YourProvider from './providers/your-provider';\n\n// ... existing imports ...\n\nexport {\n // ... existing exports ...\n YourProvider,\n};\n"},{"location":"#3-update-the-manager-if-needed","title":"3. Update the Manager (if needed)","text":"The provider will be automatically registered by the LLMManager through the registry. The manager scans for all classes that extend BaseProvider and registers them automatically.
To add new models to an existing provider:
app/lib/modules/llm/providers/openai.ts)staticModels array:staticModels: ModelInfo[] = [\n // ... existing models ...\n {\n name: 'gpt-4o-mini-new',\n label: 'GPT-4o Mini (New)',\n provider: 'OpenAI',\n maxTokenAllowed: 128000,\n maxCompletionTokens: 16000,\n },\n];\n"},{"location":"#provider-specific-configuration","title":"Provider-Specific Configuration","text":"Each provider can have its own configuration options:
config objectbaseUrlKey for custom endpointsgetDynamicModels() for API-based model discoveryThe modular architecture makes it easy to add new providers while maintaining consistency and reliability across the entire system.
"},{"location":"#mcp-model-context-protocol-integration","title":"MCP (Model Context Protocol) Integration","text":"bolt.diy supports MCP (Model Context Protocol) servers to extend AI capabilities with external tools and services. MCP allows you to connect various tools and services that the AI can use during conversations.
"},{"location":"#setting-up-mcp-servers","title":"Setting up MCP Servers","text":"MCP servers can provide: - Database connections and queries - File system operations - API integrations - Custom business logic tools - And much more...
The MCP integration enhances the AI's ability to perform complex tasks by giving it access to external tools and data sources.
"},{"location":"#git-integration-and-version-control","title":"Git Integration and Version Control","text":"bolt.diy provides comprehensive Git integration for version control, collaboration, and project management.
"},{"location":"#github-integration","title":"GitHub Integration","text":"bolt.diy provides one-click deployment to popular hosting platforms, making it easy to share your projects with the world.
"},{"location":"#supported-platforms","title":"Supported Platforms","text":""},{"location":"#vercel-deployment","title":"Vercel Deployment","text":"bolt.diy integrates with Supabase to provide backend database functionality, authentication, and real-time features for your applications.
"},{"location":"#setting-up-supabase","title":"Setting up Supabase","text":"The AI can help you: - Design database schemas for your applications - Write SQL queries and database functions - Implement authentication flows - Create API endpoints for your frontend - Set up real-time features for collaborative apps
Supabase integration makes it easy to build full-stack applications with a robust backend infrastructure.
"},{"location":"#webcontainer-and-live-preview","title":"WebContainer and Live Preview","text":"bolt.diy uses WebContainer technology to provide a secure, isolated development environment with live preview capabilities.
"},{"location":"#webcontainer-features","title":"WebContainer Features","text":"WebContainer supports all major JavaScript frameworks and tools: - React, Vue, Angular, Svelte - Next.js, Nuxt, Astro, Remix - Vite, Webpack, Parcel - Node.js, npm, pnpm, yarn - And many more...
The WebContainer integration provides a seamless development experience without the need for local setup.
"},{"location":"#project-templates","title":"Project Templates","text":"bolt.diy comes with a comprehensive collection of starter templates to help you quickly bootstrap your projects. Choose from popular frameworks and technologies:
"},{"location":"#frontend-frameworks","title":"Frontend Frameworks","text":"All templates are pre-configured with modern tooling, linting, and build processes for immediate productivity.
"},{"location":"#available-scripts","title":"Available Scripts","text":""},{"location":"#development-scripts","title":"Development Scripts","text":"pnpm run dev: Starts the development server with hot reloadingpnpm run build: Builds the project for productionpnpm run start: Runs the built application locally using Wrangler Pagespnpm run preview: Builds and starts locally for production testingpnpm test: Runs the test suite using Vitestpnpm run test:watch: Runs tests in watch modepnpm run lint: Runs ESLint with auto-fixpnpm run typecheck: Runs TypeScript type checkingpnpm run typegen: Generates TypeScript types using Wranglerpnpm run dockerbuild: Builds Docker image for developmentpnpm run dockerbuild:prod: Builds Docker image for productionpnpm run dockerrun: Runs the Docker containerdocker compose --profile development up: Runs with Docker Compose (development)pnpm electron:build:mac: Builds for macOSpnpm electron:build:win: Builds for Windowspnpm electron:build:linux: Builds for Linuxpnpm electron:build:dist: Builds for all platforms (Mac, Windows, Linux)pnpm electron:build:unpack: Creates unpacked build for testingpnpm run deploy: Builds and deploys to Cloudflare Pagesnpm run dockerbuild: Alternative Docker build commandpnpm run clean: Cleans build artifactspnpm run prepare: Sets up Husky for git hooksTo start the development server:
pnpm run dev\n This will start the Remix Vite development server. You will need Google Chrome Canary to run this locally if you use Chrome! It's an easy install and a good browser for web development anyway.
"},{"location":"#getting-help-resources","title":"Getting Help & Resources","text":""},{"location":"#help-icon-in-sidebar","title":"Help Icon in Sidebar","text":"bolt.diy includes a convenient help icon (?) in the sidebar that provides quick access to comprehensive documentation. Simply click the help icon to open the full documentation in a new tab.
The documentation includes: - Complete setup guides for all supported providers - Feature explanations for advanced capabilities - Troubleshooting guides for common issues - Best practices for optimal usage - FAQ section with detailed answers
"},{"location":"#community-support","title":"Community Support","text":"Here are some tips to get the most out of bolt.diy:
Be specific about your stack: If you want to use specific frameworks or libraries (like Astro, Tailwind, ShadCN, or any other popular JavaScript framework), mention them in your initial prompt to ensure Bolt scaffolds the project accordingly.
Use the enhance prompt icon: Before sending your prompt, try clicking the 'enhance' icon to have the AI model help you refine your prompt, then edit the results before submitting.
Scaffold the basics first, then add features: Make sure the basic structure of your application is in place before diving into more advanced functionality. This helps Bolt understand the foundation of your project and ensure everything is wired up right before building out more advanced functionality.
Batch simple instructions: Save time by combining simple instructions into one message. For example, you can ask Bolt to change the color scheme, add mobile responsiveness, and restart the dev server, all in one go saving you time and reducing API credit consumption significantly.
Access documentation quickly: Use the help icon (?) in the sidebar for instant access to guides, troubleshooting, and best practices.
Welcome! This guide provides all the details you need to contribute effectively to the project. Thank you for helping us make bolt.diy a better tool for developers worldwide. \ud83d\udca1
"},{"location":"CONTRIBUTING/#table-of-contents","title":"\ud83d\udccb Table of Contents","text":"This project is governed by our Code of Conduct. By participating, you agree to uphold this code. Report unacceptable behavior to the project maintainers.
"},{"location":"CONTRIBUTING/#how-can-i-contribute","title":"\ud83d\udee0\ufe0f How Can I Contribute?","text":""},{"location":"CONTRIBUTING/#1-reporting-bugs-or-feature-requests","title":"1\ufe0f\u20e3 Reporting Bugs or Feature Requests","text":"Interested in maintaining and growing the project? Fill out our Contributor Application Form.
"},{"location":"CONTRIBUTING/#pull-request-guidelines","title":"\u2705 Pull Request Guidelines","text":""},{"location":"CONTRIBUTING/#pr-checklist","title":"PR Checklist","text":"git clone https://github.com/stackblitz-labs/bolt.diy.git\npnpm install\n.env.example to .env.local.GROQ_API_KEY=XXX\nHuggingFace_API_KEY=XXX\nOPENAI_API_KEY=XXX\n...\n.env.local to .env: # Option 1: Use the setup script\n./scripts/setup-env.sh\n\n# Option 2: Manual copy\ncp .env.local .env\n Docker Compose requires .env for variable substitution.VITE_LOG_LEVEL=debugDEFAULT_NUM_CTX=32768Note: Never commit your .env.local or .env files to version control. They're already in .gitignore.
pnpm run dev\n Tip: Use Google Chrome Canary for local testing.
"},{"location":"CONTRIBUTING/#testing","title":"\ud83e\uddea Testing","text":"Run the test suite with:
pnpm test\n"},{"location":"CONTRIBUTING/#deployment","title":"\ud83d\ude80 Deployment","text":""},{"location":"CONTRIBUTING/#deploy-to-cloudflare-pages","title":"Deploy to Cloudflare Pages","text":"pnpm run deploy\n Ensure you have required permissions and that Wrangler is configured.
"},{"location":"CONTRIBUTING/#docker-deployment","title":"\ud83d\udc33 Docker Deployment","text":"This section outlines the methods for deploying the application using Docker. The processes for Development and Production are provided separately for clarity.
"},{"location":"CONTRIBUTING/#development-environment","title":"\ud83e\uddd1\u200d\ud83d\udcbb Development Environment","text":""},{"location":"CONTRIBUTING/#build-options","title":"Build Options","text":"Option 1: Helper Scripts
# Development build\nnpm run dockerbuild\n Option 2: Direct Docker Build Command
docker build . --target bolt-ai-development\n Option 3: Docker Compose Profile
docker compose --profile development up\n"},{"location":"CONTRIBUTING/#running-the-development-container","title":"Running the Development Container","text":"docker run -p 5173:5173 --env-file .env.local bolt-ai:development\n"},{"location":"CONTRIBUTING/#production-environment","title":"\ud83c\udfed Production Environment","text":""},{"location":"CONTRIBUTING/#build-options_1","title":"Build Options","text":"Option 1: Helper Scripts
# Production build\nnpm run dockerbuild:prod\n Option 2: Direct Docker Build Command
docker build . --target bolt-ai-production\n Option 3: Docker Compose Profile
docker compose --profile production up\n"},{"location":"CONTRIBUTING/#running-the-production-container","title":"Running the Production Container","text":"docker run -p 5173:5173 --env-file .env.local bolt-ai:production\n"},{"location":"CONTRIBUTING/#coolify-deployment","title":"Coolify Deployment","text":"For an easy deployment process, use Coolify:
docker compose --profile production up\nThe docker-compose.yaml configuration is compatible with VS Code Dev Containers, making it easy to set up a development environment directly in Visual Studio Code.
Ctrl+Shift+P or Cmd+Shift+P on macOS).Ensure .env.local is configured correctly with:
Example for the DEFAULT_NUM_CTX variable:
DEFAULT_NUM_CTX=24576 # Uses 32GB VRAM\n"},{"location":"FAQ/","title":"Frequently Asked Questions (FAQ)","text":""},{"location":"FAQ/#models-and-setup","title":"Models and Setup","text":"What are the best models for bolt.diy? For the best experience with bolt.diy, we recommend using the following models from our 19 supported providers:
**Top Recommended Models:**\n- **Claude 3.5 Sonnet** (Anthropic): Best overall coder, excellent for complex applications\n- **GPT-4o** (OpenAI): Strong alternative with great performance across all use cases\n- **Claude 4 Opus** (Anthropic): Latest flagship model with enhanced capabilities\n- **Gemini 2.0 Flash** (Google): Exceptional speed for rapid development\n- **DeepSeekCoder V3** (DeepSeek): Best open-source model for coding tasks\n\n**Self-Hosting Options:**\n- **DeepSeekCoder V2 236b**: Powerful self-hosted option\n- **Qwen 2.5 Coder 32b**: Best for moderate hardware requirements\n- **Ollama models**: Local inference with various model sizes\n\n**Latest Specialized Models:**\n- **Moonshot AI (Kimi)**: Kimi K2 models with advanced reasoning capabilities\n- **xAI Grok 4**: Latest Grok model with 256K context window\n- **Anthropic Claude 4 Opus**: Latest flagship model from Anthropic\n\n!!! tip \"Model Selection Tips\"\n - Use larger models (7B+ parameters) for complex applications\n - Claude models excel at structured code generation\n - GPT-4o provides excellent general-purpose coding assistance\n - Gemini models offer the fastest response times\n How do I configure API keys for different providers? You can configure API keys in two ways:
**Option 1: Environment Variables (Recommended for production)**\nCreate a `.env.local` file in your project root:\n```bash\nANTHROPIC_API_KEY=your_anthropic_key_here\nOPENAI_API_KEY=your_openai_key_here\nGOOGLE_GENERATIVE_AI_API_KEY=your_google_key_here\nMOONSHOT_API_KEY=your_moonshot_key_here\nXAI_API_KEY=your_xai_key_here\n```\n\n**Option 2: In-App Configuration**\n- Click the settings icon (\u2699\ufe0f) in the sidebar\n- Navigate to the \"Providers\" tab\n- Switch between \"Cloud Providers\" and \"Local Providers\" tabs\n- Click on a provider card to expand its configuration\n- Click on the \"API Key\" field to enter edit mode\n- Paste your API key and press Enter to save\n- Look for the green checkmark to confirm proper configuration\n\n!!! note \"Security Note\"\n Never commit API keys to version control. The `.env.local` file is already in `.gitignore`.\n How do I add a new LLM provider? bolt.diy uses a modular provider architecture. To add a new provider:
1. **Create a Provider Class** in `app/lib/modules/llm/providers/your-provider.ts`\n2. **Implement the BaseProvider interface** with your provider's specific logic\n3. **Register the provider** in `app/lib/modules/llm/registry.ts`\n4. **The system automatically detects** and registers your new provider\n\nSee the [Adding New LLMs](../#adding-new-llms) section for complete implementation details.\n How do I set up Moonshot AI (Kimi) provider? Moonshot AI provides access to advanced Kimi models with excellent reasoning capabilities:
**Setup Steps:**\n1. Visit [Moonshot AI Platform](https://platform.moonshot.ai/console/api-keys)\n2. Create an account and generate an API key\n3. Add `MOONSHOT_API_KEY=your_key_here` to your `.env.local` file\n4. Or configure it directly in Settings \u2192 Providers \u2192 Cloud Providers \u2192 Moonshot\n\n**Available Models:**\n- **Kimi K2 Preview**: Latest Kimi model with 128K context\n- **Kimi K2 Turbo**: Fast inference optimized version\n- **Kimi Thinking**: Specialized for complex reasoning tasks\n- **Moonshot v1 series**: Legacy models with vision capabilities\n\n!!! tip \"Moonshot AI Features\"\n - Excellent for Chinese language tasks\n - Strong reasoning capabilities\n - Vision-enabled models available\n - Competitive pricing\n What are the latest xAI Grok models? xAI has released several new Grok models with enhanced capabilities:
**Latest Models:**\n- **Grok 4**: Most advanced model with 256K context window\n- **Grok 4 (07-09)**: Specialized variant for specific tasks\n- **Grok 3 Beta**: Previous generation with 131K context\n- **Grok 3 Mini variants**: Optimized for speed and efficiency\n\n**Setup:**\n1. Get your API key from [xAI Platform](https://docs.x.ai/docs/quickstart#creating-an-api-key)\n2. Add `XAI_API_KEY=your_key_here` to your `.env.local` file\n3. Models will be available in the provider selection\n"},{"location":"FAQ/#best-practices","title":"Best Practices","text":"How do I access help and documentation? bolt.diy provides multiple ways to access help and documentation:
**Help Icon in Sidebar:**\n- Look for the question mark (?) icon in the sidebar\n- Click it to open the full documentation in a new tab\n- Provides instant access to guides, troubleshooting, and FAQs\n\n**Documentation Resources:**\n- **Main Documentation**: Complete setup and feature guides\n- **FAQ Section**: Answers to common questions\n- **Troubleshooting**: Solutions for common issues\n- **Best Practices**: Tips for optimal usage\n\n**Community Support:**\n- **GitHub Issues**: Report bugs and request features\n- **Community Forum**: [thinktank.ottomator.ai](https://thinktank.ottomator.ai)\n How do I get the best results with bolt.diy? Follow these proven strategies for optimal results:
**Project Setup:**\n- **Be specific about your stack**: Mention frameworks/libraries (Astro, Tailwind, ShadCN, Next.js) in your initial prompt\n- **Choose appropriate templates**: Use our 15+ project templates for quick starts\n- **Configure providers properly**: Set up your preferred LLM providers before starting\n\n**Development Workflow:**\n- **Use the enhance prompt icon**: Click the enhance icon to let AI refine your prompts before submitting\n- **Scaffold basics first**: Build foundational structure before adding advanced features\n- **Batch simple instructions**: Combine tasks like *\"Change colors, add mobile responsiveness, restart dev server\"*\n\n**Advanced Features:**\n- **Leverage MCP tools**: Use Model Context Protocol for enhanced AI capabilities\n- **Connect databases**: Integrate Supabase for backend functionality\n- **Use Git integration**: Version control your projects with GitHub\n- **Deploy easily**: Use built-in Vercel, Netlify, or GitHub Pages deployment\n How do I use MCP (Model Context Protocol) tools? MCP extends bolt.diy's AI capabilities with external tools:
**Setting up MCP:**\n1. Go to Settings \u2192 MCP tab\n2. Add MCP server configurations\n3. Configure server endpoints and authentication\n4. Enable/disable servers as needed\n\n**Available MCP Capabilities:**\n- Database connections and queries\n- File system operations\n- API integrations\n- Custom business logic tools\n\nThe MCP integration allows the AI to interact with external services and data sources during conversations.\n How do I deploy my bolt.diy projects? bolt.diy supports one-click deployment to multiple platforms:
**Supported Platforms:**\n- **Vercel**: Go to Settings \u2192 Connections \u2192 Vercel, then deploy with one click\n- **Netlify**: Connect your Netlify account and deploy instantly\n- **GitHub Pages**: Push to GitHub and enable Pages in repository settings\n\n**Deployment Features:**\n- Automatic build configuration for popular frameworks\n- Environment variable management\n- Custom domain support\n- Preview deployments for testing\n How do I use Git integration features? bolt.diy provides comprehensive Git and GitHub integration:
**Basic Git Operations:**\n- Import existing repositories by URL\n- Create new repositories on GitHub\n- Automatic commits for major changes\n- Push/pull changes seamlessly\n\n**Advanced Features:**\n- Connect GitHub account in Settings \u2192 Connections\n- Import from your connected repositories\n- Version control with diff visualization\n- Collaborative development support\n"},{"location":"FAQ/#project-information","title":"Project Information","text":"How do I contribute to bolt.diy? Check out our Contribution Guide for more details on how to get involved!
What are the future plans for bolt.diy?Visit our Roadmap for the latest updates. New features and improvements are on the way!
Why are there so many open issues/pull requests?bolt.diy began as a small showcase project on @ColeMedin's YouTube channel to explore editing open-source projects with local LLMs. However, it quickly grew into a massive community effort!
We're forming a team of maintainers to manage demand and streamline issue resolution. The maintainers are rockstars, and we're also exploring partnerships to help the project thrive.\n"},{"location":"FAQ/#new-features-technologies","title":"New Features & Technologies","text":"What's new in bolt.diy? Recent major additions to bolt.diy include:
**Advanced AI Capabilities:**\n- **19 LLM Providers**: Support for Anthropic, OpenAI, Google, DeepSeek, Cohere, and more\n- **MCP Integration**: Model Context Protocol for enhanced AI tool calling\n- **Dynamic Model Loading**: Automatic model discovery from provider APIs\n\n**Development Tools:**\n- **WebContainer**: Secure sandboxed development environment\n- **Live Preview**: Real-time application previews without leaving the editor\n- **Project Templates**: 15+ starter templates for popular frameworks\n\n**Version Control & Collaboration:**\n- **Git Integration**: Import/export projects with GitHub\n- **Automatic Commits**: Smart version control for project changes\n- **Diff Visualization**: See code changes clearly\n\n**Backend & Database:**\n- **Supabase Integration**: Built-in database and authentication\n- **API Integration**: Connect to external services and databases\n\n**Deployment & Production:**\n- **One-Click Deployment**: Vercel, Netlify, and GitHub Pages support\n- **Environment Management**: Production-ready configuration\n- **Build Optimization**: Automatic configuration for popular frameworks\n How do I use the new project templates? bolt.diy offers templates for popular frameworks and technologies:
**Getting Started:**\n1. Start a new project in bolt.diy\n2. Browse available templates in the starter selection\n3. Choose your preferred technology stack\n4. The AI will scaffold your project with best practices\n\n**Available Templates:**\n- **Frontend**: React, Vue, Angular, Svelte, SolidJS\n- **Full-Stack**: Next.js, Astro, Qwik, Remix, Nuxt\n- **Mobile**: Expo, React Native\n- **Content**: Slidev presentations, Astro blogs\n- **Vanilla**: Vite with TypeScript/JavaScript\n\nTemplates include pre-configured tooling, linting, and build processes.\n How does WebContainer work? WebContainer provides a secure development environment:
**Features:**\n- **Isolated Environment**: Secure sandbox for running code\n- **Full Node.js Support**: Run npm, build tools, and dev servers\n- **Live File System**: Direct manipulation of project files\n- **Terminal Integration**: Execute commands with real-time output\n\n**Supported Technologies:**\n- All major JavaScript frameworks (React, Vue, Angular, etc.)\n- Build tools (Vite, Webpack, Parcel)\n- Package managers (npm, pnpm, yarn)\n How do I connect external databases? Use Supabase for backend database functionality:
**Setup Process:**\n1. Create a Supabase project at supabase.com\n2. Get your project URL and API keys\n3. Configure the connection in your bolt.diy project\n4. Use Supabase tools to interact with your database\n\n**Available Features:**\n- Real-time subscriptions\n- Built-in authentication\n- Row Level Security (RLS)\n- Automatic API generation\n- Database migrations\n"},{"location":"FAQ/#model-comparisons","title":"Model Comparisons","text":"How do local LLMs compare to larger models like Claude 3.5 Sonnet for bolt.diy? While local LLMs are improving rapidly, larger models still offer the best results for complex applications. Here's the current landscape:
**Recommended for Production:**\n- **Claude 4 Opus**: Latest flagship model with enhanced reasoning (200K context)\n- **Claude 3.5 Sonnet**: Proven excellent performance across all tasks\n- **GPT-4o**: Strong general-purpose coding with great reliability\n- **xAI Grok 4**: Latest Grok with 256K context window\n\n**Fast & Efficient:**\n- **Gemini 2.0 Flash**: Exceptional speed for rapid development\n- **Claude 3 Haiku**: Cost-effective for simpler tasks\n- **xAI Grok 3 Mini Fast**: Optimized for speed and efficiency\n\n**Advanced Reasoning:**\n- **Moonshot AI Kimi K2**: Advanced reasoning with 128K context\n- **Moonshot AI Kimi Thinking**: Specialized for complex reasoning tasks\n\n**Open Source & Self-Hosting:**\n- **DeepSeekCoder V3**: Best open-source model available\n- **DeepSeekCoder V2 236b**: Powerful self-hosted option\n- **Qwen 2.5 Coder 32b**: Good balance of performance and resource usage\n\n**Local Models (Ollama):**\n- Best for privacy and offline development\n- Use 7B+ parameter models for reasonable performance\n- Still experimental for complex, large-scale applications\n\n!!! tip \"Model Selection Guide\"\n - Use Claude/GPT-4o for complex applications\n - Use Gemini for fast prototyping\n - Use local models for privacy/offline development\n - Always test with your specific use case\n"},{"location":"FAQ/#troubleshooting","title":"Troubleshooting","text":"There was an error processing this request This generic error message means something went wrong. Check these locations:
- **Terminal output**: If you started with Docker or `pnpm`\n- **Browser developer console**: Press `F12` \u2192 Console tab\n- **Server logs**: Check for any backend errors\n- **Network tab**: Verify API calls are working\n x-api-key header missing This authentication error can be resolved by:
- **Restarting the container**: `docker compose restart` (if using Docker)\n- **Switching run methods**: Try `pnpm` if using Docker, or vice versa\n- **Checking API keys**: Verify your API keys are properly configured\n- **Clearing browser cache**: Sometimes cached authentication causes issues\n Blank preview when running the app Blank previews usually indicate code generation issues:
- **Check developer console** for JavaScript errors\n- **Verify WebContainer is running** properly\n- **Try refreshing** the preview pane\n- **Check for hallucinated code** in the generated files\n- **Restart the development server** if issues persist\n MCP server connection failed If you're having trouble with MCP integrations:
- **Verify server configuration** in Settings \u2192 MCP\n- **Check server endpoints** and authentication credentials\n- **Test server connectivity** outside of bolt.diy\n- **Review MCP server logs** for specific error messages\n- **Ensure server supports** the MCP protocol version\n Git integration not working Common Git-related issues and solutions:
- **GitHub connection failed**: Verify your GitHub token has correct permissions\n- **Repository not found**: Check repository URL and access permissions\n- **Push/pull failed**: Ensure you have write access to the repository\n- **Merge conflicts**: Resolve conflicts manually or use the diff viewer\n- **Large files blocked**: Check GitHub's file size limits\n Deployment failed Deployment issues can be resolved by:
- **Checking build logs** for specific error messages\n- **Verifying environment variables** are set correctly\n- **Testing locally** before deploying\n- **Checking platform-specific requirements** (Node version, build commands)\n- **Reviewing deployment configuration** in platform settings\n Everything works, but the results are bad For suboptimal AI responses, try these solutions:
- **Switch to a more capable model**: Use Claude 3.5 Sonnet, GPT-4o, or Claude 4 Opus\n- **Be more specific** in your prompts about requirements and technologies\n- **Use the enhance prompt feature** to refine your requests\n- **Break complex tasks** into smaller, focused prompts\n- **Provide context** about your project structure and goals\n WebContainer preview not loading If the live preview isn't working:
- **Check WebContainer status** in the terminal\n- **Verify Node.js compatibility** with your project\n- **Restart the development environment**\n- **Clear browser cache** and reload\n- **Check for conflicting ports** (default is 5173)\n Received structured exception #0xc0000005: access violation Windows-specific issue: Update the Visual C++ Redistributable
Miniflare or Wrangler errors in WindowsWindows development environment: Install Visual Studio C++ (version 14.40.33816 or later). More details in GitHub Issues
Provider not showing up after adding itIf your custom LLM provider isn't appearing:
- **Restart the development server** to reload providers\n- **Check the provider registry** in `app/lib/modules/llm/registry.ts`\n- **Verify the provider class** extends `BaseProvider` correctly\n- **Check browser console** for provider loading errors\n- **Ensure proper TypeScript compilation** without errors\n"},{"location":"FAQ/#get-help-support","title":"Get Help & Support","text":"Community Support
Join the bolt.diy Community for discussions and help
Report Issues
Open an Issue in our GitHub Repository
"}]}