New Developers Info

The easier way to make a contribution is through the Github web site. Either way will require a Github membership. If you are not experienced with Scala, you have found this site and want to experiment, you will need to install Java JDK11+ and sbt. more complete documentation. For getting started on Linux / Windows / Mac will come later. The basic build has been tested on Linux and Windows 7. Jdk 17 preferred.

System update
apt sudo update sudo apt upgrade

There are default values here that you can change as you work down the page. Although once you've used a value, stick with it or you will create an inconsistent system. Insert your own values below. the data is used for page generation locally and is not sent back to our servers.

  • Install Java. Currently suggesting Java 25 LTS. Note the jdk at the end of the version.
    sudo apt install openjdk-25-jdk -y
    Check the version java -version
    openjdk version "25.0.3" 2026-04-21
    OpenJDK Runtime Environment (build 25+36-Ubuntu-1)
    OpenJDK 64-Bit Server VM (build 25+36-Ubuntu-1, mixed mode, sharing)
    Open the all users environment configuration file sudo nano /etc/environment Add line JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64 Save and exit (Ctrl-X and then Y) sudo reboot After reboot or logging in again for remote server echo $JAVA_HOME /usr/lib/jvm/java-25-openjdk-amd64
  • Sbt install

    echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list Curl is installed by default in Kubuntu 26.04 and 25.10, it is not in Kubuntu 24.04 so if curl is not installed you need sudo apt install curl curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo tee /etc/apt/trusted.gpg.d/sbt.asc sudo apt update sudo apt install sbt

    Intellij IDEA

    sudo tar -xzf idea-2026.1.3.tar.gz -C /opt
    For IntelliJ useful options:
    • File => Editor => General -> Other -> tick Show quick documentation on mouse move.
    • File => 'Build, Execution, Deployment' => Compiler -> Build project automatically
    • Project-Pane => Options -> 'Flatten packages'

    Git and Github

    Set git user name git config --global user.name "MonaLisa" Check user name properly set git config --global user.name MonaLisa Set git email git config --global user.email "YourEmail" Check email properly set git config --global user.email YourEmail Store Github username and token and other useful git commands. git config --global credential.helper store git remote show origin git init --bare myrepo.git git push -u origin NewBranch

    Git Commands

    For transferring files from the master repository to your local machine and back again.

    Sbt

    A build utility. We also use Mill. Other well known build utilities are Ant, Maven and Make. It is for compiling and running the applications and other tasks.

    Chrome / Chromium

    wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb If any errors appear about missing dependencies you may need to ‘force install. sudo apt -f install

    Sublime Text 4

    wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo tee /etc/apt/keyrings/sublimehq-pub.asc > /dev/null echo -e 'Types: deb\nURIs: https://download.sublimetext.com/\nSuites: apt/stable/\nSigned-By: /etc/apt/keyrings/sublimehq-pub.asc' | sudo tee /etc/apt/sources.list.d/sublime-text.sources sudo apt update sudo apt install sublime-text subl --version Sublime Text Build 4200 // These settings override both User and Default settings for the Scala syntax { "tab_size": 2, "translate_tabs_to_spaces": true, "rulers": [100, 160] }