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
body:
- type: markdown

View file

@ -14,20 +14,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Checkout the code
uses: actions/checkout@v3
- name: Update commit file
run: |
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Commit and push the update
run: |
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
- name: Update commit file
run: |
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Commit and push the update
run: |
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
with:
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
with:
key: mkdocs-material-${{ env.cache_id }}
@ -30,4 +30,4 @@ jobs:
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:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate PR Labels
run: |
if [[ "${{ contains(github.event.pull_request.labels.*.name, 'stable-release') }}" == "true" ]]; then
@ -28,4 +28,4 @@ jobs:
fi
else
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:
schedule:
- cron: '0 2 * * *' # Runs daily at 2:00 AM UTC
workflow_dispatch: # Allows manual triggering of the workflow
- cron: '0 2 * * *' # Runs daily at 2:00 AM UTC
workflow_dispatch: # Allows manual triggering of the workflow
jobs:
stale:
@ -14,12 +14,12 @@ jobs:
uses: actions/stale@v8
with:
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-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-close: 4 # Number of days after being marked stale before closing
stale-issue-label: "stale" # Label to apply to stale issues
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-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
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.'
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
stale-issue-label: 'stale' # Label to apply to stale issues
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-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

View file

@ -7,35 +7,35 @@ on:
permissions:
contents: write
jobs:
update-commit:
if: contains(github.event.head_commit.message, '#release')
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Checkout the code
uses: actions/checkout@v3
- name: Update commit file
run: |
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Get the latest commit hash
run: echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Commit and push the update
run: |
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
- name: Update commit file
run: |
echo "{ \"commit\": \"$COMMIT_HASH\" }" > app/commit.json
- name: Commit and push the update
run: |
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:
needs: update-commit
if: contains(github.event.head_commit.message, '#release')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
@ -108,11 +108,11 @@ jobs:
run: |
# Get the latest tag
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
# Start changelog file
echo "# Release v${{ steps.bump_version.outputs.new_version }}" > changelog.md
echo "" >> changelog.md
if [ -z "$LATEST_TAG" ]; then
echo "### 🎉 First Release" >> changelog.md
echo "" >> changelog.md
@ -122,7 +122,7 @@ jobs:
echo "" >> changelog.md
COMPARE_BASE="$LATEST_TAG"
fi
# Function to extract conventional commit type
get_commit_type() {
if [[ $1 =~ ^feat:|^feature: ]]; then echo "✨ Features";
@ -138,11 +138,11 @@ jobs:
else echo "🔍 Other Changes";
fi
}
# Generate categorized changelog
declare -A CATEGORIES
declare -A COMMITS_BY_CATEGORY
# Get commits since last tag or all commits if no tag exists
while IFS= read -r commit_line; do
HASH=$(echo "$commit_line" | cut -d'|' -f1)
@ -159,7 +159,7 @@ jobs:
COMMITS_BY_CATEGORY["$CATEGORY"]+="- ${MSG#*: }"$'\n'
fi
done < <(git log "${COMPARE_BASE}..HEAD" --pretty=format:"%H|%s|%(trailers:key=PR-Number,valueonly)" --reverse)
# 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
if [ -n "${COMMITS_BY_CATEGORY[$category]}" ]; then
@ -169,12 +169,12 @@ jobs:
echo "" >> changelog.md
fi
done
# Add compare link if not first release
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
fi
# Save changelog content for the release
CHANGELOG_CONTENT=$(cat changelog.md)
echo "content<<EOF" >> $GITHUB_OUTPUT
@ -207,4 +207,4 @@ jobs:
gh release create "$VERSION" \
--title "Release $VERSION" \
--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.
## 📋 Table of Contents
- [Code of Conduct](#code-of-conduct)
- [How Can I Contribute?](#how-can-i-contribute)
- [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?
### 🐞 Reporting Bugs and Feature Requests
- Check the issue tracker to avoid duplicates
- Use the issue templates when available
- Include as much relevant information as possible
- For bugs, add steps to reproduce the issue
### 🔧 Code Contributions
1. Fork the repository
2. Create a new branch for your feature/fix
3. Write your code
4. Submit a pull request
### ✨ 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
- [ ] Branch from the main branch
- [ ] Update documentation if needed
- [ ] Manually verify all new functionality works as expected
- [ ] Keep PRs focused and atomic
### 👀 Review Process
1. Manually test the changes
2. At least one maintainer review required
3. Address all review comments
@ -49,22 +55,26 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Coding Standards
### 💻 General Guidelines
- Follow existing code style
- Comment complex logic
- Keep functions focused and small
- Use meaningful variable names
- 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!
- 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!
## Development Setup
### 🔄 Initial Setup
1. Clone the repository:
```bash
git clone https://github.com/coleam00/bolt.new-any-llm.git
```
2. Install dependencies:
```bash
pnpm install
```
@ -72,6 +82,7 @@ pnpm install
3. Set up environment variables:
- Rename `.env.example` to `.env.local`
- Add your LLM API keys (only set the ones you plan to use):
```bash
GROQ_API_KEY=XXX
HuggingFace_API_KEY=XXX
@ -79,26 +90,30 @@ OPENAI_API_KEY=XXX
ANTHROPIC_API_KEY=XXX
...
```
- Optionally set debug level:
- Optionally set debug level:
```bash
VITE_LOG_LEVEL=debug
```
- Optionally set context size:
- Optionally set context size:
```bash
DEFAULT_NUM_CTX=32768
```
Some Example Context Values for the qwen2.5-coder:32b models are.
* DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
* DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
* DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM
* DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM
- DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
- DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
- DEFAULT_NUM_CTX=12288 - Consumes 26GB 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.
### 🚀 Running the Development Server
```bash
pnpm run dev
```
@ -205,6 +220,7 @@ The `docker-compose.yaml` configuration is compatible with VS Code dev container
## Environment Files
Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain:
- API keys
- Environment-specific configurations
- 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:
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!

View file

@ -20,6 +20,7 @@ Welcome to asap.it, an AI-powered full-stack web development platform that lets
2. Clone the repository
3. Rename `.env.example` to `.env.local` and add your LLM API keys
4. Install dependencies:
```bash
pnpm install
```
@ -27,6 +28,7 @@ pnpm install
## Development
Run the development server:
```bash
pnpm run dev
```
@ -34,6 +36,7 @@ pnpm run dev
## Docker Support
Build and run with Docker:
```bash
# Development
npm run dockerbuild
@ -47,6 +50,7 @@ docker-compose --profile production up
## Environment Variables
Required (set only the ones you plan to use):
```
GROQ_API_KEY=XXX
OPENAI_API_KEY=XXX
@ -54,7 +58,9 @@ ANTHROPIC_API_KEY=XXX
```
Optional:
```
VITE_LOG_LEVEL=debug
OLLAMA_API_BASE_URL=http://localhost:11434
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')}>
{!chatStarted && (
<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="w-16 h-16 mb-4">
<img src="/favicon.svg" alt="Asap.it Logo" className="w-full h-full" />
</div>
<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>
<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.

View file

@ -112,11 +112,7 @@
--cm-searchMatch-backgroundColor: var(--bolt-elements-editor-searchMatch-backgroundColor, rgba(234, 92, 0, 0.33));
&[data-selected='true'] {
background: linear-gradient(
to right,
theme('colors.alpha.gray.30'),
transparent
);
background: linear-gradient(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.
- add ability to enter API keys in the UI
- 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 Together AI integration and provider implementation guide
- better prompt enhancement
@ -46,7 +46,6 @@
- search chats
- Connections Tabs
#### 🐛 Bug Fixes
- buttons after switching to tailwind-compat reset
@ -84,7 +83,7 @@
- working
- Resolved
- adds missing -t for dockerbuild:prod command in package.json
- bug #245
- bug #245
- added scroll fix for file browser
- global execution queue added
- enhance prompt "Invalid or missing provider" bad request error
@ -105,7 +104,6 @@
- re-capitalize "NEW"
- dev command
#### 📚 Documentation
- fix typo in CONTRIBUTING.md (#158)
@ -114,21 +112,18 @@
- add link to bolt.new issue tracker
- added socials
#### ♻️ Code Refactoring
- workbench store and move logic into action runner (#4)
- improve history item hover states and interactions
- settinge menu refactored with useSettings hook
#### ⚙️ CI
- use correct versions (#2)
- deploy to cloudflare (#19)
- remove deployment workflow
#### 🔧 Chores
- make sure that husky hooks are executed
@ -209,7 +204,6 @@
- adding workflow
- update commit hash to 6cb536a9a32e04b4ebc1f3788d6fae06c5bce5ac
#### 🔍 Other Changes
- add file tree and hook up editor
@ -328,7 +322,7 @@
- Corrected nixpacks.toml filename
- Merge pull request #70 from ArulGandhi/main
- 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 full suffix o cocker-compose.yaml for ompatibiliy
- Merge branch 'main' into add-docker-support
@ -467,7 +461,7 @@
- fixes for PR #332
- .
- 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
- mobile friendly
- mobile friendly editor scrollable option buttons
@ -530,7 +524,7 @@
- artifact actionlist rendering in chat
- add prompt caching to README
- upload new files
- added faq
- added faq
- Merge branch 'main' into docs
- updated name
- pipeline fix
@ -697,7 +691,7 @@
- Merge branch 'main' into Folder-import-refinement
- add vue support for codemirror
- 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
- Merge pull request #580 from oTToDev-CE/feat/add-tabbed-setting-modal
- Merge branch 'coleam00:main' into ui/model-dropdown
@ -804,5 +798,3 @@
- Merge pull request #697 from thecodacus/update-socials
- Merge pull request #701 from thecodacus/auto-versioning #release
- skipping commit version

View file

@ -6,8 +6,8 @@ services:
dockerfile: Dockerfile
target: bolt-ai-production
ports:
- "5173:5173"
env_file: ".env.local"
- '5173:5173'
env_file: '.env.local'
environment:
- NODE_ENV=production
- COMPOSE_PROFILES=production
@ -26,7 +26,7 @@ services:
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- RUNNING_IN_DOCKER=true
extra_hosts:
- "host.docker.internal:host-gateway"
- 'host.docker.internal:host-gateway'
command: pnpm run dockerstart
profiles:
- production
@ -56,7 +56,7 @@ services:
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX:-32768}
- RUNNING_IN_DOCKER=true
extra_hosts:
- "host.docker.internal:host-gateway"
- 'host.docker.internal:host-gateway'
volumes:
- type: bind
source: .
@ -64,6 +64,6 @@ services:
consistency: cached
- /app/node_modules
ports:
- "5173:5173"
- '5173:5173'
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.
## 📋 Table of Contents
- [Code of Conduct](#code-of-conduct)
- [How Can I Contribute?](#how-can-i-contribute)
- [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?
### 🐞 Reporting Bugs and Feature Requests
- Check the issue tracker to avoid duplicates
- Use the issue templates when available
- Include as much relevant information as possible
- For bugs, add steps to reproduce the issue
### 🔧 Code Contributions
1. Fork the repository
2. Create a new branch for your feature/fix
3. Write your code
4. Submit a pull request
### ✨ 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
- [ ] Branch from the main branch
- [ ] Update documentation if needed
- [ ] Manually verify all new functionality works as expected
- [ ] Keep PRs focused and atomic
### 👀 Review Process
1. Manually test the changes
2. At least one maintainer review required
3. Address all review comments
@ -52,6 +58,7 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Coding Standards
### 💻 General Guidelines
- Follow existing code style
- Comment complex logic
- Keep functions focused and small
@ -60,12 +67,15 @@ We're looking for dedicated contributors to help maintain and grow this project.
## Development Setup
### 🔄 Initial Setup
1. Clone the repository:
```bash
git clone https://github.com/stackblitz-labs/bolt.diy.git
```
2. Install dependencies:
```bash
pnpm install
```
@ -73,6 +83,7 @@ pnpm install
3. Set up environment variables:
- Rename `.env.example` to `.env.local`
- Add your LLM API keys (only set the ones you plan to use):
```bash
GROQ_API_KEY=XXX
HuggingFace_API_KEY=XXX
@ -80,26 +91,30 @@ OPENAI_API_KEY=XXX
ANTHROPIC_API_KEY=XXX
...
```
- Optionally set debug level:
- Optionally set debug level:
```bash
VITE_LOG_LEVEL=debug
```
- Optionally set context size:
- Optionally set context size:
```bash
DEFAULT_NUM_CTX=32768
```
Some Example Context Values for the qwen2.5-coder:32b models are.
* DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
* DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
* DEFAULT_NUM_CTX=12288 - Consumes 26GB of VRAM
* DEFAULT_NUM_CTX=6144 - Consumes 24GB of VRAM
- DEFAULT_NUM_CTX=32768 - Consumes 36GB of VRAM
- DEFAULT_NUM_CTX=24576 - Consumes 32GB of VRAM
- DEFAULT_NUM_CTX=12288 - Consumes 26GB 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.
### 🚀 Running the Development Server
```bash
pnpm run dev
```
@ -206,6 +221,7 @@ The `docker-compose.yaml` configuration is compatible with VS Code dev container
## Environment Files
Ensure you have the appropriate `.env.local` file configured before running the containers. This file should contain:
- API keys
- Environment-specific configurations
- 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.
- **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**:
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**:
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?
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?
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.
@ -48,29 +47,35 @@ While local LLMs are improving rapidly, larger models like GPT-4o, Claude 3.5 So
## Common Errors and Troubleshooting
### **"There was an error processing this request"**
This generic error message means something went wrong. Check both:
- 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"**
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.
---
### **Blank preview when running the app**
A blank preview often occurs due to hallucinated bad code or incorrect commands.
To troubleshoot:
- Check the developer console for errors.
- 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"**
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
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!
@ -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:
- **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)
- Run Node.js servers
- Interact with third-party APIs
- Deploy to production from chat
- 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.
@ -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
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:
@ -150,7 +152,7 @@ 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.
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!

View file

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

View file

@ -4,13 +4,7 @@ import { getNamingConventionRule, tsFileExtensions } from '@blitz/eslint-plugin/
export default [
{
ignores: [
'**/dist',
'**/node_modules',
'**/.wrangler',
'**/bolt/build',
'**/.history',
],
ignores: ['**/dist', '**/node_modules', '**/.wrangler', '**/bolt/build', '**/.history'],
},
...blitzPlugin.configs.recommended(),
{
@ -20,15 +14,15 @@ export default [
'@typescript-eslint/no-empty-object-type': 'off',
'@blitz/comment-syntax': 'off',
'@blitz/block-scope-case': 'off',
'array-bracket-spacing': ["error", "never"],
'object-curly-newline': ["error", { "consistent": true }],
'keyword-spacing': ["error", { "before": true, "after": true }],
'consistent-return': "error",
'semi': ["error", "always"],
'curly': ["error"],
'no-eval': ["error"],
'linebreak-style': ["error", "unix"],
'arrow-spacing': ["error", { "before": true, "after": true }]
'array-bracket-spacing': ['error', 'never'],
'object-curly-newline': ['error', { consistent: true }],
'keyword-spacing': ['error', { before: true, after: true }],
'consistent-return': 'error',
semi: ['error', 'always'],
curly: ['error'],
'no-eval': ['error'],
'linebreak-style': ['error', 'unix'],
'arrow-spacing': ['error', { before: true, after: true }],
},
},
{
@ -53,7 +47,7 @@ export default [
patterns: [
{
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('★═══════════════════════════════════════★');
console.log('★═══════════════════════════════════════★');

View file

@ -1,7 +1,12 @@
{
"compilerOptions": {
"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,
"esModuleInterop": true,
"jsx": "react-jsx",

View file

@ -19,7 +19,7 @@ export default defineConfig((config) => {
future: {
v3_fetcherPersist: true,
v3_relativeSplatPath: true,
v3_throwAbortReason: true
v3_throwAbortReason: true,
},
}),
UnoCSS(),
@ -27,7 +27,7 @@ export default defineConfig((config) => {
chrome129IssuePlugin(),
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: {
preprocessorOptions: {
scss: {