Contributions to the project are always welcome. asbplayer will never be complete, and there are a ton of issues to work on. Many contributions have already been made, including some very large features.
The guidelines below take inspiration from the Linux project.
AI-assisted contributions must include a tag like the following in the commit message:
Assisted-by: AGENT_NAME:MODEL_VERSION
For example:
Assisted-by: Claude:claude-3-opus
Make sure the pre-merge checks are passing:
yarn run verifyThen open a pull request on the GitHub repository.
Documentation is under the docs folder in this repository. When adding new features, please update the documentation as well.
Below are useful commands for development.
# Install yarn
npm install --global yarn
# Make sure you're on yarn 3
yarn set version 3.2.0
# Install dependencies
yarn
# Starts the development server for the website
yarn workspace @project/client run start
# Starts the dev server for the Chromium version of the extension to extension/.output/chrome-mv3-dev
yarn workspace @project/extension dev
# Starts the dev server for the Firefox version of the extension to extension/.output/firefox-mv2-dev
yarn workspace @project/extension dev:firefox
# Starts the dev server for the Firefox for Android version of the extension to extension/.output/firefox-android-mv2-dev
yarn workspace @project/extension dev:firefox-android
# Push the Firefox for Android extension to a connected Android device
./scripts/push-firefox-androidIf you have problems building try deleting node_modules and re-running yarn.
Any new localization keys should first be added to the English loc files, and then copied across all the other loc files using a helper script.
cd ./scripts/loc
npm install
node ./merge-loc-from-en.jsTranslations are later pulled from the Crowdin project.