feat: increase icon size and fix linting

This commit is contained in:
Harivansh Rathi 2024-12-14 10:33:28 -05:00
parent eef7a6557f
commit 62b995490e
21 changed files with 166 additions and 139 deletions

View file

@ -1,4 +1,4 @@
name: "Bug report" name: 'Bug report'
description: Create a report to help us improve description: Create a report to help us improve
body: body:
- type: markdown - type: markdown

View file

@ -14,20 +14,20 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout the code - name: Checkout the code
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Update commit file - name: Get the latest commit hash
run: | run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Commit and push the update - name: Update commit file
run: | run: |
git config --global user.name "github-actions[bot]" echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add app/commit.json - name: Commit and push the update
git commit -m "chore: update commit hash to $COMMIT_HASH" run: |
git push git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add app/commit.json
git commit -m "chore: update commit hash to $COMMIT_HASH"
git push

View file

@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4 - uses: actions/cache@v4
with: with:
key: mkdocs-material-${{ env.cache_id }} key: mkdocs-material-${{ env.cache_id }}
@ -30,4 +30,4 @@ jobs:
mkdocs-material- mkdocs-material-
- run: pip install mkdocs-material - run: pip install mkdocs-material
- run: mkdocs gh-deploy --force - run: mkdocs gh-deploy --force

View file

@ -9,10 +9,10 @@ on:
jobs: jobs:
validate: validate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Validate PR Labels - name: Validate PR Labels
run: | run: |
if [[ "${{ contains(github.event.pull_request.labels.*.name, 'stable-release') }}" == "true" ]]; then if [[ "${{ contains(github.event.pull_request.labels.*.name, 'stable-release') }}" == "true" ]]; then
@ -28,4 +28,4 @@ jobs:
fi fi
else else
echo "This PR doesn't have the stable-release label. No release will be created." echo "This PR doesn't have the stable-release label. No release will be created."
fi fi

View file

@ -2,8 +2,8 @@ name: Mark Stale Issues and Pull Requests
on: on:
schedule: schedule:
- cron: '0 2 * * *' # Runs daily at 2:00 AM UTC - cron: '0 2 * * *' # Runs daily at 2:00 AM UTC
workflow_dispatch: # Allows manual triggering of the workflow workflow_dispatch: # Allows manual triggering of the workflow
jobs: jobs:
stale: stale:
@ -14,12 +14,12 @@ jobs:
uses: actions/stale@v8 uses: actions/stale@v8
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: "This issue has been marked as stale due to inactivity. If no further activity occurs, it will be closed in 7 days." stale-issue-message: 'This issue has been marked as stale due to inactivity. If no further activity occurs, it will be closed in 7 days.'
stale-pr-message: "This pull request has been marked as stale due to inactivity. If no further activity occurs, it will be closed in 7 days." stale-pr-message: 'This pull request has been marked as stale due to inactivity. If no further activity occurs, it will be closed in 7 days.'
days-before-stale: 10 # Number of days before marking an issue or PR as stale days-before-stale: 10 # Number of days before marking an issue or PR as stale
days-before-close: 4 # Number of days after being marked stale before closing days-before-close: 4 # Number of days after being marked stale before closing
stale-issue-label: "stale" # Label to apply to stale issues stale-issue-label: 'stale' # Label to apply to stale issues
stale-pr-label: "stale" # Label to apply to stale pull requests stale-pr-label: 'stale' # Label to apply to stale pull requests
exempt-issue-labels: "pinned,important" # Issues with these labels won't be marked stale exempt-issue-labels: 'pinned,important' # Issues with these labels won't be marked stale
exempt-pr-labels: "pinned,important" # PRs with these labels won't be marked stale exempt-pr-labels: 'pinned,important' # PRs with these labels won't be marked stale
operations-per-run: 75 # Limits the number of actions per run to avoid API rate limits operations-per-run: 75 # Limits the number of actions per run to avoid API rate limits

View file

@ -7,35 +7,35 @@ on:
permissions: permissions:
contents: write contents: write
jobs: jobs:
update-commit: update-commit:
if: contains(github.event.head_commit.message, '#release') if: contains(github.event.head_commit.message, '#release')
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout the code - name: Checkout the code
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Update commit file - name: Get the latest commit hash
run: | run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Commit and push the update - name: Update commit file
run: | run: |
git config --global user.name "github-actions[bot]" echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add app/commit.json - name: Commit and push the update
git commit -m "chore: update commit hash to $COMMIT_HASH" run: |
git push git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add app/commit.json
git commit -m "chore: update commit hash to $COMMIT_HASH"
git push
prepare-release: prepare-release:
needs: update-commit needs: update-commit
if: contains(github.event.head_commit.message, '#release') if: contains(github.event.head_commit.message, '#release')
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -108,11 +108,11 @@ jobs:
run: | run: |
# Get the latest tag # Get the latest tag
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
# Start changelog file # Start changelog file
echo "# Release v${{ steps.bump_version.outputs.new_version }}" > changelog.md echo "# Release v${{ steps.bump_version.outputs.new_version }}" > changelog.md
echo "" >> changelog.md echo "" >> changelog.md
if [ -z "$LATEST_TAG" ]; then if [ -z "$LATEST_TAG" ]; then
echo "### 🎉 First Release" >> changelog.md echo "### 🎉 First Release" >> changelog.md
echo "" >> changelog.md echo "" >> changelog.md
@ -122,7 +122,7 @@ jobs:
echo "" >> changelog.md echo "" >> changelog.md
COMPARE_BASE="$LATEST_TAG" COMPARE_BASE="$LATEST_TAG"
fi fi
# Function to extract conventional commit type # Function to extract conventional commit type
get_commit_type() { get_commit_type() {
if [[ $1 =~ ^feat:|^feature: ]]; then echo "✨ Features"; if [[ $1 =~ ^feat:|^feature: ]]; then echo "✨ Features";
@ -138,11 +138,11 @@ jobs:
else echo "🔍 Other Changes"; else echo "🔍 Other Changes";
fi fi
} }
# Generate categorized changelog # Generate categorized changelog
declare -A CATEGORIES declare -A CATEGORIES
declare -A COMMITS_BY_CATEGORY declare -A COMMITS_BY_CATEGORY
# Get commits since last tag or all commits if no tag exists # Get commits since last tag or all commits if no tag exists
while IFS= read -r commit_line; do while IFS= read -r commit_line; do
HASH=$(echo "$commit_line" | cut -d'|' -f1) HASH=$(echo "$commit_line" | cut -d'|' -f1)
@ -159,7 +159,7 @@ jobs:
COMMITS_BY_CATEGORY["$CATEGORY"]+="- ${MSG#*: }"$'\n' COMMITS_BY_CATEGORY["$CATEGORY"]+="- ${MSG#*: }"$'\n'
fi fi
done < <(git log "${COMPARE_BASE}..HEAD" --pretty=format:"%H|%s|%(trailers:key=PR-Number,valueonly)" --reverse) done < <(git log "${COMPARE_BASE}..HEAD" --pretty=format:"%H|%s|%(trailers:key=PR-Number,valueonly)" --reverse)
# Write categorized commits to changelog # Write categorized commits to changelog
for category in "✨ Features" "🐛 Bug Fixes" "📚 Documentation" "💎 Styles" "♻️ Code Refactoring" "⚡️ Performance Improvements" "✅ Tests" "🛠️ Build System" "⚙️ CI" "🔧 Chores" "🔍 Other Changes"; do for category in "✨ Features" "🐛 Bug Fixes" "📚 Documentation" "💎 Styles" "♻️ Code Refactoring" "⚡️ Performance Improvements" "✅ Tests" "🛠️ Build System" "⚙️ CI" "🔧 Chores" "🔍 Other Changes"; do
if [ -n "${COMMITS_BY_CATEGORY[$category]}" ]; then if [ -n "${COMMITS_BY_CATEGORY[$category]}" ]; then
@ -169,12 +169,12 @@ jobs:
echo "" >> changelog.md echo "" >> changelog.md
fi fi
done done
# Add compare link if not first release # Add compare link if not first release
if [ -n "$LATEST_TAG" ]; then if [ -n "$LATEST_TAG" ]; then
echo "**Full Changelog**: [\`$LATEST_TAG..v${{ steps.bump_version.outputs.new_version }}\`](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/compare/$LATEST_TAG...v${{ steps.bump_version.outputs.new_version }})" >> changelog.md echo "**Full Changelog**: [\`$LATEST_TAG..v${{ steps.bump_version.outputs.new_version }}\`](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/compare/$LATEST_TAG...v${{ steps.bump_version.outputs.new_version }})" >> changelog.md
fi fi
# Save changelog content for the release # Save changelog content for the release
CHANGELOG_CONTENT=$(cat changelog.md) CHANGELOG_CONTENT=$(cat changelog.md)
echo "content<<EOF" >> $GITHUB_OUTPUT echo "content<<EOF" >> $GITHUB_OUTPUT
@ -207,4 +207,4 @@ jobs:
gh release create "$VERSION" \ gh release create "$VERSION" \
--title "Release $VERSION" \ --title "Release $VERSION" \
--notes "${{ steps.changelog.outputs.content }}" \ --notes "${{ steps.changelog.outputs.content }}" \
--target stable --target stable

View file

@ -3,6 +3,7 @@
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. 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.
## 📋 Table of Contents ## 📋 Table of Contents
- [Code of Conduct](#code-of-conduct) - [Code of Conduct](#code-of-conduct)
- [How Can I Contribute?](#how-can-i-contribute) - [How Can I Contribute?](#how-can-i-contribute)
- [Pull Request Guidelines](#pull-request-guidelines) - [Pull Request Guidelines](#pull-request-guidelines)
@ -18,29 +19,34 @@ This project and everyone participating in it is governed by our Code of Conduct
## How Can I Contribute? ## How Can I Contribute?
### 🐞 Reporting Bugs and Feature Requests ### 🐞 Reporting Bugs and Feature Requests
- Check the issue tracker to avoid duplicates - Check the issue tracker to avoid duplicates
- Use the issue templates when available - Use the issue templates when available
- Include as much relevant information as possible - Include as much relevant information as possible
- For bugs, add steps to reproduce the issue - For bugs, add steps to reproduce the issue
### 🔧 Code Contributions ### 🔧 Code Contributions
1. Fork the repository 1. Fork the repository
2. Create a new branch for your feature/fix 2. Create a new branch for your feature/fix
3. Write your code 3. Write your code
4. Submit a pull request 4. Submit a pull request
### ✨ Becoming a Core Contributor ### ✨ 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). 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 ## Pull Request Guidelines
### 📝 PR Checklist ### 📝 PR Checklist
- [ ] Branch from the main branch - [ ] Branch from the main branch
- [ ] Update documentation if needed - [ ] Update documentation if needed
- [ ] Manually verify all new functionality works as expected - [ ] Manually verify all new functionality works as expected
- [ ] Keep PRs focused and atomic - [ ] Keep PRs focused and atomic
### 👀 Review Process ### 👀 Review Process
1. Manually test the changes 1. Manually test the changes
2. At least one maintainer review required 2. At least one maintainer review required
3. Address all review comments 3. Address all review comments
@ -49,22 +55,26 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Coding Standards ## Coding Standards
### 💻 General Guidelines ### 💻 General Guidelines
- Follow existing code style - Follow existing code style
- Comment complex logic - Comment complex logic
- Keep functions focused and small - Keep functions focused and small
- Use meaningful variable names - Use meaningful variable names
- Lint your code. This repo contains a pre-commit-hook that will verify your code is linted properly, - Lint your code. This repo contains a pre-commit-hook that will verify your code is linted properly,
so set up your IDE to do that for you! so set up your IDE to do that for you!
## Development Setup ## Development Setup
### 🔄 Initial Setup ### 🔄 Initial Setup
1. Clone the repository: 1. Clone the repository:
```bash ```bash
git clone https://github.com/coleam00/bolt.new-any-llm.git git clone https://github.com/coleam00/bolt.new-any-llm.git
``` ```
2. Install dependencies: 2. Install dependencies:
```bash ```bash
pnpm install pnpm install
``` ```
@ -72,6 +82,7 @@ pnpm install
3. Set up environment variables: 3. Set up environment variables:
- Rename `.env.example` to `.env.local` - Rename `.env.example` to `.env.local`
- Add your LLM API keys (only set the ones you plan to use): - Add your LLM API keys (only set the ones you plan to use):
```bash ```bash
GROQ_API_KEY=XXX GROQ_API_KEY=XXX
HuggingFace_API_KEY=XXX HuggingFace_API_KEY=XXX
@ -79,26 +90,30 @@ OPENAI_API_KEY=XXX
ANTHROPIC_API_KEY=XXX ANTHROPIC_API_KEY=XXX
... ...
``` ```
- Optionally set debug level:
- Optionally set debug level:
```bash ```bash
VITE_LOG_LEVEL=debug VITE_LOG_LEVEL=debug
``` ```
- Optionally set context size: - Optionally set context size:
```bash ```bash
DEFAULT_NUM_CTX=32768 DEFAULT_NUM_CTX=32768
``` ```
Some Example Context Values for the qwen2.5-coder:32b models are. Some Example Context Values for the qwen2.5-coder:32b models are.
* DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM - DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
* DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM - DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
* DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM - DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM
* DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM - DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM
**Important**: Never commit your `.env.local` file to version control. It's already included in .gitignore. **Important**: Never commit your `.env.local` file to version control. It's already included in .gitignore.
### 🚀 Running the Development Server ### 🚀 Running the Development Server
```bash ```bash
pnpm run dev pnpm run dev
``` ```
@ -205,6 +220,7 @@ The `docker-compose.yaml` configuration is compatible with VS Code dev container
## Environment Files ## Environment Files
Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain: Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain:
- API keys - API keys
- Environment-specific configurations - Environment-specific configurations
- Other required environment variables - Other required environment variables

2
FAQ.md
View file

@ -43,7 +43,7 @@ We promise you that we are constantly testing new PRs coming into Bolt.diy and t
### How to add a LLM: ### How to add a LLM:
To make new LLMs available to use in this version of Bolt.new, 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. To make new LLMs available to use in this version of Bolt.new, 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.
By default, Anthropic, OpenAI, Groq, and Ollama are implemented as providers, but the YouTube video for this repo covers how to extend this to work with more providers if you wish! By default, Anthropic, OpenAI, Groq, and Ollama are implemented as providers, but the YouTube video for this repo covers how to extend this to work with more providers if you wish!

View file

@ -20,6 +20,7 @@ Welcome to asap.it, an AI-powered full-stack web development platform that lets
2. Clone the repository 2. Clone the repository
3. Rename `.env.example` to `.env.local` and add your LLM API keys 3. Rename `.env.example` to `.env.local` and add your LLM API keys
4. Install dependencies: 4. Install dependencies:
```bash ```bash
pnpm install pnpm install
``` ```
@ -27,6 +28,7 @@ pnpm install
## Development ## Development
Run the development server: Run the development server:
```bash ```bash
pnpm run dev pnpm run dev
``` ```
@ -34,6 +36,7 @@ pnpm run dev
## Docker Support ## Docker Support
Build and run with Docker: Build and run with Docker:
```bash ```bash
# Development # Development
npm run dockerbuild npm run dockerbuild
@ -47,6 +50,7 @@ docker-compose --profile production up
## Environment Variables ## Environment Variables
Required (set only the ones you plan to use): Required (set only the ones you plan to use):
``` ```
GROQ_API_KEY=XXX GROQ_API_KEY=XXX
OPENAI_API_KEY=XXX OPENAI_API_KEY=XXX
@ -54,7 +58,9 @@ ANTHROPIC_API_KEY=XXX
``` ```
Optional: Optional:
``` ```
VITE_LOG_LEVEL=debug VITE_LOG_LEVEL=debug
OLLAMA_API_BASE_URL=http://localhost:11434 OLLAMA_API_BASE_URL=http://localhost:11434
DEFAULT_NUM_CTX=8192 DEFAULT_NUM_CTX=8192
```

View file

@ -284,14 +284,12 @@ export const BaseChat = React.forwardRef<HTMLDivElement, BaseChatProps>(
<div className={classNames(styles.Chat, 'flex flex-col flex-grow lg:min-w-[var(--chat-min-width)] h-full')}> <div className={classNames(styles.Chat, 'flex flex-col flex-grow lg:min-w-[var(--chat-min-width)] h-full')}>
{!chatStarted && ( {!chatStarted && (
<div id="intro" className="mt-[26vh] max-w-chat mx-auto text-center px-4 lg:px-0"> <div id="intro" className="mt-[26vh] max-w-chat mx-auto text-center px-4 lg:px-0">
<div className="flex flex-col items-center justify-center"> <div className="flex flex-col items-center justify-center">
<div className="w-16 h-16 mb-4"> <div className="w-16 h-16 mb-4">
<img src="/favicon.svg" alt="Asap.it Logo" className="w-full h-full" /> <img src="/favicon.svg" alt="Asap.it Logo" className="w-full h-full" />
</div> </div>
<h1 className="text-3xl lg:text-6xl font-bold text-bolt-elements-textPrimary mb-4 animate-fade-in"> <h1 className="text-3xl lg:text-6xl font-bold text-bolt-elements-textPrimary mb-4 animate-fade-in">
Lets asap it Let's asap it
</h1> </h1>
<p className="text-md lg:text-xl mb-8 text-bolt-elements-textSecondary animate-fade-in animation-delay-200"> <p className="text-md lg:text-xl mb-8 text-bolt-elements-textSecondary animate-fade-in animation-delay-200">
Bring ideas to life in seconds or get help on existing projects. Bring ideas to life in seconds or get help on existing projects.

View file

@ -112,11 +112,7 @@
--cm-searchMatch-backgroundColor: var(--bolt-elements-editor-searchMatch-backgroundColor, rgba(234, 92, 0, 0.33)); --cm-searchMatch-backgroundColor: var(--bolt-elements-editor-searchMatch-backgroundColor, rgba(234, 92, 0, 0.33));
&[data-selected='true'] { &[data-selected='true'] {
background: linear-gradient( background: linear-gradient(to right, theme('colors.alpha.gray.30'), transparent);
to right,
theme('colors.alpha.gray.30'),
transparent
);
} }
} }

View file

@ -38,7 +38,7 @@
- added sync files to selected local folder function is created. Yarn package manager fixes, styling fixes. Sass module fix. Added Claude model for open router. - added sync files to selected local folder function is created. Yarn package manager fixes, styling fixes. Sass module fix. Added Claude model for open router.
- add ability to enter API keys in the UI - add ability to enter API keys in the UI
- added bolt dedicated shell - added bolt dedicated shell
- hyperlinked on "Start application" actionto switch to preview in workbench - hyperlinked on "Start application" actionto switch to preview in workbench
- add custom unique filename when doanload as zip - add custom unique filename when doanload as zip
- add Together AI integration and provider implementation guide - add Together AI integration and provider implementation guide
- better prompt enhancement - better prompt enhancement
@ -46,7 +46,6 @@
- search chats - search chats
- Connections Tabs - Connections Tabs
#### 🐛 Bug Fixes #### 🐛 Bug Fixes
- buttons after switching to tailwind-compat reset - buttons after switching to tailwind-compat reset
@ -84,7 +83,7 @@
- working - working
- Resolved - Resolved
- adds missing -t for dockerbuild:prod command in package.json - adds missing -t for dockerbuild:prod command in package.json
- bug #245 - bug #245
- added scroll fix for file browser - added scroll fix for file browser
- global execution queue added - global execution queue added
- enhance prompt "Invalid or missing provider" bad request error - enhance prompt "Invalid or missing provider" bad request error
@ -105,7 +104,6 @@
- re-capitalize "NEW" - re-capitalize "NEW"
- dev command - dev command
#### 📚 Documentation #### 📚 Documentation
- fix typo in CONTRIBUTING.md (#158) - fix typo in CONTRIBUTING.md (#158)
@ -114,21 +112,18 @@
- add link to bolt.new issue tracker - add link to bolt.new issue tracker
- added socials - added socials
#### ♻️ Code Refactoring #### ♻️ Code Refactoring
- workbench store and move logic into action runner (#4) - workbench store and move logic into action runner (#4)
- improve history item hover states and interactions - improve history item hover states and interactions
- settinge menu refactored with useSettings hook - settinge menu refactored with useSettings hook
#### ⚙️ CI #### ⚙️ CI
- use correct versions (#2) - use correct versions (#2)
- deploy to cloudflare (#19) - deploy to cloudflare (#19)
- remove deployment workflow - remove deployment workflow
#### 🔧 Chores #### 🔧 Chores
- make sure that husky hooks are executed - make sure that husky hooks are executed
@ -209,7 +204,6 @@
- adding workflow - adding workflow
- update commit hash to 6cb536a9a32e04b4ebc1f3788d6fae06c5bce5ac - update commit hash to 6cb536a9a32e04b4ebc1f3788d6fae06c5bce5ac
#### 🔍 Other Changes #### 🔍 Other Changes
- add file tree and hook up editor - add file tree and hook up editor
@ -328,7 +322,7 @@
- Corrected nixpacks.toml filename - Corrected nixpacks.toml filename
- Merge pull request #70 from ArulGandhi/main - Merge pull request #70 from ArulGandhi/main
- Corrected nixpacks.toml filename - Corrected nixpacks.toml filename
- Merge branch 'add-docker-support' of github.com:hillct/bolt.new-any-llm into add-docker-support Just a little cleanup... nixpax.toml is no more. Embedding Coolify config in Dockerfile and docker-compose.yaml - Merge branch 'add-docker-support' of github.com:hillct/bolt.new-any-llm into add-docker-support Just a little cleanup... nixpax.toml is no more. Embedding Coolify config in Dockerfile and docker-compose.yaml
- Adding hints for Coolify config into docker-compose.yaml - Adding hints for Coolify config into docker-compose.yaml
- Adding full suffix o cocker-compose.yaml for ompatibiliy - Adding full suffix o cocker-compose.yaml for ompatibiliy
- Merge branch 'main' into add-docker-support - Merge branch 'main' into add-docker-support
@ -467,7 +461,7 @@
- fixes for PR #332 - fixes for PR #332
- . - .
- model pickup - model pickup
- Update stream-text.ts dynamic model max Token updated - Update stream-text.ts dynamic model max Token updated
- Merge pull request #351 from hasanraiyan/main - Merge pull request #351 from hasanraiyan/main
- mobile friendly - mobile friendly
- mobile friendly editor scrollable option buttons - mobile friendly editor scrollable option buttons
@ -530,7 +524,7 @@
- artifact actionlist rendering in chat - artifact actionlist rendering in chat
- add prompt caching to README - add prompt caching to README
- upload new files - upload new files
- added faq - added faq
- Merge branch 'main' into docs - Merge branch 'main' into docs
- updated name - updated name
- pipeline fix - pipeline fix
@ -697,7 +691,7 @@
- Merge branch 'main' into Folder-import-refinement - Merge branch 'main' into Folder-import-refinement
- add vue support for codemirror - add vue support for codemirror
- Merge branch 'main' into ui-background-rays - Merge branch 'main' into ui-background-rays
- background rays and changed the theme color to purple - background rays and changed the theme color to purple
- updated theme color - updated theme color
- Merge pull request #580 from oTToDev-CE/feat/add-tabbed-setting-modal - Merge pull request #580 from oTToDev-CE/feat/add-tabbed-setting-modal
- Merge branch 'coleam00:main' into ui/model-dropdown - Merge branch 'coleam00:main' into ui/model-dropdown
@ -804,5 +798,3 @@
- Merge pull request #697 from thecodacus/update-socials - Merge pull request #697 from thecodacus/update-socials
- Merge pull request #701 from thecodacus/auto-versioning #release - Merge pull request #701 from thecodacus/auto-versioning #release
- skipping commit version - skipping commit version

View file

@ -6,8 +6,8 @@ services:
dockerfile: Dockerfile dockerfile: Dockerfile
target: bolt-ai-production target: bolt-ai-production
ports: ports:
- "5173:5173" - '5173:5173'
env_file: ".env.local" env_file: '.env.local'
environment: environment:
- NODE_ENV=production - NODE_ENV=production
- COMPOSE_PROFILES=production - COMPOSE_PROFILES=production
@ -26,7 +26,7 @@ services:
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768} - DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- RUNNING_IN_DOCKER=true - RUNNING_IN_DOCKER=true
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - 'host.docker.internal:host-gateway'
command: pnpm run dockerstart command: pnpm run dockerstart
profiles: profiles:
- production - production
@ -56,7 +56,7 @@ services:
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768} - DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- RUNNING_IN_DOCKER=true - RUNNING_IN_DOCKER=true
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - 'host.docker.internal:host-gateway'
volumes: volumes:
- type: bind - type: bind
source: . source: .
@ -64,6 +64,6 @@ services:
consistency: cached consistency: cached
- /app/node_modules - /app/node_modules
ports: ports:
- "5173:5173" - '5173:5173'
command: pnpm run dev --host 0.0.0.0 command: pnpm run dev --host 0.0.0.0
profiles: ["development", "default"] profiles: ['development', 'default']

View file

@ -7,6 +7,7 @@ The `DEFAULT_NUM_CTX` environment variable can be used to limit the maximum numb
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. 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.
## 📋 Table of Contents ## 📋 Table of Contents
- [Code of Conduct](#code-of-conduct) - [Code of Conduct](#code-of-conduct)
- [How Can I Contribute?](#how-can-i-contribute) - [How Can I Contribute?](#how-can-i-contribute)
- [Pull Request Guidelines](#pull-request-guidelines) - [Pull Request Guidelines](#pull-request-guidelines)
@ -21,29 +22,34 @@ This project and everyone participating in it is governed by our Code of Conduct
## How Can I Contribute? ## How Can I Contribute?
### 🐞 Reporting Bugs and Feature Requests ### 🐞 Reporting Bugs and Feature Requests
- Check the issue tracker to avoid duplicates - Check the issue tracker to avoid duplicates
- Use the issue templates when available - Use the issue templates when available
- Include as much relevant information as possible - Include as much relevant information as possible
- For bugs, add steps to reproduce the issue - For bugs, add steps to reproduce the issue
### 🔧 Code Contributions ### 🔧 Code Contributions
1. Fork the repository 1. Fork the repository
2. Create a new branch for your feature/fix 2. Create a new branch for your feature/fix
3. Write your code 3. Write your code
4. Submit a pull request 4. Submit a pull request
### ✨ Becoming a Core Contributor ### ✨ 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). 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 ## Pull Request Guidelines
### 📝 PR Checklist ### 📝 PR Checklist
- [ ] Branch from the main branch - [ ] Branch from the main branch
- [ ] Update documentation if needed - [ ] Update documentation if needed
- [ ] Manually verify all new functionality works as expected - [ ] Manually verify all new functionality works as expected
- [ ] Keep PRs focused and atomic - [ ] Keep PRs focused and atomic
### 👀 Review Process ### 👀 Review Process
1. Manually test the changes 1. Manually test the changes
2. At least one maintainer review required 2. At least one maintainer review required
3. Address all review comments 3. Address all review comments
@ -52,6 +58,7 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Coding Standards ## Coding Standards
### 💻 General Guidelines ### 💻 General Guidelines
- Follow existing code style - Follow existing code style
- Comment complex logic - Comment complex logic
- Keep functions focused and small - Keep functions focused and small
@ -60,12 +67,15 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Development Setup ## Development Setup
### 🔄 Initial Setup ### 🔄 Initial Setup
1. Clone the repository: 1. Clone the repository:
```bash ```bash
git clone https://github.com/stackblitz-labs/bolt.diy.git git clone https://github.com/stackblitz-labs/bolt.diy.git
``` ```
2. Install dependencies: 2. Install dependencies:
```bash ```bash
pnpm install pnpm install
``` ```
@ -73,6 +83,7 @@ pnpm install
3. Set up environment variables: 3. Set up environment variables:
- Rename `.env.example` to `.env.local` - Rename `.env.example` to `.env.local`
- Add your LLM API keys (only set the ones you plan to use): - Add your LLM API keys (only set the ones you plan to use):
```bash ```bash
GROQ_API_KEY=XXX GROQ_API_KEY=XXX
HuggingFace_API_KEY=XXX HuggingFace_API_KEY=XXX
@ -80,26 +91,30 @@ OPENAI_API_KEY=XXX
ANTHROPIC_API_KEY=XXX ANTHROPIC_API_KEY=XXX
... ...
``` ```
- Optionally set debug level:
- Optionally set debug level:
```bash ```bash
VITE_LOG_LEVEL=debug VITE_LOG_LEVEL=debug
``` ```
- Optionally set context size: - Optionally set context size:
```bash ```bash
DEFAULT_NUM_CTX=32768 DEFAULT_NUM_CTX=32768
``` ```
Some Example Context Values for the qwen2.5-coder:32b models are. Some Example Context Values for the qwen2.5-coder:32b models are.
* DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM - DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
* DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM - DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
* DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM - DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM
* DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM - DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM
**Important**: Never commit your `.env.local` file to version control. It's already included in .gitignore. **Important**: Never commit your `.env.local` file to version control. It's already included in .gitignore.
### 🚀 Running the Development Server ### 🚀 Running the Development Server
```bash ```bash
pnpm run dev pnpm run dev
``` ```
@ -206,6 +221,7 @@ The `docker-compose.yaml` configuration is compatible with VS Code dev container
## Environment Files ## Environment Files
Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain: Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain:
- API keys - API keys
- Environment-specific configurations - Environment-specific configurations
- Other required environment variables - Other required environment variables

View file

@ -6,14 +6,14 @@
Mention the frameworks or libraries you want to use (e.g., Astro, Tailwind, ShadCN) in your initial prompt. This ensures that Bolt.diy scaffolds the project according to your preferences. Mention the frameworks or libraries you want to use (e.g., Astro, Tailwind, ShadCN) in your initial prompt. This ensures that Bolt.diy scaffolds the project according to your preferences.
- **Use the enhance prompt icon**: - **Use the enhance prompt icon**:
Before sending your prompt, click the *enhance* icon to let the AI refine your prompt. You can edit the suggested improvements before submitting. Before sending your prompt, click the _enhance_ icon to let the AI refine your prompt. You can edit the suggested improvements before submitting.
- **Scaffold the basics first, then add features**: - **Scaffold the basics first, then add features**:
Ensure the foundational structure of your application is in place before introducing advanced functionality. This helps Bolt.diy establish a solid base to build on. Ensure the foundational structure of your application is in place before introducing advanced functionality. This helps Bolt.diy establish a solid base to build on.
- **Batch simple instructions**: - **Batch simple instructions**:
Combine simple tasks into a single prompt to save time and reduce API credit consumption. For example: Combine simple tasks into a single prompt to save time and reduce API credit consumption. For example:
*"Change the color scheme, add mobile responsiveness, and restart the dev server."* _"Change the color scheme, add mobile responsiveness, and restart the dev server."_
--- ---
@ -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? ## What are the future plans for Bolt.diy?
Visit our [Roadmap](https://roadmap.sh/r/ottodev-roadmap-2ovzo) for the latest updates. Visit our [Roadmap](https://roadmap.sh/r/ottodev-roadmap-2ovzo) for the latest updates.
@ -33,7 +32,7 @@ New features and improvements are on the way!
## Why are there so many open issues/pull requests? ## 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! 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!
Were forming a team of maintainers to manage demand and streamline issue resolution. The maintainers are rockstars, and were also exploring partnerships to help the project thrive. Were forming a team of maintainers to manage demand and streamline issue resolution. The maintainers are rockstars, and were also exploring partnerships to help the project thrive.
@ -48,29 +47,35 @@ While local LLMs are improving rapidly, larger models like GPT-4o, Claude 3.5 So
## Common Errors and Troubleshooting ## Common Errors and Troubleshooting
### **"There was an error processing this request"** ### **"There was an error processing this request"**
This generic error message means something went wrong. Check both: This generic error message means something went wrong. Check both:
- The terminal (if you started the app with Docker or `pnpm`). - The terminal (if you started the app with Docker or `pnpm`).
- The developer console in your browser (press `F12` or right-click > *Inspect*, then go to the *Console* tab). - The developer console in your browser (press `F12` or right-click > _Inspect_, then go to the _Console_ tab).
--- ---
### **"x-api-key header missing"** ### **"x-api-key header missing"**
This error is sometimes resolved by restarting the Docker container. This error is sometimes resolved by restarting the Docker container.
If that doesnt work, try switching from Docker to `pnpm` or vice versa. Were actively investigating this issue. If that doesnt work, try switching from Docker to `pnpm` or vice versa. Were actively investigating this issue.
--- ---
### **Blank preview when running the app** ### **Blank preview when running the app**
A blank preview often occurs due to hallucinated bad code or incorrect commands. A blank preview often occurs due to hallucinated bad code or incorrect commands.
To troubleshoot: To troubleshoot:
- Check the developer console for errors. - Check the developer console for errors.
- Remember, previews are core functionality, so the app isnt broken! Were working on making these errors more transparent. - Remember, previews are core functionality, so the app isnt broken! Were working on making these errors more transparent.
--- ---
### **"Everything works, but the results are bad"** ### **"Everything works, but the results are bad"**
Local LLMs like Qwen-2.5-Coder are powerful for small applications but still experimental for larger projects. For better results, consider using larger models like GPT-4o, Claude 3.5 Sonnet, or DeepSeek Coder V2 236b. Local LLMs like Qwen-2.5-Coder are powerful for small applications but still experimental for larger projects. For better results, consider using larger models like GPT-4o, Claude 3.5 Sonnet, or DeepSeek Coder V2 236b.
--- ---
Got more questions? Feel free to reach out or open an issue in our GitHub repo! Got more questions? Feel free to reach out or open an issue in our GitHub repo!

View file

@ -1,4 +1,5 @@
# Welcome to Bolt DIY # 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. 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! Join the community!
@ -14,13 +15,14 @@ Bolt.diy is an AI-powered web development agent that allows you to prompt, run,
Claude, v0, etc are incredible- but you can't install packages, run backends, or edit code. Thats where Bolt.diy stands out: Claude, v0, etc are incredible- but you can't install packages, run backends, or edit code. Thats where Bolt.diy stands out:
- **Full-Stack in the Browser**: Bolt.diy integrates cutting-edge AI models with an in-browser development environment powered by **StackBlitzs WebContainers**. This allows you to: - **Full-Stack in the Browser**: Bolt.diy integrates cutting-edge AI models with an in-browser development environment powered by **StackBlitzs WebContainers**. This allows you to:
- Install and run npm tools and libraries (like Vite, Next.js, and more) - Install and run npm tools and libraries (like Vite, Next.js, and more)
- Run Node.js servers - Run Node.js servers
- Interact with third-party APIs - Interact with third-party APIs
- Deploy to production from chat - Deploy to production from chat
- Share your work via a URL - Share your work via a URL
- **AI with Environment Control**: Unlike traditional dev environments where the AI can only assist in code generation, Bolt.diy gives AI models **complete control** over the entire environment including the filesystem, node server, package manager, terminal, and browser console. This empowers AI agents to handle the whole app lifecycle—from creation to deployment. - **AI with Environment Control**: Unlike traditional dev environments where the AI can only assist in code generation, Bolt.diy gives AI models **complete control** over the entire environment including the filesystem, node server, package manager, terminal, and browser console. This empowers AI agents to handle the whole app lifecycle—from creation to deployment.
Whether youre an experienced developer, a PM, or a designer, Bolt.diy allows you to easily build production-grade full-stack applications. Whether youre an experienced developer, a PM, or a designer, Bolt.diy allows you to easily build production-grade full-stack applications.
@ -32,9 +34,9 @@ Many of you are new users to installing software from Github. If you have any in
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. Pay attention to the installer notes after completion.
On all operating systems, the path to Node.js should automatically be added to your system path. But you can check your path if you want to be sure. On Windows, you can search for "edit the system environment variables" in your system, select "Environment Variables..." once you are in the system properties, and then check for a path to Node in your "Path" system variable. On a Mac or Linux machine, it will tell you to check if /usr/local/bin is in your $PATH. To determine if usr/local/bin is included in $PATH open your Terminal and run: On all operating systems, the path to Node.js should automatically be added to your system path. But you can check your path if you want to be sure. On Windows, you can search for "edit the system environment variables" in your system, select "Environment Variables..." once you are in the system properties, and then check for a path to Node in your "Path" system variable. On a Mac or Linux machine, it will tell you to check if /usr/local/bin is in your $PATH. To determine if usr/local/bin is included in $PATH open your Terminal and run:
@ -150,7 +152,7 @@ pnpm run dev
## Adding New LLMs: ## 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. 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.
By default, Anthropic, OpenAI, Groq, and Ollama are implemented as providers, but the YouTube video for this repo covers how to extend this to work with more providers if you wish! By default, Anthropic, OpenAI, Groq, and Ollama are implemented as providers, but the YouTube video for this repo covers how to extend this to work with more providers if you wish!

View file

@ -33,7 +33,7 @@ theme:
# favicon: assets/logo.png # favicon: assets/logo.png
repo_name: Bolt.diy repo_name: Bolt.diy
repo_url: https://github.com/stackblitz-labs/bolt.diy repo_url: https://github.com/stackblitz-labs/bolt.diy
edit_uri: "" edit_uri: ''
extra: extra:
generator: false generator: false
@ -51,9 +51,6 @@ extra:
link: https://bsky.app/profile/bolt.diy link: https://bsky.app/profile/bolt.diy
name: Bolt.diy on Bluesky name: Bolt.diy on Bluesky
markdown_extensions: markdown_extensions:
- pymdownx.highlight: - pymdownx.highlight:
anchor_linenums: true anchor_linenums: true
@ -65,4 +62,4 @@ markdown_extensions:
- pymdownx.details - pymdownx.details
- pymdownx.superfences - pymdownx.superfences
- pymdownx.mark - pymdownx.mark
- attr_list - attr_list

View file

@ -4,13 +4,7 @@ import { getNamingConventionRule, tsFileExtensions } from '@blitz/eslint-plugin/
export default [ export default [
{ {
ignores: [ ignores: ['**/dist', '**/node_modules', '**/.wrangler', '**/bolt/build', '**/.history'],
'**/dist',
'**/node_modules',
'**/.wrangler',
'**/bolt/build',
'**/.history',
],
}, },
...blitzPlugin.configs.recommended(), ...blitzPlugin.configs.recommended(),
{ {
@ -20,15 +14,15 @@ export default [
'@typescript-eslint/no-empty-object-type': 'off', '@typescript-eslint/no-empty-object-type': 'off',
'@blitz/comment-syntax': 'off', '@blitz/comment-syntax': 'off',
'@blitz/block-scope-case': 'off', '@blitz/block-scope-case': 'off',
'array-bracket-spacing': ["error", "never"], 'array-bracket-spacing': ['error', 'never'],
'object-curly-newline': ["error", { "consistent": true }], 'object-curly-newline': ['error', { consistent: true }],
'keyword-spacing': ["error", { "before": true, "after": true }], 'keyword-spacing': ['error', { before: true, after: true }],
'consistent-return': "error", 'consistent-return': 'error',
'semi': ["error", "always"], semi: ['error', 'always'],
'curly': ["error"], curly: ['error'],
'no-eval': ["error"], 'no-eval': ['error'],
'linebreak-style': ["error", "unix"], 'linebreak-style': ['error', 'unix'],
'arrow-spacing': ["error", { "before": true, "after": true }] 'arrow-spacing': ['error', { before: true, after: true }],
}, },
}, },
{ {
@ -53,7 +47,7 @@ export default [
patterns: [ patterns: [
{ {
group: ['../'], group: ['../'],
message: 'Relative imports are not allowed. Please use \'~/\' instead.', message: "Relative imports are not allowed. Please use '~/' instead.",
}, },
], ],
}, },

View file

@ -7,4 +7,4 @@ console.log(`
`); `);
console.log('📍 Current Commit Version:', commit); console.log('📍 Current Commit Version:', commit);
console.log('★═══════════════════════════════════════★'); console.log('★═══════════════════════════════════════★');

View file

@ -1,7 +1,12 @@
{ {
"compilerOptions": { "compilerOptions": {
"lib": ["DOM", "DOM.Iterable", "ESNext"], "lib": ["DOM", "DOM.Iterable", "ESNext"],
"types": ["@remix-run/cloudflare", "vite/client", "@cloudflare/workers-types/2023-07-01", "@types/dom-speech-recognition"], "types": [
"@remix-run/cloudflare",
"vite/client",
"@cloudflare/workers-types/2023-07-01",
"@types/dom-speech-recognition"
],
"isolatedModules": true, "isolatedModules": true,
"esModuleInterop": true, "esModuleInterop": true,
"jsx": "react-jsx", "jsx": "react-jsx",

View file

@ -19,7 +19,7 @@ export default defineConfig((config) => {
future: { future: {
v3_fetcherPersist: true, v3_fetcherPersist: true,
v3_relativeSplatPath: true, v3_relativeSplatPath: true,
v3_throwAbortReason: true v3_throwAbortReason: true,
}, },
}), }),
UnoCSS(), UnoCSS(),
@ -27,7 +27,7 @@ export default defineConfig((config) => {
chrome129IssuePlugin(), chrome129IssuePlugin(),
config.mode === 'production' && optimizeCssModules({ apply: 'build' }), config.mode === 'production' && optimizeCssModules({ apply: 'build' }),
], ],
envPrefix: ["VITE_", "OPENAI_LIKE_API_", "OLLAMA_API_BASE_URL", "LMSTUDIO_API_BASE_URL","TOGETHER_API_BASE_URL"], envPrefix: ['VITE_', 'OPENAI_LIKE_API_', 'OLLAMA_API_BASE_URL', 'LMSTUDIO_API_BASE_URL', 'TOGETHER_API_BASE_URL'],
css: { css: {
preprocessorOptions: { preprocessorOptions: {
scss: { scss: {