Skip to content

Commit fbf1d46

Browse files
authored
Merge pull request #1245 from Stijnus/FEAT_BoltDYI_NEW_SETTINGS_UI_V3
feat: bolt dyi new settings UI V3
2 parents 6a8449e + ba58253 commit fbf1d46

File tree

148 files changed

+22523
-5525
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+22523
-5525
lines changed

.cursorrules

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# Project Overview
2+
3+
bolt.diy (previously oTToDev) is an open-source AI-powered full-stack web development platform that allows users to choose different LLM providers for coding assistance. The project supports multiple AI providers including OpenAI, Anthropic, Ollama, OpenRouter, Gemini, LMStudio, Mistral, xAI, HuggingFace, DeepSeek, and Groq.
4+
5+
# Personality
6+
7+
- Professional and technically precise
8+
- Focus on best practices and clean code
9+
- Provide clear explanations for code changes
10+
- Maintain consistent code style with the existing codebase
11+
12+
# Techstack
13+
14+
- Framework: Remix
15+
- Runtime: Node.js (>=18.18.0)
16+
- Package Manager: pnpm
17+
- UI: React with TypeScript
18+
- Styling: UnoCSS
19+
- Development Environment: Vite
20+
- Testing: Vitest
21+
- Deployment: Cloudflare Pages
22+
- Containerization: Docker
23+
- Code Quality: ESLint, Prettier, TypeScript
24+
25+
# our .env file
26+
27+
- Follow .env.example for required environment variables
28+
- Keep API keys and sensitive data in .env.local
29+
- Never commit .env files (they are gitignored)
30+
31+
# Error Fixing Process
32+
33+
1. Identify the root cause through error messages and logs
34+
2. Check relevant components and dependencies
35+
3. Verify type safety and TypeScript compliance
36+
4. Test changes locally before committing
37+
5. Follow existing error handling patterns
38+
39+
# Our Codebase
40+
41+
- Main application code in /app directory
42+
- Components follow a modular structure
43+
- Server-side code in app/lib/.server
44+
- Client-side utilities in app/lib/
45+
- Type definitions in types/ directory
46+
- Documentation in docs/ directory
47+
48+
# Current File Structure
49+
50+
- /app - Main application code
51+
- /docs - Documentation
52+
- /functions - Serverless functions
53+
- /public - Static assets
54+
- /scripts - Build and utility scripts
55+
- /types - TypeScript definitions
56+
- /icons - SVG icons and assets
57+
58+
# github upload process
59+
60+
1. Follow conventional commit messages
61+
2. Run linting and tests before committing
62+
3. Create feature branches for new work
63+
4. Submit PRs with clear descriptions
64+
5. Ensure CI/CD checks pass
65+
66+
# Important
67+
68+
- Keep dependencies updated
69+
- Follow TypeScript strict mode
70+
- Maintain backward compatibility
71+
- Document API changes
72+
- Test cross-browser compatibility
73+
74+
# comments
75+
76+
- Use JSDoc for function documentation
77+
- Keep comments clear and concise
78+
- Document complex logic and business rules
79+
- Update comments when changing code
80+
- Remove redundant comments
81+
- Always write comments that are relevant to the code they describe
82+
- Ensure comments explain the "why" not just the "what"
83+
84+
# code review
85+
86+
- Check for type safety
87+
- Verify error handling
88+
- Ensure code follows project patterns
89+
- Look for performance implications
90+
- Validate accessibility standards
91+
92+
# code writing
93+
94+
- Follow TypeScript best practices
95+
- Use functional components for React
96+
- Implement proper error boundaries
97+
- Write testable code
98+
- Follow the DRY principle
99+
100+
# code refactoring
101+
102+
- Maintain backward compatibility
103+
- Update tests alongside changes
104+
- Document breaking changes
105+
- Follow the project's type system
106+
- Keep components modular and reusable
107+
108+
# Development Process
109+
110+
- Write 3 reasoning paragraphs before implementing solutions
111+
- Analyze the problem space thoroughly before jumping to conclusions
112+
- Consider all edge cases and potential impacts
113+
- Process tasks with a Senior Developer mindset
114+
- Continue working until the solution is complete and verified
115+
- Remember and consider the full commit/change history when working
116+
117+
# Code Quality Guidelines
118+
119+
- Fewer lines of code is better, but not at the expense of readability
120+
- Preserve existing comments and documentation
121+
- Add meaningful comments explaining complex logic or business rules
122+
- Follow the principle of "Clean Code, Clear Intent"
123+
- Balance between conciseness and maintainability
124+
- Think twice, code once - avoid premature optimization
125+
- Never add comments just for the sake of commenting - ensure they add value
126+
127+
# Problem Solving Approach
128+
129+
1. Understand the context fully before making changes
130+
2. Document your reasoning and assumptions
131+
3. Consider alternative approaches and their trade-offs
132+
4. Validate your solution against existing patterns
133+
5. Test thoroughly before considering work complete
134+
6. Review impact on related components
135+
136+
# UI GUIDELINES
137+
138+
- Use consistent colors and typography
139+
- Ensure UI is responsive and accessible
140+
- Provide clear feedback for user actions
141+
- Use meaningful icons and labels
142+
- Keep UI clean and organized
143+
- Use consistent spacing and alignment
144+
- Use consistent naming conventions for components and variables
145+
- Use consistent file and folder structure
146+
- Use consistent naming conventions for components and variables
147+
- Use consistent file and folder structure
148+
149+
# Style Guide
150+
151+
- Use consistent naming conventions for components and variables
152+
- Use consistent file and folder structure
153+
- Respect the Light/Dark mode
154+
- Don't use white background for dark mode
155+
- Don't use white text on white background for dark mode
156+
- Match the style of the existing codebase
157+
- Use consistent naming conventions for components and variables

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: "Bug report"
1+
name: 'Bug report'
22
description: Create a report to help us improve
33
body:
44
- type: markdown

.github/ISSUE_TEMPLATE/epic.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ Usual values: Software Developers using the IDE | Contributors -->
1919

2020
# Capabilities
2121

22-
<!-- which existing capabilities or future features can be imagined that belong to this epic? This list serves as illustration to sketch the boundaries of this epic.
22+
<!-- which existing capabilities or future features can be imagined that belong to this epic? This list serves as illustration to sketch the boundaries of this epic.
2323
Once features are actually being planned / described in detail, they can be linked here. -->

.github/ISSUE_TEMPLATE/feature.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ assignees: ''
1313

1414
# Scope
1515

16-
<!-- This is kind-of the definition-of-done for a feature.
16+
<!-- This is kind-of the definition-of-done for a feature.
1717
Try to keep the scope as small as possible and prefer creating multiple, small features which each solve a single problem / make something better
1818
-->
1919

2020
# Options
21-
22-
<!-- If you already have an idea how this can be implemented, please describe it here.
21+
22+
<!-- If you already have an idea how this can be implemented, please describe it here.
2323
This allows potential other contributors to join forces and provide meaningful feedback prio to even starting work on it.
2424
-->
2525

.github/workflows/docker.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- main
99
tags:
1010
- v*
11-
- "*"
11+
- '*'
1212

1313
permissions:
1414
packages: write
@@ -57,7 +57,7 @@ jobs:
5757
with:
5858
registry: ${{ env.REGISTRY }}
5959
username: ${{ github.actor }} # ${{ secrets.DOCKER_USERNAME }}
60-
password: ${{ secrets.GITHUB_TOKEN }} # ${{ secrets.DOCKER_PASSWORD }}
60+
password: ${{ secrets.GITHUB_TOKEN }} # ${{ secrets.DOCKER_PASSWORD }}
6161

6262
- name: Build and push
6363
uses: docker/build-push-action@v6

.github/workflows/docs.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches:
66
- main
77
paths:
8-
- 'docs/**' # This will only trigger the workflow when files in docs directory change
8+
- 'docs/**' # This will only trigger the workflow when files in docs directory change
99
permissions:
1010
contents: write
1111
jobs:
@@ -23,7 +23,7 @@ jobs:
2323
- uses: actions/setup-python@v5
2424
with:
2525
python-version: 3.x
26-
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
26+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
2727
- uses: actions/cache@v4
2828
with:
2929
key: mkdocs-material-${{ env.cache_id }}
@@ -32,4 +32,4 @@ jobs:
3232
mkdocs-material-
3333
3434
- run: pip install mkdocs-material
35-
- run: mkdocs gh-deploy --force
35+
- run: mkdocs gh-deploy --force

.github/workflows/pr-release-validation.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ on:
99
jobs:
1010
validate:
1111
runs-on: ubuntu-latest
12-
12+
1313
steps:
1414
- uses: actions/checkout@v4
15-
15+
1616
- name: Validate PR Labels
1717
run: |
1818
if [[ "${{ contains(github.event.pull_request.labels.*.name, 'stable-release') }}" == "true" ]]; then
@@ -28,4 +28,4 @@ jobs:
2828
fi
2929
else
3030
echo "This PR doesn't have the stable-release label. No release will be created."
31-
fi
31+
fi

.github/workflows/semantic-pr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ jobs:
2929
docs
3030
refactor
3131
revert
32-
test
32+
test

.github/workflows/stale.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: Mark Stale Issues and Pull Requests
22

33
on:
44
schedule:
5-
- cron: '0 2 * * *' # Runs daily at 2:00 AM UTC
6-
workflow_dispatch: # Allows manual triggering of the workflow
5+
- cron: '0 2 * * *' # Runs daily at 2:00 AM UTC
6+
workflow_dispatch: # Allows manual triggering of the workflow
77

88
jobs:
99
stale:
@@ -14,12 +14,12 @@ jobs:
1414
uses: actions/stale@v8
1515
with:
1616
repo-token: ${{ secrets.GITHUB_TOKEN }}
17-
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."
18-
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."
19-
days-before-stale: 10 # Number of days before marking an issue or PR as stale
20-
days-before-close: 4 # Number of days after being marked stale before closing
21-
stale-issue-label: "stale" # Label to apply to stale issues
22-
stale-pr-label: "stale" # Label to apply to stale pull requests
23-
exempt-issue-labels: "pinned,important" # Issues with these labels won't be marked stale
24-
exempt-pr-labels: "pinned,important" # PRs with these labels won't be marked stale
25-
operations-per-run: 75 # Limits the number of actions per run to avoid API rate limits
17+
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.'
18+
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.'
19+
days-before-stale: 10 # Number of days before marking an issue or PR as stale
20+
days-before-close: 4 # Number of days after being marked stale before closing
21+
stale-issue-label: 'stale' # Label to apply to stale issues
22+
stale-pr-label: 'stale' # Label to apply to stale pull requests
23+
exempt-issue-labels: 'pinned,important' # Issues with these labels won't be marked stale
24+
exempt-pr-labels: 'pinned,important' # PRs with these labels won't be marked stale
25+
operations-per-run: 75 # Limits the number of actions per run to avoid API rate limits

.github/workflows/update-stable.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ on:
77

88
permissions:
99
contents: write
10-
10+
1111
jobs:
1212
prepare-release:
1313
if: contains(github.event.head_commit.message, '#release')
1414
runs-on: ubuntu-latest
15-
15+
1616
steps:
1717
- uses: actions/checkout@v4
1818
with:
@@ -80,7 +80,6 @@ jobs:
8080
NEW_VERSION=${{ steps.bump_version.outputs.new_version }}
8181
pnpm version $NEW_VERSION --no-git-tag-version --allow-same-version
8282
83-
8483
- name: Prepare changelog script
8584
run: chmod +x .github/scripts/generate-changelog.sh
8685

@@ -89,14 +88,14 @@ jobs:
8988
env:
9089
NEW_VERSION: ${{ steps.bump_version.outputs.new_version }}
9190
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92-
91+
9392
run: .github/scripts/generate-changelog.sh
9493

9594
- name: Get the latest commit hash and version tag
9695
run: |
9796
echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV
9897
echo "NEW_VERSION=${{ steps.bump_version.outputs.new_version }}" >> $GITHUB_ENV
99-
98+
10099
- name: Commit and Tag Release
101100
run: |
102101
git pull
@@ -123,4 +122,4 @@ jobs:
123122
gh release create "$VERSION" \
124123
--title "Release $VERSION" \
125124
--notes "${{ steps.changelog.outputs.content }}" \
126-
--target stable
125+
--target stable

0 commit comments

Comments
 (0)