Skip to content

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_mysql and pdo_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 ​

CommandWhat it does
composer checkCode style (Pint), static analysis (PHPStan level 8) and the test suite
composer test:matrixThe test suite against MySQL, MariaDB and PostgreSQL
pnpm checkESLint, type checking, unit tests and a production build of the interface
pnpm e2eBrowser tests against all three databases, each a fresh copy installed through the wizard
pnpm docs:devThese docs, served while you write them
pnpm docs:buildThese docs, built, with every internal link checked
bash build/hosting.shA 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 catalog of pnpm-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.

Qorekit is free software under the GNU GPL, version 3 or later.