Track the project roadmap on OpenProject.
Before contributing, make yourself familiar with our contribution guidelines, the code style guidelines, and the technical documentation for this project.
Before getting started, you'll want to install:
- Git
- Node.js
- pnpm (run
corepack enable)
Then proceed to setup:
# clone the repository
git clone --recursive https://github.com/mutiny-chat/frontend client
cd client
# update submodules if you pull new changes
# git submodule init && git submodule update
# install all packages
pnpm i --frozen-lockfile
# build deps:
pnpm build:deps
# or build a specific dep (e.g. mutiny.js updates):
# pnpm --filter mutiny.js run build
# customise the .env
cp packages/client/.env.example packages/client/.env
# run dev server
pnpm dev:webFinally, navigate to http://local.mutiny.chat:5173.
If you want to pull in Mutiny brand assets after pulling, run the following:
# update the assets
git -c submodule."packages/client/assets".update=checkout submodule update --init packages/client/assetsYou can switch back to the fallback assets by running deinit and continuing as normal:
# deinit submodule which clears directory
git submodule deinit packages/client/assets# install packages
pnpm i --frozen-lockfile
# build dependencies
pnpm build:deps
# build the frontend
pnpm build:web
# ... when building for Mutiny production
mise build:prodYou can now deploy the directory packages/client/dist.
The app currently needs the following routes:
/login/pwa/dev/discover/settings/invite/bot/friends/server/channel
This corresponds to Content.tsx#L33.