Skip to main content
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Vibrancy Continued relies on user contributions, and as such, any contributions you make are greatly appreciated.

Ways to Contribute

There are several ways you can contribute to Vibrancy Continued:
  • Report bugs and issues
  • Suggest new features or enhancements
  • Submit pull requests with bug fixes or features
  • Create and share custom themes
  • Improve documentation
  • Help answer questions in discussions

Getting Started

Prerequisites

Before contributing, make sure you have:
  • Node.js installed (v14 or higher)
  • Git installed
  • A GitHub account
  • VS Code installed for testing

Development Setup

1

Fork the Repository

Fork the project on GitHub to your account
2

Clone Your Fork

git clone https://github.com/YOUR_USERNAME/vscode-vibrancy-continued.git
cd vscode-vibrancy-continued
3

Install Dependencies

npm install
4

Create Feature Branch

git checkout -b feature/AmazingFeature

Contributing Guidelines

Reporting Issues

When reporting issues, please:
  1. Check if the issue already exists in GitHub Issues
  2. Use the issue templates when available
  3. Include:
    • Your operating system and version
    • VS Code version
    • Extension version
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots if applicable

Feature Requests

For feature requests:
  1. Check if the feature has been requested in GitHub Issues
  2. Open an issue with the “enhancement” tag
  3. Clearly describe the feature and its use case
  4. Explain why this feature would be useful to most users

Pull Request Process

When creating a pull request, follow this workflow:
1

Create Feature Branch

Create your feature branch from development:
git checkout development
git pull origin development
git checkout -b feature/AmazingFeature
2

Make Your Changes

  • Write clean, readable code
  • Follow existing code style and conventions
  • Add comments for complex logic
  • Test your changes thoroughly
3

Commit Your Changes

git add .
git commit -m 'Add some AmazingFeature'
Use clear, descriptive commit messages that explain what and why.
4

Push to Your Fork

git push origin feature/AmazingFeature
5

Open Pull Request

  • Go to the repository
  • Click “New Pull Request”
  • Important: Select development as the base branch
  • Fill out the PR template
  • Link any related issues
Important: When creating a PR, please target the development branch, not main. Pull requests to main will be redirected to development.

Code Style Guidelines

When contributing code:
  • Use meaningful variable and function names
  • Add JSDoc comments for functions:
    /**
     * @param {string} themeName - The name of the theme
     * @returns {string} The path to the theme file
     */
    function getThemePath(themeName) {
      // implementation
    }
    
  • Follow the existing code structure
  • Keep functions focused and single-purpose
  • Handle errors gracefully with try-catch blocks

Testing Your Changes

Before submitting a PR:
  1. Test on your platform:
    • Install the extension locally
    • Run all three commands (Enable, Reload, Disable)
    • Test with different themes and settings
  2. Test edge cases:
    • Test with default settings
    • Test with custom settings
    • Test permission scenarios
  3. Check for regressions:
    • Ensure existing functionality still works
    • Test on different VS Code versions if possible

Contributing Themes

You can contribute custom themes to Vibrancy Continued! See the Theme Development guide for details on creating themes. To contribute a theme:
1

Create Theme Files

Create both JSON and CSS files in the themes/ directory:
  • Your Theme Name.json - Configuration
  • Your Theme Name.css - Styles
2

Add to Extension

Update extension/index.js to register your theme:
var themeStylePaths = {
  // ... existing themes
  'Your Theme Name': '../themes/Your Theme Name.css',
}

const themeConfigPaths = {
  // ... existing themes
  'Your Theme Name': '../themes/Your Theme Name.json',
}
3

Update package.json

Add your theme to the enum in package.json:
"vscode_vibrancy.theme": {
  "enum": [
    "Default Dark",
    // ... other themes
    "Your Theme Name"
  ]
}
4

Submit PR

Follow the pull request process above, targeting the development branch

Project Structure

Key files and directories:
vscode-vibrancy-continued/
├── extension/
│   ├── index.js          # Main extension code
│   ├── platform.js       # Platform detection
│   └── i18n.js          # Internationalization
├── themes/              # Theme files (.json and .css)
├── runtime/             # Runtime injection code (ESM)
├── runtime-pre-esm/     # Runtime injection code (pre-ESM)
├── native/              # Native Windows modules
├── package.json         # Extension manifest
└── README.md           # Extension documentation

Questions and Support

If you have questions:

Code of Conduct

Be respectful and constructive:
  • Use welcoming and inclusive language
  • Respect differing viewpoints and experiences
  • Accept constructive criticism gracefully
  • Focus on what’s best for the community
  • Show empathy toward other community members

Recognition

All contributors are recognized in the project:
  • Your name will appear in the contributors list
  • Significant contributions may be highlighted in release notes
  • Theme authors are credited in theme files

License

By contributing, you agree that your contributions will be licensed under the MIT License. See the LICENSE file for details.

Additional Resources

Don’t forget to give the project a star on GitHub! It helps increase visibility and encourages more contributions. Thank you for contributing! ⭐

Build docs developers (and LLMs) love