Thanks for your interest in contributing! Here's how you can help.
- Fork the repo
- Clone your fork locally
- Create a new branch for your feature
- Make your changes
- Test thoroughly
- Submit a pull request
npm install
npm run lint # Check for issues
npm test # Run tests- Use clear, descriptive variable names
- Keep functions focused and small
- Comment complex logic
- Follow the existing code style
- Run
npm run formatbefore committing
- Add tests for new features
- Make sure all tests pass
- Test the extension manually in Chrome
- Update the README if needed
- Make sure tests pass
- Keep commits focused and descriptive
- Reference any related issues
Only maintainers can create releases. If you're a maintainer, follow this process:
- Update version in
manifest.json - Update CHANGELOG.md with release notes:
## [X.Y.Z] - YYYY-MM-DD ### Added - New features ### Changed - Updates to existing features ### Fixed - Bug fixes
- Commit changes:
git add manifest.json CHANGELOG.md git commit -m "Bump version to X.Y.Z" git push - Create and push tag:
git tag vX.Y.Z git push origin vX.Y.Z
- 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
Follow Semantic Versioning:
- Major (X.0.0): Breaking changes
- Minor (0.X.0): New features, backwards compatible
- Patch (0.0.X): Bug fixes
When reporting bugs, include:
- Chrome version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if relevant
Open an issue to discuss new features before implementing them.