CLI tool
tmdh/laravel-kit avatar
tmdh/laravel-kit

Laravel Kit: An Electron Shell Around Artisan and Tinker

A desktop Laravel admin panel app

1,317 stars132 forksTypeScriptGPL-2.0

At a glance

What is it?
Laravel Kit is a desktop app that wraps Artisan and Tinker in a GUI and can serve a Laravel project locally. It is a convenience layer for developers who would rather click than type, and it inherits every constraint of the local PHP install it depends on.
Who is it for?
Adopt Laravel Kit if you want a click-driven front end for Artisan and Tinker on a machine where PHP is already installed and you are comfortable with GPL-2.0 terms. Skip it if you work primarily over SSH on remote servers, if you need a stable API for scripting, or if you want the app to manage multiple projects as first-class objects.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 137 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Laravel Kit replaces, and for whom

The README describes Laravel Kit as "a simple and elegant desktop application for managing your Laravel applications." The concrete problem it addresses is the gap between a terminal and a Laravel project: running php artisan migrate, opening a Tinker session, and starting a local dev server are three separate terminal rituals that the app collapses into buttons in one window. The listed features are narrow and specific. Execute Artisan commands in a GUI. Tinker with the project in a code editor. Serve the application locally with a click. Artisan commands are retrieved from the project itself, not hardcoded, so the command list reflects whatever the installed Laravel version and any installed packages expose.

The audience is a developer on Windows, Linux or macOS who already has PHP installed, since the README states that as a hard prerequisite, and who prefers a GUI over a shell for routine tasks. It is not a deployment tool, not a remote administration tool, and not a replacement for a full IDE. If you are comfortable in a terminal, the value proposition shrinks considerably, because the app does not do anything the artisan binary cannot do. What it changes is the interface, not the capability set.

Electron, Vue 3, and a PHP process on the side

The development section names the stack: Electron, Vue.js 3, Tailwind CSS and Vite. That tells you the shape of the architecture without needing to read the source. The UI is a web application rendered inside Chromium via Electron. The Laravel work happens by spawning PHP as a child process, because there is no other way for a JavaScript desktop app to execute artisan or tinker. The README's statement that PHP must be installed in your system is the direct consequence: the app is a front end, and PHP is the engine.

This matters for how failures present themselves. If the PHP binary is not on PATH, or if the version is incompatible with the Laravel project, the error surfaces through the app rather than from a shell where you can inspect it easily. The feature list says commands are retrieved from your Laravel project, which implies the app queries the project for its command list at some point, likely by invoking artisan list and parsing the output. That is a reasonable design, but it means the command palette is only as accurate as the project's own bootstrapping. A project that fails to boot, for example due to a missing .env or a broken service provider, will not produce a command list. The README does not describe error handling for that case, and the wiki is the only place where it might be documented.

Installing on Windows, macOS, Ubuntu and Arch

The install paths differ per platform and the README gives exact commands. On Windows you download the .exe setup file from the releases page and install it; the README notes that updates are checked automatically. On macOS the recommended route is Homebrew:

brew install laravel-kit --no-quarantine

The --no-quarantine flag is doing real work here. The README separately notes that the dmg release is not code signed, and the --no-quarantine flag is the standard way to bypass Gatekeeper for unsigned Homebrew casks. If you install from the dmg instead, you are directed to a GitHub issue comment for instructions, which is a sign that the unsigned build creates friction the project has chosen not to solve by paying for a signing certificate.

On Ubuntu and derivatives the README gives two commands:

wget https://github.com/tmdh/laravel-kit/releases/download/v2.0.9/laravel-kit_2.0.9_amd64.deb sudo apt install ./laravel-kit_2.0.9_amd64.deb

Note that the version in the URL is pinned to v2.0.9, so you are installing that release specifically, not whatever is latest. On Arch the package is in the AUR as laravel-kit. For other Linux distributions only an AppImage is provided, and the README says proper methods will be added very soon, which is the kind of line that ages badly. There is no configuration step described anywhere, which matches the first bullet in the feature list.

The unsigned macOS build and the release cadence

Two constraints stand out from the metadata. First, macOS distribution is unsigned, which the README acknowledges by pointing dmg users at a workaround thread. Unsigned desktop apps trigger Gatekeeper warnings and require manual approval or a quarantine flag. For a tool aimed at developers this is survivable, but it means every macOS user pays a small setup tax that a signed build would remove.

Second, the release history is uneven. v2.0.9 shipped in February 2025. The prior release, v2.0.8, was February 2023, and v2.0.7 was October 2022. The repository shows a push in May 2026, so the project is not abandoned, but the gap between v2.0.8 and v2.0.9 was roughly two years. That pattern matters for anyone expecting timely fixes. If you hit a bug in how the app parses artisan output for a new Laravel version, you may be waiting a long time for a release, or you may need to build from source. The development commands for that are documented: yarn run dev:one starts the Vite dev server, yarn run dev:two starts Electron, yarn run prod builds with Vite, and yarn run pack makes the executable. There is no published support window or compatibility matrix for Laravel versions in the material provided.

Tinker in a GUI is not the same as Tinker in a terminal

The Tinker feature is described as tinkering "in a magical code editor." That phrasing is marketing, and the underlying trade-off is worth stating plainly. A terminal Tinker session is a REPL with readline history, pipeable output, and the ability to copy results into scripts without leaving the keyboard. A GUI editor embedded in Electron gives you syntax highlighting and a nicer surface, but it introduces a boundary between what you type and what PHP receives. Multi-line input handling, output truncation, and the handling of long-running expressions are all things a terminal handles natively and a GUI has to reimplement.

The README does not describe how the editor sends code to PHP, whether it uses tinker's own input handling or a custom bridge, or what happens with expressions that produce very large output. That is a genuine gap in the supplied material. If your Tinker usage is exploratory and short, the GUI is fine. If you use Tinker for anything scripted or repetitive, the terminal remains the better tool, and the app adds nothing there.

Laravel Sail, Valet and the artisan CLI as alternatives

The closest functional alternative for the serving feature is Laravel Sail, which runs a Laravel project in Docker containers and exposes artisan through ./vendor/bin/sail. The approach is fundamentally different. Sail gives you a reproducible environment defined in docker-compose.yml, so the PHP version and extensions are pinned with the project rather than inherited from the host. Laravel Kit does the opposite: it uses whatever PHP you have installed and adds a GUI on top. If your problem is "my local environment differs from production," Sail solves it and Laravel Kit does not. If your problem is "I do not want to type artisan commands," Laravel Kit solves it and Sail does not.

Laravel Valet is another point of comparison on macOS, providing a local development environment with per-site domains. It is terminal-driven and does not provide a GUI. For running commands, the artisan binary itself is the baseline alternative, and it is strictly more capable: it supports piping, scripting, CI use, and remote execution over SSH, none of which a desktop GUI does well. The honest framing is that Laravel Kit is an interface preference, not a capability upgrade. Choose it because you like the interface, not because it unlocks something.

Licence and maintenance burden

The repository is licensed GPL-2.0. For a desktop application you install and use, that is unremarkable. It becomes relevant if you fork the app, bundle it into a product you distribute, or modify and redistribute it, because the GPL's copyleft terms attach to derivative distributions. This is not legal advice, and the specifics depend on what you actually do with the code, so read the licence text and consult someone qualified if you plan to redistribute. Using the app as-is to manage your own projects does not raise the same questions.

On maintenance cost, the app has no server component and no database, so there is nothing to operate. The cost is in keeping the app working against your Laravel version. Because commands are pulled from the project, a Laravel upgrade that changes command signatures or output formatting could affect the app's parsing. The release history suggests fixes arrive slowly. If you depend on the app daily, pinning a version you know works and testing new releases against your projects before upgrading is the practical approach. The auto-update behaviour mentioned for Windows means you may not get that choice there without extra effort.

Editorial conclusion

Adopt Laravel Kit if you want a click-driven front end for Artisan and Tinker on a machine where PHP is already installed and you are comfortable with GPL-2.0 terms. Skip it if you work primarily over SSH on remote servers, if you need a stable API for scripting, or if you want the app to manage multiple projects as first-class objects. Before installing, verify three things: that your PHP binary is on PATH, that the Arch package or the AppImage actually launches on your distribution, and that you can read the source at the pinned release tag you download, since the wiki is the only documentation channel and it is not versioned with the releases.

Official sources

  1. License: GPL-2.0
  2. Project website
  3. README
  4. Releases
  5. tmdh/laravel-kit on GitHub
Community notes

Community notes