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: