# contributing thanks for wanting to help! ## issues please check existing issues first to avoid duplicates. also for bug fixes, include steps to reproduce, expected vs actual behavior, and browser type/version. _please keep in mind that tinysub aims to support modern web features where possible for cleanliness.. we do not intend to provide fixes specific to browser versions older than the current [Baseline Widely Available](https://web-platform-dx.github.io/supported-browsers)._ ## pull requests - keep PRs relatively small. for very large changes, please open an issue first to discuss - describe what changed and why - consider including a screenshot/video if you make UI changes - ai assistance is okay for trivial changes, but _please_ review and test your changes thoroughly - make sure `npm run check` passes before opening by contributing you agree to the license. the license can vary in some files. most of the project is [GPL-3.0](LICENSE), but some specific files have an `SPDX-License-Identifier` header (e.g. `CC0-1.0`) ## setup you'll need [Node.js](https://nodejs.org) and access to a [server](https://opensubsonic.netlify.app/docs/#servers) to develop against. for quick testing, you can probably just use Navidrome's demo server (`https://demo.navidrome.org` with `demo` / `demo`) ```sh npm install npm run dev ``` ## scripts ```sh npm run dev # dev server npm run build # production build to `dist` npm run preview # preview production build npm run check # svelte-check + biome + knip npm run fix # fix biome lint/format issues ```