Skip to content

Getting started ​

Setting up your development environment ​

DX and reproducibility ​

To set up a reproducible environment independent from your system's installed software packages, use docker and mise.

Read the funkwhale docs about docker here.

To quickly run tests, linters, etc. locally, you don't need to install node or yarn globally (especially useful on Nix).

  1. Install mise
  2. Install corepack (packages [corepack_latest nodejs_latest]) to your OS. It auto-selects the package manager pinned in package.json.
  3. Run mise use yarn to enable the yarn command in your current shell
  4. Install dependencies: yarn install
  5. Now you can run all commands documented in package.json without installing any funkwhale-specific tools globally or even starting containers on your system.

Containers will produce root-owned node_modules

If you started the container before running yarn locally, their user (root) will own the node_modules directory. Solution: In the front/ directory, run sudo chown -R (whoami):(id -gn) node_modules and sudo chown -R (whoami):(id -gn) .yarn

Feedback loop ​

Make sure to run yarn dev:docs while editing your components to see changes on-the-fly. Run yarn lint periodically or set up your editor to get eslint annotations while editing your code.

Discussing and proposing changes ​

Getting started [Funkwhale Docs]

How to edit the UI strings [Funkwhale Docs] - How to add translations [Funkwhale Docs]

Adding and fixing components ​