Getting started

Your first project

Create a Laravel app with a database, mail and HTTPS in one go, from the dashboard or the terminal.

التوثيق متاح باللغة الإنجليزية، مثل أوامر LaraMonster وواجهته.

LaraMonster can create a complete Laravel app for you: the starter kit you like, its own domain, a database that already exists, mail going to the LaraMonster inbox, the packages you pick, migrations run, assets built and a first Git commit.

From the dashboard

Click New project on the dashboard (or New project… in the tray menu). The wizard asks a few questions on one screen:

FieldChoices
NameThe folder name, created in your first parked folder. It also becomes the site name: shop → shop.localhost.
Starter kitLaravel (plain), React, Vue, Livewire, or Blank (an empty PHP project).
DomainAnother site name if you don't want the folder name, e.g. store → store.localhost.
PHPThe PHP version to pin the project to, or the default.
DatabaseSQLite (a single file, zero setup), MySQL/MariaDB or PostgreSQL. For MySQL and PostgreSQL the service is started and the database created for you.
ExtrasCatch emails in the Mail inbox, Redis for cache, queues and sessions, serve over HTTPS, build frontend assets, initialise Git.
PackagesCurated picks (Filament, Livewire, Pest, Telescope, Horizon, Sanctum and more), AI packages (Laravel Boost, Laravel AI, MCP, Prism…), and a live Packagist search for anything else.

Click Create and watch each stage tick off:

  1. Create the project

    Composer creates the app from the starter kit, with the PHP version you chose.

  2. Serve it on its domain

    The site is live at its address immediately, over HTTPS if you picked it.

  3. Configure .env and database

    APP_URL, database, mail and Redis settings are written for you.

  4. Install packages

    Each package is required and its installer run (for example filament:install or install:api).

  5. Run migrations

    php artisan migrate against the new database.

  6. Build frontend assets

    npm install and npm run build, when the kit has a frontend.

  7. First Git commit

    A repository with everything committed, so your first change is a clean diff.

If a stage fails, the wizard shows its log and the reason. Everything done until then stays, so you can fix the cause and carry on by hand.

From the terminal

laramonster new does the same, with flags for each choice:

$ laramonster new shop --kit react --db mysql --secure --redis -p filament/filament
==> Create the project
==> Serve it on its domain
==> Configure .env and database
==> Install packages
==> Run migrations
==> Build frontend assets
==> First Git commit
  https://shop.localhost:8443
FlagMeaningDefault
-k, --kitlaravel, react, vue, livewire or blanklaravel
--domainSite name, e.g. store → store.localhostThe project name
--phpPHP version to pinThe default version
--dbsqlite, mysql or pgsqlsqlite
-p, --packageA Composer package to add (repeat it for more)—
--secureServe over HTTPSOff
--redisRedis for cache, queues and sessionsOff
--no-mailDon't send mail to the LaraMonster inboxMail goes to the inbox
--no-npmSkip npm install && npm run build—
--no-gitSkip git init—
--dirWhere to create itThe current folder, or the first parked folder
-v, --verboseShow all Composer and npm outputStage headers and warnings only

More examples

# A Livewire app on PHP 8.3 with PostgreSQL
$ laramonster new crm --kit livewire --php 8.3 --db pgsql

# An API with Laravel Boost and Prism for AI features, no frontend build
$ laramonster new api --no-npm -p laravel/boost -p prism-php/prism

# A plain PHP project, served at playground.localhost
$ laramonster new playground --kit blank --no-git

Using an existing project

Already have a project? Put it (or clone it) inside your projects folder and it's served immediately:

$ cd ~/Code
$ git clone [email protected]:acme/shop.git
$ cd shop && composer install && cp .env.example .env && php artisan key:generate
$ laramonster open                 # opens http://shop.localhost:8080

For a project somewhere else, run laramonster link inside it; see Linking a project. To give it a database, start MySQL or PostgreSQL on the Services page and paste the service's .env values.

After it's created

Click the site on the Sites page to open its panel: change its PHP version, edit its .env in a form, add packages later, change its PHP settings, or share it with a public link. See The site panel.