Skip to content

Latest commit

 

History

History
99 lines (75 loc) · 2.06 KB

File metadata and controls

99 lines (75 loc) · 2.06 KB

Contributing

Thanks for your interest in contributing! Here's how you can help.

Getting Started

  1. Fork the repo
  2. Clone your fork locally
  3. Create a new branch for your feature
  4. Make your changes
  5. Test thoroughly
  6. Submit a pull request

Development Setup

npm install
npm run lint    # Check for issues
npm test        # Run tests

Code Style

  • Use clear, descriptive variable names
  • Keep functions focused and small
  • Comment complex logic
  • Follow the existing code style
  • Run npm run format before committing

Testing

  • Add tests for new features
  • Make sure all tests pass
  • Test the extension manually in Chrome

Pull Request Process

  1. Update the README if needed
  2. Make sure tests pass
  3. Keep commits focused and descriptive
  4. Reference any related issues

Releases

Only maintainers can create releases. If you're a maintainer, follow this process:

Creating a Release

  1. Update version in manifest.json
  2. Update CHANGELOG.md with release notes:
    ## [X.Y.Z] - YYYY-MM-DD
    
    ### Added
    - New features
    
    ### Changed
    - Updates to existing features
    
    ### Fixed
    - Bug fixes
  3. Commit changes:
    git add manifest.json CHANGELOG.md
    git commit -m "Bump version to X.Y.Z"
    git push
  4. Create and push tag:
    git tag vX.Y.Z
    git push origin vX.Y.Z
  5. GitHub Actions will:
    • Validate the extension
    • Check CHANGELOG.md has an entry for the version (blocks release if missing)
    • Run all tests
    • Build the extension
    • Create a GitHub release with the zip file
    • Automatically publish to Chrome Web Store

Version Guidelines

Follow Semantic Versioning:

  • Major (X.0.0): Breaking changes
  • Minor (0.X.0): New features, backwards compatible
  • Patch (0.0.X): Bug fixes

Bug Reports

When reporting bugs, include:

  • Chrome version
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if relevant

Feature Requests

Open an issue to discuss new features before implementing them.