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

Laravel Kit: a desktop GUI for Artisan and Tinker, not a starter kit

A desktop Laravel admin panel app

1,316 stars132 forksTypeScriptGPL-2.0

At a glance

What is it?
Laravel Kit is an Electron desktop app that runs Artisan commands and Tinker sessions against an existing Laravel project. It is a local development convenience, not a scaffolding tool, and the naming collision with Laravel's own starter kits causes most of the confusion around it.
Who is it for?
Adopt Laravel Kit if you already have a Laravel project on your machine and you want Artisan and Tinker in a window instead of a terminal, and if the GPL-2.0 licence suits how you distribute your work. Do not adopt it expecting scaffolding: it creates no project, and the related searches about starter kits describe a different category of tool.
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 152 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 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Laravel Kit actually is, and the naming problem it inherited

The README opens with a one-line description: "A simple and elegant desktop application for managing your Laravel applications." That sentence is the whole scope. Laravel Kit does not generate a project, does not pick a frontend stack, and does not ship authentication scaffolding. It attaches to a Laravel application that already exists on disk and gives you a window onto it.

This matters because the name collides with a much louder category. Laravel's own starter kits (Livewire, Vue, React, Blade) are scaffolding packages you install into a fresh project. The related searches around Laravel Kit are dominated by that other meaning: "Laravel starter kit livewire", "Laravel 12 starter kit", "Laravel SaaS starter kit". Someone arriving from those searches will be disappointed, and that is a documentation and naming problem rather than a product defect. If you want a scaffold, Laravel Kit is not the tool and never claimed to be.

The audience is narrower and more concrete: a developer who already works on Laravel projects locally, has PHP installed, and finds repeated terminal round-trips for `php artisan migrate`, queue restarts, cache clears or a quick Tinker expression tedious. The README lists the features that follow from that: no configuration required, Artisan commands executed through a UI, Tinker in an embedded code editor, a one-click local serve, and a theme inspired by VSCode.

How the Electron shell talks to your PHP project

The repository layout and package.json make the architecture legible. The app is built with Electron, Vue.js 3, Tailwind CSS and Vite, as the README's development section states. The Electron main process is `dist/main.js`, produced by the `build.js` script, and the renderer is a Vue 3 single-page app bundled by Vite.

The interesting part is how commands reach PHP. The dependency list includes `execa` for spawning child processes, `which` for locating executables on the system PATH, `tree-kill` for terminating a process tree, `strip-ansi` and `anser` for cleaning and rendering terminal escape sequences, and `monaco-editor` for the Tinker input surface. Read together, that is a coherent data flow: the Vue UI collects a command, the main process resolves the PHP or Artisan binary through `which`, spawns it with `execa`, streams stdout and stderr back, strips the ANSI codes, and renders them in the panel. `tree-kill` exists because `php artisan serve` and queue workers spawn children that a naive kill would orphan.

One claim in the README is worth flagging as a design choice rather than a feature: "Artisan commands are retrieved from your Laravel project." The app is not shipping a hardcoded command list. It asks your project what commands exist, which is why it works across Laravel versions without a mapping table, and also why a broken project or a missing `artisan` file leaves the interface empty. `electron-store` persists window state and settings; `electron-updater` handles the automatic update check the README mentions for Windows.

Installing Laravel Kit and running a first Artisan command

The README states one hard prerequisite before any platform instructions: PHP must be installed in your system. Laravel Kit does not bundle a PHP runtime, so if `php -v` fails in your shell, the app has nothing to drive.

On macOS the README recommends Homebrew and gives this command. The `--no-quarantine` flag is there because the dmg release is not code signed, and the README points to a GitHub issue comment for manual dmg installation steps if you skip Homebrew.

bash
brew install laravel-kit --no-quarantine

On Ubuntu and derivatives the README gives a download-and-install pair against the v2.0.9 release asset:

bash
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

On Windows you download the setup file (.exe) from the releases page and install it; the README notes that updates are then checked automatically. On Arch Linux the package is in the AUR as `laravel-kit`. Every other Linux distribution is limited to the AppImage from the releases page, and the README itself says "Proper methods will be added very soon", which is an admission that this path is unfinished.

After launching, the first real use is to open a Laravel project directory. The Artisan panel then populates from that project, and you can run a command such as `php artisan migrate` or `php artisan route:list` from the interface. The second panel is Tinker, backed by Monaco, where you type PHP expressions against the booted application. The third is the local serve button, which the README describes as serving your application locally with a click. What you should see is command output rendered in the panel with ANSI colouring preserved, and a running server you can stop without leaving orphaned PHP processes behind.

Where Laravel Kit stops being the right tool

The most obvious limitation is the boundary the README draws itself: this is a local desktop application. There is no browser mode, no remote host connection, no SSH transport mentioned in the README or visible in the dependency list. If your Laravel application runs in a container, on a staging server, or inside a VM you reach over SSH, Laravel Kit cannot attach to it. You would be looking at a GUI that spawns local processes and nothing else.

A second constraint is the platform packaging. Windows, macOS, Ubuntu derivatives and Arch each have a documented route. Everything else gets an AppImage and a README sentence deferring proper methods to a future release. That is a real gap for Fedora, openSUSE or Alpine users, not a rounding error.

The third is the release cadence visible in the repository metadata. The latest release is v2.0.9 from 2025-02-03. Before that, v2.0.8 was published on 2023-02-14 and v2.0.7 on 2022-10-04. Those gaps are wide, and the repository has no published roadmap in the README. The last push to the default branch was on 2026-05-01, so work has happened since the last tagged release, but a user who needs a predictable upgrade path should treat the release history as the signal rather than the push date. If your workflow depends on an actively versioned tool with frequent point releases, this is not that.

Finally, the app is a wrapper. Any problem you have with Artisan or Tinker in a terminal will reproduce here, sometimes with less diagnostic detail, because you are reading streamed output in a panel rather than a full shell with your own aliases, environment variables and shell configuration loaded.

Laravel Kit versus a terminal, and versus Laravel's own starter kits

The honest comparison for Laravel Kit is not another GUI. It is your terminal. A shell already runs `php artisan` with zero installation, respects your `.env`, your aliases and your PATH, and gives you scrollback, piping and scripting. Laravel Kit trades that away for discoverability: the command list comes from the project, so you do not need to remember whether a command is `make:controller` or `make:model`, and Tinker gets syntax highlighting through Monaco instead of a plain REPL. If you already know the commands and live in tmux, the app adds a layer without removing work.

The comparison that search traffic keeps demanding is against Laravel's starter kits, and the difference is categorical rather than incremental. A starter kit is a dependency you install into a new project to get routing, authentication and a frontend stack already wired. Laravel Kit is an application you install on your machine to operate a project that already has those things. One produces a codebase; the other consumes one. Searching for "Laravel starter kit demo" or "laravel kit vue" will surface both, and the two results answer completely different questions.

Within the GUI category itself, the README does not name a competing desktop admin panel, so the fair statement is that Laravel Kit's distinguishing choice is its refusal to configure anything. The README's first feature bullet is literally "No configuration required", and the mechanism that delivers it is reading commands from the project rather than maintaining a settings file. That is also its ceiling: an app that configures nothing can only expose what the project already offers.

Licence, upgrade cost and what the GPL-2.0 means here

The repository declares GPL-2.0, and package.json records the licence field as `GPLV2`. The README carries a copyright line for Tareque Md Hanif covering 2018-2022.

For a developer running Laravel Kit locally against their own project, the licence is not a practical concern: you are using the software, not distributing it. The situation changes if you fork the app, bundle it into a commercial product, or ship a modified build to customers. GPL-2.0 carries reciprocity obligations on distribution, and the details depend on your situation. This is not legal advice, and anyone contemplating redistribution should read the licence text in `license.txt` at the repository root and take proper advice.

Upgrade cost is modest but not zero. Windows installs check for updates automatically through `electron-updater`, per the README. Homebrew users upgrade through `brew upgrade`. The .deb path means re-downloading and re-installing a new asset each time, since the README gives a version-pinned wget URL rather than a repository or PPA. Arch users get updates through the AUR package. The version-pinned URL in the README is worth noting: it points at v2.0.9 specifically, so the documented Ubuntu command will not silently move you forward.

On the development side, the README documents the two-process workflow: `yarn run dev:one` starts the Vite dev server, `yarn run dev:two` starts Electron, and production builds go through `yarn run prod` followed by `yarn run pack`. Anyone building from source should expect to work with the pinned toolchain in package.json, which includes Electron 33.0.0 and Vite 2.7.13.

Editorial conclusion

Adopt Laravel Kit if you already have a Laravel project on your machine and you want Artisan and Tinker in a window instead of a terminal, and if the GPL-2.0 licence suits how you distribute your work. Do not adopt it expecting scaffolding: it creates no project, and the related searches about starter kits describe a different category of tool. Before installing, confirm that PHP is on your PATH, that you are on a platform with a documented install path (Windows setup file, Homebrew on macOS, a .deb or AppImage on Linux, or the AUR package), and that you are comfortable with a codebase whose last release was v2.0.9 on 2025-02-03.

Frequently asked questions

Is Laravel Kit a starter kit for new Laravel projects?

No. The README describes it as a desktop application for managing your Laravel applications, and it attaches to a project that already exists on disk rather than generating one. Laravel's own starter kits (Livewire, Vue, React, Blade) are a separate category of scaffolding package.

Which operating systems does Laravel Kit support?

The README states it is available for Windows, Linux and macOS. Windows uses a setup file (.exe), macOS is recommended through Homebrew, Ubuntu and derivatives use a .deb, Arch Linux has an AUR package, and other Linux distributions are limited to the AppImage format.

Does Laravel Kit include PHP?

No. The installation section states that PHP must be installed in your system before you install the app.

What licence does Laravel Kit use?

The repository declares GPL-2.0, and package.json records the licence as GPLV2. Running it locally is not a distribution, but redistributing a modified build carries reciprocity obligations under that licence.

Can Laravel Kit connect to a remote or containerised Laravel application?

The README and the dependency list describe a local desktop application that spawns local processes, and no remote or SSH transport is documented. If your application runs on a server or inside a container you cannot reach with a local Artisan binary, the app has nothing to attach to.

Official sources

  1. License: GPL-2.0
  2. Project website
  3. README
  4. Releases
  5. tmdh/laravel-kit on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tmdh-laravel-kit.svg)](https://hysenlabs.com/projects/tmdh-laravel-kit)