Thank you for your interest in contributing to VibeCode Editor! This document provides guidelines and information for contributors.
- Code of Conduct
- Getting Started
- How to Contribute
- Development Setup
- Pull Request Process
- Coding Standards
- Reporting Bugs
- Suggesting Features
Please read our Code of Conduct before contributing. We expect all contributors to follow it.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/vibecode-editor.git cd vibecode-editor - Install dependencies:
npm install
- Create a branch for your changes:
git checkout -b feature/your-feature-name
Before creating bug reports, please check existing issues to avoid duplicates.
When creating a bug report, include:
- Clear title and description
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment details (OS, browser, Node.js version)
Feature suggestions are welcome! Please:
- Check existing feature requests
- Create a new issue with the
feature-requestlabel - Include use case and expected behavior
- Find an issue to work on or create one
- Comment on the issue to let others know you're working on it
- Follow the development setup below
- Make your changes
- Submit a pull request
- Node.js 18+
- npm or yarn
- MongoDB Atlas account (or local MongoDB)
- Git
-
Copy the example env file:
cp .env.example .env.local
-
Fill in your credentials:
- Google OAuth (from Google Cloud Console)
- GitHub OAuth (from GitHub Developer Settings)
- MongoDB connection string
- NextAuth secret
# Install dependencies
npm install
# Start development server
npm run dev
# Open http://localhost:3000For AI suggestions and chat, install Ollama:
# Install Ollama from https://ollama.com
ollama run codellama- Update documentation if needed
- Test your changes thoroughly
- Write clear commit messages
- Create a pull request with:
- Clear title and description
- Link to related issue
- Screenshots (if UI changes)
- Wait for review and address feedback
Use conventional commits:
feat: add new featurefix: resolve bugdocs: update documentationstyle: formatting changesrefactor: code restructuringtest: add testschore: maintenance tasks
- Use TypeScript for all new code
- Avoid
anytype when possible - Use interfaces for object shapes
- Use functional components with hooks
- Keep components small and focused
- Use proper prop types
- Use Tailwind CSS classes
- Follow existing design patterns
- Ensure responsive design
- Keep commits atomic
- Write meaningful commit messages
- Don't commit
node_modulesor build files
vibecode-editor/
├── app/ # Next.js App Router pages
├── components/ # Reusable UI components
├── features/ # Feature-based modules
│ ├── auth/ # Authentication
│ ├── dashboard/ # Dashboard features
│ ├── playground/ # Code playground
│ └── webcontainers/ # WebContainer integration
├── lib/ # Utility functions
├── prisma/ # Database schema
└── public/ # Static assets
If you have questions:
- Check existing issues and discussions
- Create a new discussion
- Reach out to maintainers
Thank you for contributing to VibeCode Editor!