@rakaya07/larafast
v0.1.0
Published
CLI tool to quickly bootstrap Laravel projects.
Maintainers
Readme
Larafast
CLI tool to scaffold Laravel projects instantly with a guided setup wizard.
Installation
Install globally:
npm install -g larafastOr run directly with npx:
npx larafast new my-projectUsage
Create a new Laravel project:
larafast new blogRun environment diagnostics:
larafast doctorFeatures
- Interactive project wizard
- Laravel installer automation
- Database configuration (MySQL, PostgreSQL, SQLite)
- Auth system setup (Breeze / Jetstream)
- Admin panels (Filament / Voyager)
- Docker setup
- Git initialization
- Cross-platform (Windows, macOS, Linux)
Example
larafast new saas-appCreating Laravel project: saas-app
? Auth system: › Breeze
? Frontend stack: › React
? Database: › MySQL
? Admin panel: › None
? Docker setup? › No
? Initialize Git? › Yes
Pipeline steps:
1. laravel-install — Install Laravel project using composer
2. database-mysql — Configure MySQL database
3. auth-breeze — Install Laravel Breeze
4. frontend-react — Set up React with Vite
5. git-init — Initialize Git repository
✔ Install Laravel project using composer
✔ Configure MySQL database
✔ Install Laravel Breeze
✔ Set up React with Vite
✔ Initialize Git repositoryDemo
Add a terminal demo GIF here later.

Prerequisites
Check your environment before running:
larafast doctor| Tool | Required | Notes |
|------|----------|-------|
| Node.js | ✅ v18+ | Runtime for the CLI |
| npm | ✅ | Package management |
| Composer | ✅ | Laravel installation |
| PHP | ✅ 8.2+ | Laravel runtime |
| Git | ✅ | Version control |
| Docker | Optional | Only if using --docker |
| MySQL / PostgreSQL | Optional | Depends on DB choice |
Commands
larafast new <project-name>
Creates a new Laravel project with the selected configuration.
# Interactive wizard
larafast new blog
# With flags — skips matching prompts
larafast new blog --breeze --react --mysql --git
# Using a preset
larafast new blog --preset saaslarafast doctor
Checks your environment for all required tools.
larafast doctorChecking environment...
✔ Node.js
✔ npm
✔ Composer
✔ Git
✔ Git identity
✔ Docker
✔ Docker Compose
✔ npm spawn test
✔ composer spawn testCLI Flags
Skip the wizard by passing flags directly. Mix and match — only unanswered questions will be prompted.
Auth
| Flag | Description |
|------|-------------|
| --breeze | Install Laravel Breeze (lightweight auth scaffold) |
| --jetstream | Install Laravel Jetstream (full-featured auth + teams) |
Breeze and Jetstream are mutually exclusive.
Frontend
| Flag | Description |
|------|-------------|
| --blade | Blade templating (Laravel default) |
| --react | React with Vite |
| --vue | Vue 3 with Vite |
Database
| Flag | Description |
|------|-------------|
| --mysql | MySQL (localhost:3306) |
| --postgres | PostgreSQL (localhost:5432) |
| --sqlite | SQLite (file-based, zero config) |
Admin Panel
| Flag | Description | Laravel Version |
|------|-------------|-----------------|
| --filament | Filament v3 admin panel | 10, 11, 12 |
| --voyager | Voyager admin panel | 10 only |
Extras
| Flag | Description |
|------|-------------|
| --docker | Generate docker-compose.yml, Dockerfile, Nginx config |
| --git | Initialize Git repo with initial commit |
| --preset <name> | Load a pre-defined configuration (basic, saas, api) |
Presets
larafast new blog --preset basic # Prompts: auth, frontend, database, admin
larafast new blog --preset saas # No prompts — fully configured
larafast new blog --preset api # Prompts: frontend, adminsaas preset:
{
"auth": "Breeze",
"frontend": "React",
"database": "MySQL",
"admin": "Filament",
"docker": false,
"git": true
}Architecture
bin/larafast.js
│
├── src/commands/new.js
│ ├── Wizard (projectWizard.js)
│ ├── Compatibility checker
│ ├── Config resolver (Laravel version)
│ └── Pipeline builder
│ │
│ └── Pipeline engine (ora spinner)
│ │
│ └── Modules
│ laravel │ database │ auth │ frontend │ admin │ docker │ git
│
└── src/commands/doctor.jsProject Structure
larafast/
├── bin/
│ └── larafast.js
├── src/
│ ├── commands/
│ │ ├── new.js
│ │ └── doctor.js
│ ├── core/
│ │ ├── engine/pipelineEngine.js
│ │ ├── pipeline/
│ │ │ ├── pipelineBuilder.js
│ │ │ ├── compatibilityChecker.js
│ │ │ └── configResolver.js
│ │ └── wizard/projectWizard.js
│ ├── modules/
│ │ ├── core/laravelInstall.js
│ │ ├── auth/
│ │ ├── database/
│ │ ├── frontend/
│ │ ├── admin/
│ │ ├── docker/
│ │ ├── git/
│ │ └── utils/spawnAsync.js
│ └── presets/
│ ├── basic.json
│ ├── saas.json
│ └── api.json
└── package.jsonDependencies
| Package | Version | Purpose |
|---------|---------|---------|
| commander | ^14.0.0 | CLI argument parsing |
| @inquirer/prompts | ^7.5.1 | Interactive wizard prompts |
| ora | ^5.4.1 | Terminal spinner |
| mysql2 | ^3.19.1 | MySQL connection testing |
| pg | ^8.20.0 | PostgreSQL connection testing |
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m "Add my feature" - Push and open a Pull Request
Repository
https://github.com/rakaya07/larafast
License
MIT — see LICENSE for details.
Built with ❤️ for the Laravel community
