Contributing to Nebula

Thank you for your interest in contributing to Nebula Browser! This guide will help you get started with contributing to the project.

Getting Started

Contributing to Nebula is easy and welcoming to developers of all skill levels. Here's how to get started:

Prerequisites

  • Git knowledge
  • JavaScript/HTML/CSS experience
  • Node.js and npm installed
  • Code editor (VS Code recommended)

Setup Development Environment

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Install dependencies with npm install
  4. Start the development server

Find Your First Issue

  • Look for "good first issue" labels
  • Check the project roadmap
  • Ask questions in discussions
  • Start with documentation improvements

Quick Start Commands

# Clone the repository
git clone https://github.com/Bobbybear007/NebulaBrowser.git

# Navigate to the project directory
cd NebulaBrowser

# Install dependencies
npm install

# Start development server
npm run dev

Reporting Bugs

Found a bug? Help us fix it by providing detailed information about the issue.

Before Reporting

Bug Report Template

Bug Report Checklist

  • Clear, descriptive title
  • Steps to reproduce the issue
  • Expected vs. actual behavior
  • Screenshots or videos (if applicable)
  • Browser version and operating system
  • Console errors or logs
Report a Bug

Feature Requests

Have an idea to make Nebula even better? We'd love to hear about it!

Feature Request Guidelines

Be Specific

Clearly describe what you want to achieve and why it would be valuable.

Research First

Check if a similar feature already exists or has been requested.

Provide Context

Explain your use case and how the feature would improve the experience.

Include Mockups

Visual aids help convey your idea more effectively.

"The best features come from real user needs. Tell us your story and help us build something amazing together."
Suggest a Feature

Pull Requests

Ready to contribute code? Follow these guidelines for a smooth pull request process.

Pull Request Process

  1. Create a Branch: Use a descriptive branch name (e.g., feature/new-theme-system)
  2. Make Changes: Write clean, well-documented code following our style guide
  3. Test Thoroughly: Ensure your changes don't break existing functionality
  4. Update Documentation: Add or update relevant documentation
  5. Submit PR: Provide a clear description of your changes

PR Checklist

  • ✅ Code follows project style guidelines
  • ✅ All tests pass
  • ✅ Documentation is updated
  • ✅ Commit messages are clear and descriptive
  • ✅ No merge conflicts
  • ✅ Screenshots for UI changes

Types of Contributions

Bug Fixes

Fix reported issues and improve stability

✨ New Features

Add new functionality or enhance existing features

UI/UX Improvements

Enhance the user interface and experience

Documentation

Improve or add to project documentation

Themes

Create new themes or improve existing ones

Performance

Optimize code for better performance

Code Style Guide

Consistent code style helps maintain readability and makes collaboration easier.

JavaScript Guidelines

CSS Guidelines

// Example: Good JavaScript style
class ThemeManager {
  /**
   * Applies a theme to the current page
   * @param {Object} theme - The theme configuration
   */
  applyTheme(theme) {
    const root = document.documentElement;
    Object.entries(theme.colors).forEach(([key, value]) => {
      root.style.setProperty(`--${key}`, value);
    });
  }
}

Community

Join our vibrant community of contributors and users!

GitHub Discussions

Ask questions, share ideas, and connect with other contributors.

Join Discussions

Wiki

Contribute to our knowledge base and help others learn.

Edit Wiki

Theme Gallery

Share your custom themes with the community.

Submit Theme

Recognition

We value every contribution! Contributors are recognized in:

Thank You

Your contributions make Nebula Browser better for everyone. Whether you're fixing a typo, reporting a bug, or adding a major feature, every contribution matters.

"Open source is about collaboration, learning, and building something greater together. Welcome to the Nebula community!"
View on GitHub Fork Repository Browse Issues