Thank you for improving Randomify. This document describes how we expect changes to be proposed and reviewed.
- Keep changes focused on the described problem. Avoid unrelated refactors in the same pull request.
- Match existing formatting and naming. Run
npm run lintbefore you submit. - Add or update tests when behavior changes. Prefer unit tests in
tests/for pure logic.
- Fork the repository and create a feature branch from
main. - Implement the change with clear commit messages written as full sentences.
- Run
npm run build,npm test, andnpm run lint. - Open a pull request that explains the user impact and any tradeoffs you considered.
Extension bundles: If you change extension/src-src/ or lib/ imports, commit the updated extension/src/ and extension/manifest.json output from npm run build so “Load unpacked” on extension/ works for everyone without a local build.
We publish a downloadable zip for Chrome as a GitHub Release asset.
- Tag format:
vX.Y.Z(for examplev1.0.1) - What happens: CI builds and uploads
dist/randomify-chrome.zipto the Release - Local check: run
npm run buildand verifydist/randomify-chrome.zipexists
Never commit real .env files, keys, or other secrets. Randomify does not require Spotify developer credentials or tokens.
Maintainers may request tests, documentation updates, or smaller pull requests. Please keep discussion technical and respectful.