This is a guide to running the Zulip desktop app from source, in order to contribute to developing it.
To build and run the app from source, you'll need the following:
- Git
- Use our Git Guide to get started with Git and GitHub.
- Node.js (latest LTS version)
- pnpm
- Python
- A C++ compiler
On a system running Debian, Ubuntu, or another Debian-based Linux distribution, you can install all dependencies through the package manager (see here for more on the first command):
$ curl -sL https://deb.nodesource.com/setup_24.x | sudo -E bash -
$ sudo apt install git nodejs python build-essential
$ corepack enableOn a system running MacOS, you can refer to official nodejs docs to
install nodejs. To ensure Node.js has been installed, run node -v in terminal to know your node version.
- Download Node.js for Windows and install it. You can refer to the official docs here to do so. To ensure Node.js has been installed, run
node -vin Git Bash to know your node version.
- Also, install Windows-Build-Tools to compile native node modules by using
$ npm install --global windows-build-tools
Clone the source locally:
$ git clone https://github.com/zulip/zulip-desktop
$ cd zulip-desktopInstall project dependencies:
$ pnpm installStart the app:
$ node --run devRun tests:
$ node --run testFeel free to fork this repository, test it locally and then report any bugs you find in the issue tracker.
You can read more about making contributions in our Contributing Guide.
To package the app into an installer:
node --run distThis command will produce distributable packages or installers for the operating system you're running on:
- on Windows, a .7z nsis file and a .exe WebSetup file
- on macOS, a
.dmgfile - on Linux, a plain
.zipfile as well as a.debfile,.snapfile and anAppImagefile.
To generate all three types of files, you will need all three operating systems.
The output distributable packages appear in the dist/ directory.