Thanks for your interest in improving JayQuery. This document describes how to work in this repo and what we expect in pull requests.
- The project is licensed under the PolyForm Noncommercial License 1.0.0. By contributing, you agree your contributions are licensed under the same terms. Commercial use beyond what that license allows requires separate permission from the copyright holder.
- For security issues, see SECURITY.md instead of filing a public issue.
-
Node.js 24+ and npm
-
Clone the repository and install dependencies:
npm install
-
Watch / dev build:
npm run dev— load the unpacked folder WXT prints (under.output/). -
Production build:
npm run build— output in.output/chrome-mv3/. -
Extension zip:
npm run zip— useful to match CI artifacts.
- Run the unit test suite:
npm test - Typecheck:
npm run compile - After changing dependencies, run
npm audit --omit=devand address issues where practical.
If the repo tracks sbom-cyclonedx-npm.json and sbom.spdx.json, update both when you change package.json or package-lock.json. CI posts a reminder on PRs when dependency files change but SBOMs are not updated. Regenerate from the repo root (see the SBOM reminder workflow output or ask a maintainer).
- Open PRs against
main. - Keep changes focused on a single concern when possible; unrelated refactors make review harder.
- Match existing TypeScript style, naming, and patterns.
- If your change affects user-visible behavior, privacy, or permissions, mention that in the PR description.
- Use the bug report or feature request templates when they fit.
Store listings and release tagging are maintained by the project owners. Community PRs that improve the open-source codebase are still welcome; publishing to the store is a separate step.