To be able to start developing some fancy features or to make Zammad even greater by fixing some issues, you'll need a development environment.
The following software/tools are needed for this.
Right now, we only have instructions for macOS users. Linux users should adapt accordingly and are encouraged to contribute their info!
The following tools are either required or highly recommended to start hacking Zammad.
For macOS:
brew install postgresql forego imlib2 openssl@1.1 direnv geckodriver chromedriver shellcheck
For Linux:
...
To maintain different Ruby versions, we encourage the usage of RVM.
Attention: Please look up the Ruby version in the Gemfile
and adapt it in the snippet.
For Linux and macOS:
curl -sSL https://get.rvm.io | bash -s stable --rails
rvm install ruby-3.0.4
rvm --default use 3.0.4
We're using NVM to manage all Node.js versions which are in use with Zammad.
Before executing the following snippet, please, make sure to look up the most recent version of NVM.
For Linux and macOS:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
nvm install node
npm install -g yarn
# Then, in the zammad directory, install required modules:
cd </path/to/zammad-develop>
yarn install
To ensure a well readable and maintainable code base, we're using linting tools like:
For Linux and macOS:
npm install -g coffeelint@1
npm install -g stylelint
Proper operation of Zammad requires Elasticsearch.
For macOS:
brew tap elastic/tap
brew install elastic/tap/elasticsearch-full
elasticsearch-plugin install ingest-attachment
brew services start elastic/tap/elasticsearch-full
For Linux:
...
All Ruby dependencies (including development dependencies) can be installed easily via
For Linux and macOS:
$ cd </path/to/zammad-develop/>
$ bundle install