ragekit / starter
A new RageKit desktop app: PHP compiled to native code, drawn with Slint.
Requires
- php: >=8.4
- ragekit/ragekit: ^0.1.2
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-19 18:35:23 UTC
README
A desktop app written in PHP with RageKit: the PHP is compiled to native code by TypePHP, and the UI is drawn by Slint (no browser engine).
Requirements
PHP 8.4+, Composer, git, tar and a C++ compiler. On Debian or Ubuntu:
sudo apt install php8.4-cli composer git build-essential \
libfontconfig1 libfreetype6 libxkbcommon0 libinput10 libgbm1 libudev1 \
php8.4-dev libphp8.4-embed cmake libgmp-dev libmpfr-dev
The last line is optional: without it the first normal build compiles a private PHP (~10 minutes,
once). composer build -- --nano needs neither.
Windows: Visual Studio 2022 Build Tools ("Desktop development with C++") and 7-Zip. When the Build
Tools are missing, composer create-project offers to install them (or run
powershell -ExecutionPolicy Bypass -File vendor\ragekit\ragekit\install-build-tools.ps1).
macOS isn't supported yet.
Run it
composer start # build, then start the app (vendor/bin/ragekit run) composer dev # hot reload: edit a template or PHP file and the window updates composer build # compile only, into build/slint/
The first build checks the toolchain. If ragekit setup didn't run when the app was created (or
RageKit was updated since), run it, and ragekit doctor to see what's missing:
vendor/bin/ragekit setup vendor/bin/ragekit doctor
What's where
| Path | What it is |
|---|---|
main.php |
main(): opens the first window |
src/HomeScreen.php |
the screen's state (public properties) and event handlers (public methods) |
templates/HomeScreen.rk |
what the window looks like |
project.yml |
build settings: kit (shadcn or material), renderer, modules, nano: true |
Next steps: RageKit's guides on getting started, templates, kits and dev mode.
License
The files of this starter are free to use without conditions (MIT-0). The app you build contains RageKit's runtime, which is GPLv3, so if you distribute the app it must be GPLv3 too (with its source). It also contains PHP's runtime and Slint; see RageKit's licensing notes.