The official CLI for creating Saucebase applications — a globally-installed Composer package, like laravel/installer.
composer global require saucebase/installer
saucebase new my-appsaucebase new creates a new project and runs the full install flow (environment, database, frontend, modules) in one pass. No PHP yet? Use the one-command bootstrap at install.saucebase.dev.
- PHP ^8.4 and Composer (the only universal prerequisites — same as Laravel itself)
- Docker driver: Docker Desktop or Docker Engine with the Compose plugin; mkcert only if you enable SSL
- Native driver: a local PHP capable of running the app; the CLI points you to php.new if anything is missing
The CLI checks and instructs for prerequisites — it never installs them for you.
composer global require saucebase/installerMake sure Composer's global bin directory is on your PATH (composer global config bin-dir --absolute).
Creates a new Saucebase application and installs it end to end.
saucebase new my-appRuns a self-update check, then collects every choice upfront (driver → SSL if Docker → stack → modules) so the install runs unattended. It scaffolds the app via laravel/installer (using the saucebase/saucebase starter kit), then runs the full install flow against it. Your driver choice is remembered in ~/.config/saucebase/config.json as the default for next time.
Options
| Option | Description |
|---|---|
--driver=docker|native |
Environment driver (skips the prompt) |
--stack=vue|react |
Frontend stack (skips the prompt) |
--ssl=yes|no |
Enable HTTPS via mkcert, Docker only (skips the prompt) |
--modules=auth,billing |
Install specific modules by name, or none to skip modules |
--all-modules |
Install every module compatible with the stack |
--using=vendor/skeleton |
Use a different starter kit instead of saucebase/saucebase |
--fresh |
Run migrate:fresh instead of migrate (destructive) |
--force |
Overwrite an existing directory and skip confirmations |
--dev |
Contributor mode (uses the skeleton's dev branch, skips modules) |
Examples
# Fully interactive
saucebase new my-app
# Vue + Docker with SSL, all compatible modules
saucebase new my-app --driver=docker --ssl=yes --stack=vue --all-modules
# React + native PHP, no modules
saucebase new my-app --driver=native --stack=react --modules=noneRuns the install flow against an existing Saucebase app. This is what new calls under the hood; run it standalone to (re)provision an app you already have.
cd my-app
saucebase installTakes an optional stack argument (vue/react) and the same --driver, --ssl, --modules, --fresh, --force options as new, plus --path to target a directory other than the current one.
Docker driver — copies the Docker stubs (docker-compose.yml, Dockerfile, nginx.conf, …), generates SSL certs if enabled, patches .env with MySQL/Mailpit/APP_URL defaults, brings up docker compose, then generates APP_KEY, migrates, wires the frontend, and installs modules.
Native driver — copies .env.example → .env, generates APP_KEY, migrates and seeds, wires the frontend, installs modules, and links storage.
Selects or switches the frontend framework for an app.
saucebase stack vue
saucebase stack reactCopies the framework-specific source, config (package.json, vite.config.js, tsconfig.json, …), lockfile, and blade layout into place, removes the unused framework's directory, and records the choice in frontend.json.
Options
| Option | Description |
|---|---|
--path=<dir> |
Target app directory (defaults to the current directory) |
--dev |
Contributor mode — config only, keeps both source dirs, uses git skip-worktree, runs npm install |
--reset |
Reverts generated files to their pre-selection state |
Note: Framework selection is permanent for a given installation. To switch, start a new project or use
--reset(dev mode).
saucebase is a standalone Illuminate\Console\Application (not a Laravel package — no service provider). It operates on a target directory via --path, running artisan steps as subprocesses (php <path>/artisan …). Project creation is delegated to laravel/installer; everything after — environment, database, frontend, modules — is the Saucebase install flow.
MIT