Contribution Guidelines
Welcome! This guide provides all the details you need to contribute effectively to the project. Thank you for helping us make bolt.diy a better tool for developers worldwide. π‘
π Table of Contents
- Code of Conduct
- How Can I Contribute?
- Pull Request Guidelines
- Coding Standards
- Development Setup
- Testing
- Deployment
- Docker Deployment
- VS Code Dev Containers Integration
π‘οΈ Code of Conduct
This project is governed by our Code of Conduct. By participating, you agree to uphold this code. Report unacceptable behavior to the project maintainers.
π οΈ How Can I Contribute?
1οΈβ£ Reporting Bugs or Feature Requests
- Check the issue tracker to avoid duplicates.
- Use issue templates (if available).
- Provide detailed, relevant information and steps to reproduce bugs.
2οΈβ£ Code Contributions
- Fork the repository.
- Create a feature or fix branch.
- Write and test your code.
- Submit a pull request (PR).
3οΈβ£ Join as a Core Contributor
Interested in maintaining and growing the project? Fill out our Contributor Application Form.
β Pull Request Guidelines
PR Checklist
- Branch from the main branch.
- Update documentation, if needed.
- Test all functionality manually.
- Focus on one feature/bug per PR.
Review Process
- Manual testing by reviewers.
- At least one maintainer review required.
- Address review comments.
- Maintain a clean commit history.
π Coding Standards
General Guidelines
- Follow existing code style.
- Comment complex logic.
- Keep functions small and focused.
- Use meaningful variable names.
π₯οΈ Development Setup
1οΈβ£ Initial Setup
- Clone the repository:
- Install dependencies:
- Set up environment variables:
- Rename
.env.example
to.env.local
. - Add your API keys:
- Optionally set:
- Debug level:
VITE_LOG_LEVEL=debug
- Context size:
DEFAULT_NUM_CTX=32768
- Debug level:
Note: Never commit your .env.local
file to version control. Itβs already in .gitignore
.
2οΈβ£ Run Development Server
Tip: Use Google Chrome Canary for local testing.π§ͺ Testing
Run the test suite with:
π Deployment
Deploy to Cloudflare Pages
Ensure you have required permissions and that Wrangler is configured.π³ Docker Deployment
This section outlines the methods for deploying the application using Docker. The processes for Development and Production are provided separately for clarity.
π§βπ» Development Environment
Build Options
Option 1: Helper Scripts
Option 2: Direct Docker Build Command
Option 3: Docker Compose Profile
Running the Development Container
π Production Environment
Build Options
Option 1: Helper Scripts
Option 2: Direct Docker Build Command
Option 3: Docker Compose Profile
Running the Production Container
Coolify Deployment
For an easy deployment process, use Coolify:
1. Import your Git repository into Coolify.
2. Choose Docker Compose as the build pack.
3. Configure environment variables (e.g., API keys).
4. Set the start command:
π οΈ VS Code Dev Containers Integration
The docker-compose.yaml
configuration is compatible with VS Code Dev Containers, making it easy to set up a development environment directly in Visual Studio Code.
Steps to Use Dev Containers
- Open the command palette in VS Code (
Ctrl+Shift+P
orCmd+Shift+P
on macOS). - Select Dev Containers: Reopen in Container.
- Choose the development profile when prompted.
- VS Code will rebuild the container and open it with the pre-configured environment.
π Environment Variables
Ensure .env.local
is configured correctly with:
- API keys.
- Context-specific configurations.
Example for the DEFAULT_NUM_CTX
variable: