PHPackages                             thegeekengineer/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. thegeekengineer/laravel-packager

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

thegeekengineer/laravel-packager
================================

A cli tool for creating Laravel packages.

V1.0.1(2y ago)03EUPL-1.1PHPPHP ^7.1|^8.0

Since Nov 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/TheGeekEngineer/laravel-packager)[ Packagist](https://packagist.org/packages/thegeekengineer/laravel-packager)[ Docs](https://github.com/TheGeekEngineer/laravel-packager)[ RSS](/packages/thegeekengineer-laravel-packager/feed)WikiDiscussions main Synced 1mo ago

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

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

[](#laravel-packager)

[![Latest Version on Packagist](https://camo.githubusercontent.com/f2769a67f3e3f6b27fe17ae6123c0291734cd3c320500fae4b44d44b74652982/68747470733a2f2f706f7365722e707567782e6f72672f7468656765656b656e67696e6565722f6c61726176656c2d7061636b616765722f762f737461626c653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/thegeekengineer/laravel-packager)[![Total Downloads](https://camo.githubusercontent.com/00dfbb6c5b840c0dd5e52ecb85865ca0608d30950872ea385bc4a676ac578529/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7468656765656b656e67696e6565722f6c61726176656c2d7061636b616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/thegeekengineer/laravel-packager)[![Build Status](https://camo.githubusercontent.com/945ed07400d9bf860c872b7b39b3daafa6e3bdc78c2fea8abaeb08f88d030013/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7468656765656b656e67696e6565722f6c61726176656c2d7061636b616765722f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/thegeekengineer/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 thegeekengineer/laravel-packager --dev
```

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

```
TheGeekEnginee\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('TheGeekEnginee\Packager\PackagerServiceProvider');
}
```

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

```
php artisan vendor:publish --provider="TheGeekEnginee\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/thegeekengineer/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)

- [TheGeekEnginee](https://github.com/thegeekengineer)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

898d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

laravelpackageSkeletonpackager

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[jeroen-g/laravel-packager

A cli tool for creating Laravel packages.

1.4k707.3k18](/packages/jeroen-g-laravel-packager)[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)
