Contributing

July 7, 2026 · View on GitHub

Thanks for your interest in improving DistroKid Auto-Input. This is a single-file userscript, so contributing is lightweight.

Ways to help

  • Fix broken selectors. DistroKid changes its upload form from time to time. If a field stops filling, the CSS/ID selector likely changed. Reporting the old vs. new selector (or sending a PR) is the most valuable contribution.
  • Improve documentation — clearer preset examples, more known genre values, etc.
  • New preset fields — support additional form fields that are currently filled by hand.

Development setup

There's no build step. The script (distrokid-auto-input.user.js) is loaded directly by your userscript manager.

  1. Fork and clone the repo.
  2. In Tampermonkey/Violentmonkey, create a new script and paste the file contents, or point a local file watcher at it. Tampermonkey can also load a script from a local file URL for iteration.
  3. Open https://distrokid.com/new and test your change against the live form.

Before opening a PR, run a syntax check:

node --check distrokid-auto-input.user.js

Guidelines

  • English only for code, comments, and docs.
  • No personal data in commits. Keep every field in DEFAULT_PRESET blank; never commit real names, labels, or release details.
  • No new network calls. The script must keep @grant none and make no requests of its own beyond the existing @require dependencies.
  • Match the existing code style (4-space indent, const/let, small helpers).
  • If you change or add @require dependencies, note why in the PR.

Pull requests

  1. Keep PRs focused — one fix/feature at a time.
  2. Describe what you tested (which fields, which browser + manager).
  3. Bump the @version header if the change affects behavior, and add a note to CHANGELOG.md.

By contributing, you agree that your contributions are licensed under the Apache-2.0 license.