Join the crew

Developers & contributors

Every integration on this site was someone scratching their own itch. The codebase is plain JavaScript — no bundler, no transpiler — and a new site integration is mostly a declarative config object.

How to contribute

  1. Fork the repo and create a feature branch.
  2. Make your changes. For site integrations, follow the adding a site integration guide on the wiki.
  3. Run the tests (Playwright / Jest) and verify your changes manually.
  4. Commit, push to your fork, and open a pull request.

Important: target the staging branch with your pull request, not master. Version bumps, changelog entries and packaging are handled on staging before each release.

Adding a site integration

Integrations are built on a declarative DefaultEngine(config) pattern: you describe which URLs the engine applies to, where in the page the icon should be inserted, and how to extract the search term. A minimal engine is a few dozen lines. A new integration touches:

  • A new engine file in src/content/engines/integrations/
  • Both browser manifests (content script list, matches, host permissions)
  • The integrations list in src/content/js/core.js
  • A site logo in src/content/assets/images/integrations/
  • Ideally, a Playwright spec in tests/playwright/site.integrations.tests/

The full walkthrough — engine anatomy, SPA support, dynamic routing, layout tips and the PR checklist — lives on the wiki, which is the canonical contributor reference:

Read the integration guide on the wiki →

Testing

Playwright integration tests run against the real third-party sites with the built extension loaded:

npm i
grunt playwright
cd tests/playwright
npm i
npx playwright install --with-deps chromium
npx playwright test

Jest unit tests are minimal but quick:

npm i
npm run test

For manual debugging, enable Debug mode in the extension settings and watch the console for [ServarrExt …] logs. Details on the testing wiki page.

Issues & feature requests

  • Report a bug — include the URL, browser, and console logs with debug enabled.
  • Suggest a feature — new site integrations especially welcome.

Thanks

Big thanks to everyone who has contributed integrations, bug fixes and ideas — you're the signal boosters on the home page. Your work helps the whole community enjoy smoother Servarr searches.