Development setup
Qorekit is a Laravel 13 application (PHP 8.3+) with a Vue 3 single-page interface. The source is on GitHub.
What you need
- PHP 8.3 or newer with
pdo_mysqlandpdo_pgsql, and Composer - Docker, for the development databases
- Node.js 24 with Corepack (it brings the right pnpm)
Getting it running
bash
git clone https://github.com/qorekit/qorekit.git && cd qorekit
composer install
cp .env.example .env && php artisan key:generate
# MySQL, MariaDB and PostgreSQL on 127.0.0.1 (ports 33161, 33162, 54361)
docker compose -f docker/compose.yaml up -d --wait
php artisan migrate
php artisan qorekit:create-admin
corepack enable pnpm # once per machine
pnpm install
pnpm build # or `pnpm dev` for the Vite dev server
php artisan serve.env.example says QOREKIT_INSTALLED=true and points at the MySQL container, so the wizard is skipped. To try the wizard, set it to false.
Checks
| Command | What it does |
|---|---|
composer check | Code style (Pint), static analysis (PHPStan level 8) and the test suite |
composer test:matrix | The test suite against MySQL, MariaDB and PostgreSQL |
pnpm check | ESLint, type checking, unit tests and a production build of the interface |
pnpm e2e | Browser tests against all three databases, each a fresh copy installed through the wizard |
pnpm docs:dev | These docs, served while you write them |
pnpm docs:build | These docs, built, with every internal link checked |
bash build/hosting.sh | A fresh copy in a shared-hosting look-alike (Apache, .htaccess, a sub-folder) |
Every change must pass on all three databases. CI runs all of the above on every push.
Rules of the house
- Code, comments, interface strings and docs are in English. Interface strings go through translation keys (
frontend/app/src/locales). - No Redis, websockets or long-running processes: the database queue, cron and polling are what shared hosting has.
- Engine-specific SQL lives only in
domain/Schema/Dialect. - Frontend dependency versions live in the
catalogofpnpm-workspace.yaml.
See architecture for how the code is laid out.
Contributing
Open an issue before a large change, so we can agree on the approach first. Pull requests need passing checks. Qorekit is released under the GPL version 3 or later; by contributing, you license your contribution under the same terms.