Whether you're reporting a bug, building a new feature in KalixIDE, or working on the simulation engine, start here.
I want to report a bug or request a feature
If you want to report a bug or request a new feature, you can reach out to the development team using the contact details below. We track development tasks on github (‣), so you can see what is happening at all times.
Kalix is open source and free but development costs time. If you are requesting development, please consider supporting the project.
I want to play with the code by myself
If you are curious about development, you can take a copy of the source code and tinker to your heart’s content. The MPL2.0 licence means you are free to use and modify the code, provided that any modifications are made available to the public under the same license.
The best way to do this is:
- Read about The Dev Stack to get an overview of what is involved.
- Get the code:
- Make a GitHub account for yourself (if you don’t already have one)
- Go to the Kalix GitHub page (https://github.com/chasegan/Kalix) and look for a button that says “Fork”. Forking will take a copy of the official repository and put it into your own GitHub account.
- Go to your fork of Kalix (under your GitHub account) and look for a button that says “Clone”. This will show you a “git clone” command that you can use to copy the code to your computer.
- At this point you have a copy of the code on your computer, and also your own remote repository under your own GitHub account. You can explore the code using a text editor. The next step will help you compile the code and run your own version of Kalix!
- Compile and run your own version of Kalix:
- Install compilers and IDEs:
- Rust toolchain: https://rustup.rs/ — RustRover uses this under the hood
- JDK 23: https://adoptium.net/ — pick the Temurin 23 installer for your OS
- RustRover: https://www.jetbrains.com/rust/
- IntelliJ IDEA Community Edition: https://www.jetbrains.com/idea/download/
- You can confirm Rust and Java are installed by opening a terminal and running
rustc --version and java --version. Each should print a version number.
- Build the CLI simulation engine “kalix” in RustRover:
- Open RustRover and choose File → Open, then select the root of your local Kalix folder.
- Open the integrated terminal (View → Tool Windows → Terminal) and run:
cargo build --release.
- The compiled binary will land at target/release/kalix (or kalix.exe on Windows). The first build downloads a lot of dependencies and may take several minutes.
- Build and run the GUI application “KalixIDE” using IntelliJ:
- Open IntelliJ IDEA and choose File → Open, then select the kalixide subfolder of your Kalix repo (not the repo root). IntelliJ will spot the Gradle build script and import it as a Gradle project. This takes a few minutes the first time as Gradle downloads everything it needs.
- Find the Gradle panel on the right edge of the IntelliJ window. Expand kalixide → Tasks → application and double-click run. The KalixIDE window will open.
<aside>
<img src="/icons/gradebook_gray.svg" alt="/icons/gradebook_gray.svg" width="40px" />
The “build-portable-zip” scripts are the official distribution build scripts. If the script (for your operating system) doesn’t run properly it probably indicates that your development environment isn’t correctly set up. Use the error messages to get some help from your favourite AI.
- Run the distribution build scripts from the repository root:
./build-portable-zip.sh on macOS / Linux, or
build-portable-zip.bat on Windows.
- The output zip lands in dist/. This is the same script the official release workflow uses.
</aside>
I want to set up a remote team to be part of Kalix development (⌐■_■)
If you are part of an organisation with an interest in Kalix, a some capacity and inclination to improve it, you may want to set up a remote Kalix dev team. Everyone stands to benefit from collaboration. This may include:
- Collaboration with the core team on the roadmap for core version.
- Participation in sessions to prioritise tasks, and share effort on those which are mutually beneficial.
- Sharing of science and modelling methodologies.
- Your team working on a remote fork, with changes fed back to the core version through pull-requests.
Reach out to the core team (Contact details) to discuss how we might work together.
I am joining the core team (✿◠‿◠)!