diff --git a/app/commit.json b/app/commit.json index 4e78ac77..f60fd7b1 100644 --- a/app/commit.json +++ b/app/commit.json @@ -1 +1 @@ -{ "commit": "885e104f279ab8b63d31e0759cbb675c2a409cc5" } +{ "commit": "6ba93974a02a98c83badf2f0002ff4812b8f75a9" } \ No newline at end of file diff --git a/app/components/settings/providers/ProvidersTab.tsx b/app/components/settings/providers/ProvidersTab.tsx index ab85898b..281b4c80 100644 --- a/app/components/settings/providers/ProvidersTab.tsx +++ b/app/components/settings/providers/ProvidersTab.tsx @@ -6,7 +6,7 @@ import type { IProviderConfig } from '~/types/model'; import { logStore } from '~/lib/stores/logs'; // Import a default fallback icon -import DefaultIcon from '/icons/Ollama.svg'; // Adjust the path as necessary +import DefaultIcon from '/icons/Default.svg'; // Adjust the path as necessary export default function ProvidersTab() { const { providers, updateProviderSettings, isLocalModel } = useSettings(); diff --git a/app/utils/constants.ts b/app/utils/constants.ts index e83df05c..64259954 100644 --- a/app/utils/constants.ts +++ b/app/utils/constants.ts @@ -499,8 +499,6 @@ async function getLMStudioModels(_apiKeys?: Record, settings?: I })); } catch (e: any) { logStore.logError('Failed to get LMStudio models', e, { baseUrl: settings?.baseUrl }); - logger.warn('Failed to get LMStudio models: ', e.message || ''); - return []; } } diff --git a/docs/docs/CONTRIBUTING.md b/docs/docs/CONTRIBUTING.md index ce6d9f59..7b18010d 100644 --- a/docs/docs/CONTRIBUTING.md +++ b/docs/docs/CONTRIBUTING.md @@ -8,10 +8,14 @@ - [Development Setup](#development-setup) - [Deploymnt with Docker](#docker-deployment-documentation) +--- + ## Code of Conduct This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers. +--- + ## How Can I Contribute? ### 🐞 Reporting Bugs and Feature Requests @@ -29,6 +33,8 @@ This project and everyone participating in it is governed by our Code of Conduct ### ✨ Becoming a Core Contributor We're looking for dedicated contributors to help maintain and grow this project. If you're interested in becoming a core contributor, please fill out our [Contributor Application Form](https://forms.gle/TBSteXSDCtBDwr5m7). +--- + ## Pull Request Guidelines ### 📝 PR Checklist @@ -43,6 +49,8 @@ We're looking for dedicated contributors to help maintain and grow this project. 3. Address all review comments 4. Maintain clean commit history +--- + ## Coding Standards ### 💻 General Guidelines @@ -51,6 +59,8 @@ We're looking for dedicated contributors to help maintain and grow this project. - Keep functions focused and small - Use meaningful variable names +--- + ## Development Setup ### 🔄 Initial Setup @@ -100,6 +110,8 @@ pnpm run dev **Note**: 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. +--- + ## Testing Run the test suite with: @@ -108,6 +120,8 @@ Run the test suite with: pnpm test ``` +--- + ## Deployment To deploy the application to Cloudflare Pages: @@ -118,6 +132,8 @@ pnpm run deploy Make sure you have the necessary permissions and Wrangler is correctly configured for your Cloudflare account. +--- + # Docker Deployment Documentation This guide outlines various methods for building and deploying the application using Docker. @@ -160,6 +176,8 @@ docker-compose --profile development up docker-compose --profile production up ``` +--- + ## Running the Application After building using any of the methods above, run the container with: @@ -172,6 +190,8 @@ docker run -p 5173:5173 --env-file .env.local bolt-ai:development docker run -p 5173:5173 --env-file .env.local bolt-ai:production ``` +--- + ## Deployment with Coolify [Coolify](https://github.com/coollabsio/coolify) provides a straightforward deployment process: @@ -189,6 +209,8 @@ docker run -p 5173:5173 --env-file .env.local bolt-ai:production - Adjust other environment variables as needed 7. Deploy the application +--- + ## VS Code Integration The `docker-compose.yaml` configuration is compatible with VS Code dev containers: @@ -197,6 +219,8 @@ The `docker-compose.yaml` configuration is compatible with VS Code dev container 2. Select the dev container configuration 3. Choose the "development" profile from the context menu +--- + ## Environment Files Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain: @@ -204,12 +228,16 @@ Ensure you have the appropriate `.env.local` file configured before running the - Environment-specific configurations - Other required environment variables +--- + ## DEFAULT_NUM_CTX The `DEFAULT_NUM_CTX` environment variable can be used to limit the maximum number of context values used by the qwen2.5-coder model. For example, to limit the context to 24576 values (which uses 32GB of VRAM), set `DEFAULT_NUM_CTX=24576` in your `.env.local` file. First off, thank you for considering contributing to bolt.diy! This fork aims to expand the capabilities of the original project by integrating multiple LLM providers and enhancing functionality. Every contribution helps make bolt.diy a better tool for developers worldwide. +--- + ## Notes - Port 5173 is exposed and mapped for both development and production environments diff --git a/docs/docs/FAQ.md b/docs/docs/FAQ.md index 95c4c75b..de1b4b14 100644 --- a/docs/docs/FAQ.md +++ b/docs/docs/FAQ.md @@ -23,7 +23,6 @@ Check out our [Contribution Guide](CONTRIBUTING.md) for more details on how to g --- - ## What are the future plans for bolt.diy? Visit our [Roadmap](https://roadmap.sh/r/ottodev-roadmap-2ovzo) for the latest updates. diff --git a/docs/docs/index.md b/docs/docs/index.md index 029444bc..389e74ff 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -1,14 +1,20 @@ # Welcome to bolt diy bolt.diy allows you to choose the LLM that you use for each prompt! Currently, you can use OpenAI, Anthropic, Ollama, OpenRouter, Gemini, LMStudio, Mistral, xAI, HuggingFace, DeepSeek, or Groq models - and it is easily extended to use any other model supported by the Vercel AI SDK! See the instructions below for running this locally and extending it to include more models. -Join the community! +--- -https://thinktank.ottomator.ai +## Join the community! + +[Join the community!](https://thinktank.ottomator.ai) + +--- ## Whats bolt.diy bolt.diy is an AI-powered web development agent that allows you to prompt, run, edit, and deploy full-stack applications directly from your browser—no local setup required. If you're here to build your own AI-powered web dev agent using the Bolt open source codebase, [click here to get started!](./CONTRIBUTING.md) +--- + ## What Makes bolt.diy Different Claude, v0, etc are incredible- but you can't install packages, run backends, or edit code. That’s where bolt.diy stands out: @@ -26,13 +32,15 @@ Whether you’re an experienced developer, a PM, or a designer, bolt.diy allows For developers interested in building their own AI-powered development tools with WebContainers, check out the open-source Bolt codebase in this repo! +--- + ## Setup Many of you are new users to installing software from Github. If you have any installation troubles reach out and submit an "issue" using the links above, or feel free to enhance this documentation by forking, editing the instructions, and doing a pull request. -1. Install Git from https://git-scm.com/downloads +1. [Install Git from](https://git-scm.com/downloads) -2. Install Node.js from https://nodejs.org/en/download/ +2. [Install Node.js from](https://nodejs.org/en/download/) Pay attention to the installer notes after completion. @@ -62,11 +70,11 @@ defaults write com.apple.finder AppleShowAllFiles YES **NOTE**: you only have to set the ones you want to use and Ollama doesn't need an API key because it runs locally on your computer: -Get your GROQ API Key here: https://console.groq.com/keys +[Get your GROQ API Key here](https://console.groq.com/keys) -Get your Open AI API Key by following these instructions: https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key +[Get your Open AI API Key by following these instructions](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) -Get your Anthropic API Key in your account settings: https://console.anthropic.com/settings/keys +Get your Anthropic API Key in your [account settings](https://console.anthropic.com/settings/keys) ``` GROQ_API_KEY=XXX @@ -128,6 +136,8 @@ When you run the Docker Compose command with the development profile, any change make on your machine to the code will automatically be reflected in the site running on the container (i.e. hot reloading still applies!). +--- + ## Run Without Docker 1. Install dependencies using Terminal (or CMD in Windows with admin permissions): @@ -148,6 +158,8 @@ sudo npm install -g pnpm pnpm run dev ``` +--- + ## Adding New LLMs: To make new LLMs available to use in this version of bolt.diy, head on over to `app/utils/constants.ts` and find the constant MODEL_LIST. Each element in this array is an object that has the model ID for the name (get this from the provider's API documentation), a label for the frontend model dropdown, and the provider. @@ -156,6 +168,8 @@ By default, Anthropic, OpenAI, Groq, and Ollama are implemented as providers, bu When you add a new model to the MODEL_LIST array, it will immediately be available to use when you run the app locally or reload it. For Ollama models, make sure you have the model installed already before trying to use it here! +--- + ## Available Scripts - `pnpm run dev`: Starts the development server. @@ -167,6 +181,8 @@ When you add a new model to the MODEL_LIST array, it will immediately be availab - `pnpm run typegen`: Generates TypeScript types using Wrangler. - `pnpm run deploy`: Builds the project and deploys it to Cloudflare Pages. +--- + ## Development To start the development server: @@ -177,6 +193,8 @@ pnpm run dev 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. +--- + ## Tips and Tricks Here are some tips to get the most out of bolt.diy: diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 1153f8b7..6b693a1d 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: Bolt.diy Docs +site_name: bolt.diy Docs site_dir: ../site theme: name: material @@ -31,7 +31,7 @@ theme: repo: fontawesome/brands/github # logo: assets/logo.png # favicon: assets/logo.png -repo_name: Bolt.diy +repo_name: bolt.diy repo_url: https://github.com/stackblitz-labs/bolt.diy edit_uri: "" @@ -40,16 +40,16 @@ extra: social: - icon: fontawesome/brands/github link: https://github.com/stackblitz-labs/bolt.diy - name: Bolt.diy + name: bolt.diy - icon: fontawesome/brands/discourse link: https://thinktank.ottomator.ai/ - name: Bolt.diy Discourse + name: bolt.diy Discourse - icon: fontawesome/brands/x-twitter link: https://x.com/bolt_diy - name: Bolt.diy on X + name: bolt.diy on X - icon: fontawesome/brands/bluesky link: https://bsky.app/profile/bolt.diy - name: Bolt.diy on Bluesky + name: bolt.diy on Bluesky diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..333e9d11 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/icons/Default.svg b/public/icons/Default.svg new file mode 100644 index 00000000..dd63997b --- /dev/null +++ b/public/icons/Default.svg @@ -0,0 +1,4 @@ + + + + diff --git a/vite.config.ts b/vite.config.ts index 0313812a..f18b8b93 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -19,7 +19,8 @@ export default defineConfig((config) => { future: { v3_fetcherPersist: true, v3_relativeSplatPath: true, - v3_throwAbortReason: true + v3_throwAbortReason: true, + v3_lazyRouteDiscovery: true }, }), UnoCSS(),