PHPackages                             rcrosbourne/blueprint - 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. [Framework](/categories/framework)
4. /
5. rcrosbourne/blueprint

ActiveLibrary[Framework](/categories/framework)

rcrosbourne/blueprint
=====================

An expressive, human readable code generation tool.

2.10.0(2y ago)05MITPHP

Since Dec 6Pushed 2y agoCompare

[ Source](https://github.com/rcrosbourne/blueprint)[ Packagist](https://packagist.org/packages/rcrosbourne/blueprint)[ RSS](/packages/rcrosbourne-blueprint/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (10)Versions (4)Used By (0)

 [![Build Status](https://github.com/laravel-shift/blueprint/workflows/Build/badge.svg)](https://github.com/laravel-shift/blueprint/actions) [![Latest Stable Version](https://camo.githubusercontent.com/004f5a6b3a9a88c081cf9d2e95b32bc8854de0b32032aeca84a96dd9e4acf3ba/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d73686966742f626c75657072696e742f762f737461626c652e737667)](https://packagist.org/packages/laravel-shift/blueprint) [![License](https://camo.githubusercontent.com/0d94d95e9510689c31fc0b3860e186b170c5ba7c212b169c1597212b54a47711/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2d73686966742f626c75657072696e742f6c6963656e73652e737667)](https://github.com/badges/poser/blob/master/LICENSE)

[![Blueprint](blueprint-logo.png)](blueprint-logo.png)

*Blueprint* is an open-source tool for **rapidly generating multiple** Laravel components from a **single, human readable** definition.

Watch a quick [demo of Blueprint](https://www.youtube.com/watch?v=A_gUCwni_6c) in action and continue reading to get started.

Requirements
------------

[](#requirements)

Blueprint requires a Laravel application running the latest stable release of Laravel, currently Laravel 10.x.

Installation
------------

[](#installation)

You can install Blueprint via composer using the following command:

```
composer require -W --dev laravel-shift/blueprint
```

Blueprint will automatically register itself using [package discovery](https://laravel.com/docs/packages#package-discovery).

***Additional Configuration**: If you are running Laravel 8, or registering class-based routes or using the `app/Models` folder, you will need to configure Blueprint. Please review the [Blueprint Docs](https://blueprint.laravelshift.com/docs/advanced-configuration/) for additional guidance.*

Basic Usage
-----------

[](#basic-usage)

Blueprint comes with a set of artisan commands. The one you'll use the most is the `blueprint:build` command to generate the Laravel components:

```
php artisan blueprint:build [draft]
```

The *draft* file contains a [definition of the components](https://blueprint.laravelshift.com/docs/generating-components/) to generate.

Let's review the following, example draft file to generate some *blog* components:

```
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
```

From these simple 20 lines of YAML, Blueprint will generate all of the following Laravel components:

- A *model* class for `Post` complete with `fillable`, `casts`, and `dates` properties, as well as relationships methods.
- A *migration* to create the `posts` table.
- A [*factory*](https://laravel.com/docs/database-testing) intelligently setting columns with fake data.
- A *controller* class for `PostController` with `index` and `store` actions complete with code generated for each [statement](https://blueprint.laravelshift.com/docs/controller-statements/).
- *Routes* for the `PostController` actions.
- A [*form request*](https://laravel.com/docs/validation#form-request-validation) of `StorePostRequest` validating `title` and `content` based on the `Post` model definition.
- A *mailable* class for `ReviewPost` complete with a `post` property set through the *constructor*.
- A *job* class for `SyncMedia` complete with a `post` property set through the *constructor*.
- An *event* class for `NewPost` complete with a `post` property set through the *constructor*.
- A *Blade template* of `post/index.blade.php` rendered by `PostController@index`.

***Note:** This example assumes features within a default Laravel application such as the `User` model and `app.blade.php` layout. Otherwise, the generated test may have failures.*

Documentation
-------------

[](#documentation)

Browse the [Blueprint Docs](https://blueprint.laravelshift.com/) for full details on [defining models](https://blueprint.laravelshift.com/docs/defining-models/), [defining controllers](https://blueprint.laravelshift.com/docs/defining-controllers/), [advanced configuration](https://blueprint.laravelshift.com/docs/advanced-configuration/), and [extending Blueprint](https://blueprint.laravelshift.com/docs/extending-blueprint/).

Support Policy
--------------

[](#support-policy)

Starting with version 2, Blueprint only generates code for the latest stable version of Laravel (currently Laravel 9). If you need to support older versions of Laravel, you may use version 1 or upgrade your application ([try using Shift](https://laravelshift.com)).

Blueprint still follows [semantic versioning](https://semver.org/). However, it does so with respect to its grammar. Any changes to the grammar will increase its major version number. Otherwise, minor version number increases will contain new features. This includes generating code for future versions of Laravel.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 61.3% 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

890d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a7ad54c7d4b34a8655e946d8d8ddfa62957051b2704e766ae7d788b428a67837?d=identicon)[rcrosbourne](/maintainers/rcrosbourne)

---

Top Contributors

[![jasonmccreary](https://avatars.githubusercontent.com/u/161071?v=4)](https://github.com/jasonmccreary "jasonmccreary (228 commits)")[![rcrosbourne](https://avatars.githubusercontent.com/u/2035749?v=4)](https://github.com/rcrosbourne "rcrosbourne (39 commits)")[![Pr3d4dor](https://avatars.githubusercontent.com/u/13210429?v=4)](https://github.com/Pr3d4dor "Pr3d4dor (16 commits)")[![ghostwriter](https://avatars.githubusercontent.com/u/9754361?v=4)](https://github.com/ghostwriter "ghostwriter (14 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (11 commits)")[![benjam-es](https://avatars.githubusercontent.com/u/1738602?v=4)](https://github.com/benjam-es "benjam-es (10 commits)")[![devmsh](https://avatars.githubusercontent.com/u/9499808?v=4)](https://github.com/devmsh "devmsh (8 commits)")[![promatik](https://avatars.githubusercontent.com/u/1838187?v=4)](https://github.com/promatik "promatik (5 commits)")[![jyrkidn](https://avatars.githubusercontent.com/u/2447042?v=4)](https://github.com/jyrkidn "jyrkidn (4 commits)")[![adevade](https://avatars.githubusercontent.com/u/1066486?v=4)](https://github.com/adevade "adevade (3 commits)")[![axit-joost](https://avatars.githubusercontent.com/u/13835397?v=4)](https://github.com/axit-joost "axit-joost (3 commits)")[![bingtsingw](https://avatars.githubusercontent.com/u/10382462?v=4)](https://github.com/bingtsingw "bingtsingw (3 commits)")[![dmason30](https://avatars.githubusercontent.com/u/20278756?v=4)](https://github.com/dmason30 "dmason30 (3 commits)")[![spaceemotion](https://avatars.githubusercontent.com/u/429147?v=4)](https://github.com/spaceemotion "spaceemotion (3 commits)")[![Naoray](https://avatars.githubusercontent.com/u/10154100?v=4)](https://github.com/Naoray "Naoray (2 commits)")[![justinwhite15](https://avatars.githubusercontent.com/u/841517?v=4)](https://github.com/justinwhite15 "justinwhite15 (2 commits)")[![diogogomeswww](https://avatars.githubusercontent.com/u/11543163?v=4)](https://github.com/diogogomeswww "diogogomeswww (2 commits)")[![pxpm](https://avatars.githubusercontent.com/u/7188159?v=4)](https://github.com/pxpm "pxpm (2 commits)")[![YannikFirre](https://avatars.githubusercontent.com/u/3316758?v=4)](https://github.com/YannikFirre "YannikFirre (2 commits)")[![matt-h](https://avatars.githubusercontent.com/u/664294?v=4)](https://github.com/matt-h "matt-h (2 commits)")

---

Tags

frameworklaravelcode-generation

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/rcrosbourne-blueprint/health.svg)

```
[![Health](https://phpackages.com/badges/rcrosbourne-blueprint/health.svg)](https://phpackages.com/packages/rcrosbourne-blueprint)
```

###  Alternatives

[laravel-shift/blueprint

An expressive, human readable code generation tool.

3.1k1.4M30](/packages/laravel-shift-blueprint)[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M601](/packages/laravel-ui)[laravel/sail

Docker files for running a basic Laravel application.

1.9k186.9M1.0k](/packages/laravel-sail)[laravel/breeze

Minimal Laravel authentication scaffolding with Blade and Tailwind.

3.0k31.3M148](/packages/laravel-breeze)[graham-campbell/markdown

Markdown Is A CommonMark Wrapper For Laravel

1.3k7.1M64](/packages/graham-campbell-markdown)[laravel/wayfinder

Generate TypeScript representations of your Laravel actions and routes.

1.7k4.1M69](/packages/laravel-wayfinder)

PHPackages © 2026

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