PHPackages                             jeroen-g/laravel-packager - 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. [CLI &amp; Console](/categories/cli)
4. /
5. jeroen-g/laravel-packager

ActiveLibrary[CLI &amp; Console](/categories/cli)

jeroen-g/laravel-packager
=========================

A cli tool for creating Laravel packages.

2.12.0(2mo ago)1.4k707.3k↑32.9%191[10 issues](https://github.com/Jeroen-G/laravel-packager/issues)[6 PRs](https://github.com/Jeroen-G/laravel-packager/pulls)18EUPL-1.1PHPPHP ^7.1|^8.0

Since Jun 10Pushed 2mo ago32 watchersCompare

[ Source](https://github.com/Jeroen-G/laravel-packager)[ Packagist](https://packagist.org/packages/jeroen-g/laravel-packager)[ Docs](https://github.com/Jeroen-G/laravel-packager)[ RSS](/packages/jeroen-g-laravel-packager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (42)Used By (18)

Laravel Packager
================

[](#laravel-packager)

[![Latest Version on Packagist](https://camo.githubusercontent.com/47d70328c9a4673717f6f8d0ec1dcf0234fd7bb53e51c046119d1dd263caa3f7/68747470733a2f2f706f7365722e707567782e6f72672f6a65726f656e2d672f6c61726176656c2d7061636b616765722f762f737461626c653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/jeroen-g/laravel-packager)[![Total Downloads](https://camo.githubusercontent.com/ef63e49bc201c3cf2e0c722eef371560da5cdbd81b20abb10d03f913421301dd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a65726f656e2d672f6c61726176656c2d7061636b616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jeroen-g/laravel-packager)[![Build Status](https://camo.githubusercontent.com/906e0abdf29aa2dfb8c8008564aa490554fd68bd4d2d08bebb300fddf230a762/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f4a65726f656e2d472f6c61726176656c2d7061636b616765722f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/Jeroen-G/laravel-packager)[![StyleCI](https://camo.githubusercontent.com/a58d0a00659e0bc286ea57934d05e568c65bd18e879f3ec2fed2fe03fcc9a2ab/68747470733a2f2f7374796c6563692e696f2f7265706f732f33373231383131342f736869656c64)](https://styleci.io/repos/37218114)

This package provides you with a simple tool to set up a new package and it will let you focus on the development of the package instead of the boilerplate. If you like a visual explanation [check out this video by Jeffrey Way on Laracasts](https://laracasts.com/series/building-laracasts/episodes/3).

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

[](#installation)

Via Composer

```
composer require jeroen-g/laravel-packager --dev
```

If you do not run Laravel 5.5 (or higher), then add the service provider in `config/app.php`:

```
JeroenG\Packager\PackagerServiceProvider::class,
```

If you do run the package on Laravel 5.5+, [package auto-discovery](https://medium.com/@taylorotwell/package-auto-discovery-in-laravel-5-5-ea9e3ab20518) takes care of the magic of adding the service provider. Be aware that the auto-discovery also means that this package is loaded in your production environment. Therefore you may [disable auto-discovery](https://laravel.com/docs/5.5/packages#package-discovery) and instead put in your `AppServiceProvider` something like this:

```
if ($this->app->environment('local')) {
    $this->app->register('JeroenG\Packager\PackagerServiceProvider');
}
```

Optional you can publish the configuration to provide a different service provider stub. The default is [here](https://github.com/jeroen-g/packager-skeleton).

```
php artisan vendor:publish --provider="JeroenG\Packager\PackagerServiceProvider"
```

Available commands
------------------

[](#available-commands)

### New

[](#new)

**Command:**

```
php artisan packager:new my-vendor my-package
```

**Result:**The command will handle practically everything for you. It will create a packages directory, creates the vendor and package directory in it, pulls in a skeleton package, sets up composer.json and creates a service provider.

**Options:**

```
php artisan packager:new my-vendor my-package --i
php artisan packager:new --i
```

The package will be created interactively, allowing to configure everything in the package's `composer.json`, such as the license and package description.

```
php artisan packager:new my-vendor/my-package
```

Alternatively you may also define your vendor and name with a forward slash instead of a space.

**Remarks:**The new package will be based on [this custom skeleton](https://github.com/jeroen-g/packager-skeleton). If you want to use a different package skeleton, you can either:

- (A) publish the configuration file and change the default skeleton that will be used by all `packager:new` calls.
- (B) use the flag `--skeleton="http://github.com/path/to/archive/master.zip"` with your own skeleton to use the given skeleton for this one run instead of the one in the configuration.

### Get &amp; Git

[](#get--git)

**Command:**

```
php artisan packager:get https://github.com/author/repository
php artisan packager:git https://github.com/author/repository
```

**Result:**This will register the package in the app's `composer.json` file. If the `packager:git` command is used, the entire Git repository is cloned. If `packager:get` is used, the package will be downloaded, without a repository. This also works with Bitbucket repositories, but you have to provide the flag `--host=bitbucket` for the `packager:get` command.

**Options:**

```
php artisan packager:get https://github.com/author/repository --branch=develop
php artisan packager:get https://github.com/author/repository my-vendor my-package
php artisan packager:git https://github.com/author/repository my-vendor my-package
```

It is possible to specify a branch with the `--branch` option. If you specify a vendor and name directly after the url, those will be used instead of the pieces of the url.

### Tests

[](#tests)

**Command:**

```
php artisan packager:tests
```

**Result:**Packager will go through all maintaining packages (in `packages/`) and publish their tests to `tests/packages`. Add the following to phpunit.xml (under the other testsuites) in order to run the tests from the packages:

```

    ./tests/packages

```

**Options:**

```
php artisan packager:tests my-vendor my-package
```

**Remarks:**If a tests folder exists, the files will be copied to a dedicated folder in the Laravel App tests folder. This allows you to use all of Laravel's own testing functions without any hassle.

### List

[](#list)

**Command:**

```
php artisan packager:list
```

**Result:**An overview of all packages in the `/packages` directory.

**Options:**

```
php artisan packager:list --git
```

The packages are displayed with information on the git status (branch, commit difference with origin) if it is a git repository.

### Remove

[](#remove)

**Command:**

```
php artisan packager:remove my-vendor my-package
```

**Result:**The `my-vendor\my-package` package is deleted, including its references in `composer.json` and `config/app.php`.

### Publish

[](#publish)

**Command:**

```
php artisan packager:publish my-vendor my-package https://github.com/my-vendor/my-package
```

**Result:**The `my-vendor\my-package` package will be published to Github using the provided url.

### Check

[](#check)

**Command:**

```
php artisan packager:check my-vendor my-package
```

**Result:**The `my-vendor\my-package` package will be checked for security vulnerabilities using SensioLabs security checker.

**Remarks**You first need to run

```
composer require sensiolabs/security-checker
```

Issues with cURL SSL certificate
--------------------------------

[](#issues-with-curl-ssl-certificate)

It turns out that, especially on Windows, there might arise some problems with the downloading of the skeleton, due to a file regarding SSL certificates missing on the OS. This can be solved by opening up your .env file and putting this in it:

```
CURL_VERIFY=false

```

Of course this means it will be less secure, but then again you are not supposed to run this package anywhere near a production environment.

Issues with timeout
-------------------

[](#issues-with-timeout)

If you are having problems with timeouts when creating new packages, you can now change the config variable timeout in config/packager.php to fix this.

Changelog
---------

[](#changelog)

Please see [changelog.md](changelog.md) for what has changed recently.

Contributing
------------

[](#contributing)

Please see [contributing.md](contributing.md) for details and a todolist.

Credits
-------

[](#credits)

- [JeroenG](https://github.com/Jeroen-G)
- [All Contributors](../../contributors)

License
-------

[](#license)

The EU Public License. Please see [license.md](license.md) for more information.

###  Health Score

71

—

ExcellentBetter than 100% of packages

Maintenance88

Actively maintained with recent releases

Popularity63

Solid adoption and visibility

Community43

Growing community involvement

Maturity80

Battle-tested with a long release history

 Bus Factor1

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

Every ~106 days

Recently: every ~375 days

Total

38

Last Release

60d ago

Major Versions

v0.2.1 → v1.02015-06-27

v1.6 → 2.02018-05-12

PHP version history (2 changes)V2.6PHP ^7.1

2.7.2PHP ^7.1|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d8700d69abe733de151f8cf49084e99ded7b9d34d7b0d1cd8f3825f5d925ff3?d=identicon)[JeroenG](/maintainers/JeroenG)

---

Top Contributors

[![Jeroen-G](https://avatars.githubusercontent.com/u/1116853?v=4)](https://github.com/Jeroen-G "Jeroen-G (147 commits)")[![happyDemon](https://avatars.githubusercontent.com/u/38573?v=4)](https://github.com/happyDemon "happyDemon (13 commits)")[![tabacitu](https://avatars.githubusercontent.com/u/1032474?v=4)](https://github.com/tabacitu "tabacitu (8 commits)")[![zlodes](https://avatars.githubusercontent.com/u/1114387?v=4)](https://github.com/zlodes "zlodes (7 commits)")[![MimisK13](https://avatars.githubusercontent.com/u/10620005?v=4)](https://github.com/MimisK13 "MimisK13 (6 commits)")[![sebastienheyd](https://avatars.githubusercontent.com/u/5470423?v=4)](https://github.com/sebastienheyd "sebastienheyd (6 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (4 commits)")[![laravel-shift](https://avatars.githubusercontent.com/u/15991828?v=4)](https://github.com/laravel-shift "laravel-shift (3 commits)")[![kakposoe](https://avatars.githubusercontent.com/u/7933597?v=4)](https://github.com/kakposoe "kakposoe (2 commits)")[![rjksn](https://avatars.githubusercontent.com/u/1167953?v=4)](https://github.com/rjksn "rjksn (2 commits)")[![mortenscheel](https://avatars.githubusercontent.com/u/6514342?v=4)](https://github.com/mortenscheel "mortenscheel (2 commits)")[![timhaak](https://avatars.githubusercontent.com/u/271607?v=4)](https://github.com/timhaak "timhaak (2 commits)")[![abkrim](https://avatars.githubusercontent.com/u/1238625?v=4)](https://github.com/abkrim "abkrim (2 commits)")[![shawnsandy](https://avatars.githubusercontent.com/u/28913?v=4)](https://github.com/shawnsandy "shawnsandy (1 commits)")[![synga-nl](https://avatars.githubusercontent.com/u/16606813?v=4)](https://github.com/synga-nl "synga-nl (1 commits)")[![alariva](https://avatars.githubusercontent.com/u/3021314?v=4)](https://github.com/alariva "alariva (1 commits)")[![ericcch](https://avatars.githubusercontent.com/u/3956215?v=4)](https://github.com/ericcch "ericcch (1 commits)")[![bilogic](https://avatars.githubusercontent.com/u/946010?v=4)](https://github.com/bilogic "bilogic (1 commits)")[![majidalaeinia](https://avatars.githubusercontent.com/u/11965368?v=4)](https://github.com/majidalaeinia "majidalaeinia (1 commits)")[![4n70w4](https://avatars.githubusercontent.com/u/38257723?v=4)](https://github.com/4n70w4 "4n70w4 (1 commits)")

---

Tags

boilerplatedevelopmenthacktoberfestlaravelpackagelaravelpackageSkeletonpackager

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jeroen-g-laravel-packager/health.svg)

```
[![Health](https://phpackages.com/badges/jeroen-g-laravel-packager/health.svg)](https://phpackages.com/packages/jeroen-g-laravel-packager)
```

###  Alternatives

[bensampo/laravel-embed

Painless responsive embeds for videos, slideshows and more.

142146.8k](/packages/bensampo-laravel-embed)[gmsantos/inspiring

Alternative inspiring quotes for Laravel

188.5k](/packages/gmsantos-inspiring)[sunaoka/laravel-facade-generator

Provide command line generation of facade layer files.

171.9k](/packages/sunaoka-laravel-facade-generator)

PHPackages © 2026

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