PHPackages                             wyattcast44/hub-for-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. wyattcast44/hub-for-laravel

ActiveProject

wyattcast44/hub-for-laravel
===========================

A tool for scaffolding new Laravel applications.

00PHP

Since Mar 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/WyattCast44/hub-for-laravel)[ Packagist](https://packagist.org/packages/wyattcast44/hub-for-laravel)[ RSS](/packages/wyattcast44-hub-for-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Installation
============

[](#installation)

```
composer require wyattcast44/hub-for-laravel
// or
composer global require wyattcast44/hub-for-laravel
```

Updating
========

[](#updating)

```
composer update wyattcast44/hub-for-laravel
// or
composer global update wyattcast44/hub-for-laravel
```

Inspiration
===========

[](#inspiration)

- Matt Stauffer / Tighten [Lambo](https://github.com/tighten/lambo)
- Docker Compose
- Docker Hub
- [Laravel Blueprint](https://blueprint.laravelshift.com/)
- [GitHub Actions](https://docs.github.com/en/actions)

Discussion Points w/Matt
========================

[](#discussion-points-wmatt)

- Laravel Hub CLI
    - Drop-in replacement for Laravel installer
    - Still use Laravel installer under the hood to capture all the goodness they release
    - Recipes written in YAML
    - Sharing recipes
    - Inheriting recipes (docker images inspo)
- [Laravel Hub Web App](https://github.com/WyattCast44/laravel-hub)
    - Docker Hub Inspo
    - Nova Packages Inspo
    - Packages
        - Related packages
        - Analytics
        - Official packages
    - Recipes
    - Starter Kits
    - Basically a one-stop shop for Laravel ecosystem
    - Ideally would be an official Laravel property: hub.laravel.com
        - I don't want it to compete against Laravel News, Laravel.io, etc
- PHP vs Yaml
    - PHP for starter kits? (see app.php)
    - Yaml for composing steps? (see app.yaml)
- PHP API
    - Offer code gen:
        -
        -
        -

Usage
=====

[](#usage)

You can use the CLI as a near drop-in replacement for the offical Laravel installer. For example:

```
laravel-hub new project
```

But the real power of the tool is when you create a `compose` file. The `compose` file is your basic recipe for your application. You should create an `app.yaml` file in the directory where you would like to create your application.

```
touch app.yaml

```

When you are done crafting your recipe (see [docs](#compose-file-api) below), you should run the `compose` command:

```
laravel-hub compose {script=app.yaml}
```

If your `compose` file is named something other than `app.yaml`, pass the name of your file as the first argument.

Compose File API
================

[](#compose-file-api)

- [env](#env)
- [git](#git)
- [name](#name)
- [touch](#touch)
- [mkdir](#mkdir)
- [artisan](#artisan)
- [console](#console)
- [version](#version)
- [blueprint](#blueprint)
- [php-packages](#php-packages)
- [php-packages-dev](#php-packages-dev)
- [npm-packages](#npm-packages)
- [npm-packages-dev](#npm-packages)

`env`
-----

[](#env)

The `env` API allows you update or insert (upsert) keys in the applications `.env` file.

An example is show below:

```
env:
 APP_NAME: "Laravel"
 DB_DATABASE: "laravel"
 NEW_ENV_KEY: "value"
```

`git`
-----

[](#git)

The `git` API allows you to signal that you would like a git repository to be created and commits to be made for each step. The possible values are: `true` or `false`

An example is show below:

```
git: true
```

`name`
------

[](#name)

- Required: True

The `name` key is required, the sluggified version of the name will be used to generate the folder name where the application will be installed.

`touch`
-------

[](#touch)

The `touch` API allows you create files in your application. Any required directories will also be created.

An example is show below:

```
touch:
  - "app/Support/helpers.php"
```

`mkdir`
-------

[](#mkdir)

The `mkdir` API allows you create directories in your application. Any required parent directories will also be created.

An example is show below:

```
mkdir:
  - "resources/svg"
```

`artisan`
---------

[](#artisan)

The `artisan` API allows you run Laravel Artisan commands in your application.

An example is show below:

```
artisan:
  - storage:link
  - make:model Post -mfc
```

`console`
---------

[](#console)

The `console` API allows you create run console commands in your application.

An example is show below:

```
console:
  - git init
  - code .
```

`version`
---------

[](#version)

The `version` API allows you to declare what version of Laravel you want to install. You can specify any valid composer version.

An example is show below:

```
version: "7.x"
```

`blueprint`
-----------

[](#blueprint)

The `blueprint` API is an special key. It installs the powerful [Laravel Blueprint](https://blueprint.laravelshift.com/) package as a dev dependency. It then take the value of the key and writes this to a `draft.yaml` file in your project. This allows you to scaffold anything that the [Laravel Blueprint](https://blueprint.laravelshift.com/) package can create.

An example is show below:

```
blueprint:
    models:
        Post:
            title: string:400
            content: longtext
            published_at: nullable timestamp
            author_id: id:user

    controllers:
        Post:
            index:
            query: all
            render: post.index with:posts

            store:
            validate: title, content, author_id
            save: post
            send: ReviewPost to:post.author.email with:post
            dispatch: SyncMedia with:post
            fire: NewPost with:post
            flash: post.title
            redirect: post.index
```

`php-packages`
--------------

[](#php-packages)

The `php-packages` API allows you require composer packages into your application.

An example is show below:

```
php-packages:
  - laravel/telescope
  - laravel/socialite
```

`php-packages-dev`
------------------

[](#php-packages-dev)

The `php-packages-dev` API allows you require dev only composer packages into your application.

An example is show below:

```
php-packages-dev:
  - brianium/paratest
```

`npm-packages`
--------------

[](#npm-packages)

The `npm-packages` API allows you install NPM packages into your application.

An example is show below:

```
npm-packages:
  - "tailwindcss/@latest"
```

`npm-packages-dev`
------------------

[](#npm-packages-dev)

The `npm-packages` API allows you install NPM dev packages into your application.

An example is show below:

```
npm-packages-dev:
  - "alpinejs"
```

Cookbook
========

[](#cookbook)

Basic
-----

[](#basic)

This basic recipe will simply create a new Laravel application and set some `env` values

```
name: "Basic Laravel Recipe"
env:
  APP_NAME: "Basic Recipe"
  DB_DATABASE: "basic"
```

Advanced
--------

[](#advanced)

This advanced recipe will create a new Laravel application and then clone a existing repo and copy some files into your new application. And then launch the app with VS Code.

```
name: "Advanced Laravel Recipe"
env:
  APP_NAME: "Advanced Recipe"
  DB_DATABASE: "advanced"
console:
  - git clone "https://github.com/WyattCast44/laravel-starter-app-tall" "source"
  - cp -R "source/resources/views" "resources"
  - cp "source/routes/auth.php" "routes/auth.php"
  - rm -rf "source"
  - code .
```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ec1f5d67a8ace8451f50303ed7fc9185a8298b9a38dc4d47c3aeb283255e66d?d=identicon)[wyattcast44](/maintainers/wyattcast44)

---

Top Contributors

[![WyattCast44](https://avatars.githubusercontent.com/u/17957937?v=4)](https://github.com/WyattCast44 "WyattCast44 (16 commits)")

### Embed Badge

![Health badge](/badges/wyattcast44-hub-for-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/wyattcast44-hub-for-laravel/health.svg)](https://phpackages.com/packages/wyattcast44-hub-for-laravel)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
