Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.85 KB

CONTRIBUTE.md

File metadata and controls

75 lines (53 loc) · 1.85 KB

Contribution Guide

We appreciate any help! If you want to contribute, here is how to get started:

Clone the Repository

git clone
cd beets-flask

Setup

We use a development container for a consistent development environment across devices You can use the provided docker-compose-dev.yaml to start a development container.

docker-compose -f docker-compose-dev.yaml up --build

This mounts ./ to /repo in the container for live reloading and enhanced development experience and starts the development flask server and serves the frontend at http://localhost:5173.

Apple Issues

Normally the dependencies (inside the container) should be installed automatically, but we noticed that especially on Apple Silicon, the dependency installation can fail. In this case, you can install the dependencies manually:

docker exec -it beets-flask-dev bash
cd /repo/frontend

pnpm install
pnpm run dev

If you are having issues installing dependencies with pnpm, try:

rm -rf /repo/frontend/node_modules
rm -rf /repo/frontend/dist
rm -rf /repo/.pnpm-store
pnpm store prune

# and/or reset the lockfile
rm -rf /frontend/pnpm-lock.json

Pull requests

Please make sure the tests pass and the code is linted before submitting a pull request. We recommend to setup pre-commit hooks to ensure this.

pip install pre-commit
pre-commit install

^ This should now automatically reject commits that do not pass the linting and formatting checks.

You may run our tests locally with:

cd backend
pip install .[dev,test]
pytest

Further if you want to make sure that the types are correct, you can run:

cd backend
mypy beets_flask

Additional Resources

See also Resources.md for some background information and design choices.

Thank you for contributing! We highly appreciate any help.