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

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

jackiedo/laravel-packager
=========================

A CLI tool to create packages for Laravel application.

1.1.0(3y ago)51.3k1MITPHPPHP &gt;=5.4.0

Since Jul 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/JackieDo/laravel-packager)[ Packagist](https://packagist.org/packages/jackiedo/laravel-packager)[ RSS](/packages/jackiedo-laravel-packager/feed)WikiDiscussions master Synced today

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

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

[](#laravel-packager)

[![Latest Stable Version](https://camo.githubusercontent.com/43a6a415d60deb2b034586a7349036a037fa903bfd26b6639b7548f90d4ea659/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b6965646f2f6c61726176656c2d7061636b616765722f76)](//packagist.org/packages/jackiedo/laravel-packager)[![Total Downloads](https://camo.githubusercontent.com/af9b37946fe045df6b18f39114bdd7b52c4648eb3e69e7f2be648d56d4b0c0e8/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b6965646f2f6c61726176656c2d7061636b616765722f646f776e6c6f616473)](//packagist.org/packages/jackiedo/laravel-packager)[![Latest Unstable Version](https://camo.githubusercontent.com/fd692a032901e3b5968ffa6f13e7534d508b4250b76746cec5af535f99afd79a/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b6965646f2f6c61726176656c2d7061636b616765722f762f756e737461626c65)](//packagist.org/packages/jackiedo/laravel-packager)[![License](https://camo.githubusercontent.com/eee79aca6e112b1ca6c96521372c7c4992f05f246a5e72c4a88d95530e52ee8c/68747470733a2f2f706f7365722e707567782e6f72672f6a61636b6965646f2f6c61726176656c2d7061636b616765722f6c6963656e7365)](//packagist.org/packages/jackiedo/laravel-packager)

This package is a CLI tool that helps you build a fully structured package for the Laravel application without spending a lot of time.

You do not need to struggle with the skeleton initialization for your package anymore. Instead, focus on writing the source code and letting the organization of the package structure for Laravel Packager.

[![Laravel Packager Cover](https://user-images.githubusercontent.com/9862115/86195079-52561980-bb7a-11ea-98bf-7ef00292bc10.jpg)](https://user-images.githubusercontent.com/9862115/86195079-52561980-bb7a-11ea-98bf-7ef00292bc10.jpg)

Features
--------

[](#features)

- Build directory structure for package.
- Generate a standard composer.json file for package.
- Generate a standard Service Provider file for package.
- Generate some scaffold resources such as: Facade, Interface, Abstract, Trait, Exception, Controller, Middleware, Model, Artisan Command, Config, Migration, Language, View, Route, Helper...
- Lets install and use the created package as a local repository.

Versions and compatibility
--------------------------

[](#versions-and-compatibility)

This package is compatible with versions of **Laravel 5.1 and above**. However, the scaffold resources generated from this package are compatible with versions of Laravel 5.0 and above.

Overview
--------

[](#overview)

Look at one of the following topics to learn more about Laravel Packager

- [Installation](#installation)
- [Usage](#usage)
    - [Create a new package](#1-create-a-new-package)
    - [List all packages](#2-list-all-packages)
    - [Unregister an existing package](#3-unregister-an-existing-package)
    - [Register an existing package](#4-register-an-existing-package)
    - [Remove an existing package](#5-remove-an-existing-package)
- [Configuration](#configuration)
- [Other documentation](#other-documentation)

### Installation

[](#installation)

You can install Laravel Packager through [Composer](https://getcomposer.org) with the steps below.

#### Require package

[](#require-package)

At the root of your application directory, run the following command:

```
$ composer require jackiedo/laravel-packager
```

**Note:** Since Laravel 5.5, [service providers and aliases are automatically registered](https://laravel.com/docs/5.5/packages#package-discovery), you don't need to do anything more. But if you are using Laravel 5.4 or earlier, you must perform one more step below.

#### Register service provider

[](#register-service-provider)

Open `config/app.php`, and add a new line to the `providers` section:

```
Jackiedo\Packager\PackagerServiceProvider::class,
```

### Usage

[](#usage)

#### 1. Create a new package

[](#1-create-a-new-package)

**Usage**:

```
$ php artisan packager:new [options] [--]
```

**Arguments and options**:

```
Arguments:
  name                               The name (/) of the package.

Options:
      --author-name[=AUTHOR-NAME]    Author name.
      --author-email[=AUTHOR-EMAIL]  Author email.
      --description[=DESCRIPTION]    Package description.
      --keywords[=KEYWORDS]          Package keywords.
      --license[=LICENSE]            License of package.
      --homepage[=HOMEPAGE]          Package homepage.
  -r, --resources                    Request to create package with advanced resources.
  -i, --install                      Request to install package after creation.
  -h, --help                         Display this help message
  -q, --quiet                        Do not output any message
  -V, --version                      Display this application version
      --ansi                         Force ANSI output
      --no-ansi                      Disable ANSI output
  -n, --no-interaction               Do not ask any interactive question
      --env[=ENV]                    The environment the command should run under
  -v|vv|vvv, --verbose               Increase the verbosity of messages: 1 for normal output,
                                     2 for more verbose output and 3 for debug

```

**Example**:

- Create the `jackiedo/first-demo` package with advanced resources:

```
$ php artisan packager:new jackiedo/first-demo --resources
```

- Create the `jackiedo/second-demo` package and install it after creation:

```
$ php artisan packager:new jackiedo/second-demo --install
```

**Note**:

- All packages will be placed in the `packages` directory at the base path of your Laravel application.
- If you do not use the `--install` option in the command, you can install your package later using the composer command `composer require your/project`. This is useful in case you want to develop complete source code before installing it.

#### 2. List all packages

[](#2-list-all-packages)

**Usage**:

```
$ php artisan packager:list
```

#### 3. Unregister an existing package

[](#3-unregister-an-existing-package)

By default, when a package is created, it will be registered to the repositories section in Laravel's `composer.json` file automatically. This allows you to install your package as a local repository. If for any purpose you want to cancel this registration, use the following command:

**Usage**:

```
$ php artisan packager:unregister [options] [--]
```

**Arguments and options**:

```
Arguments:
  name                  The name (/) of the package.

Options:
  -u, --uninstall       Request to uninstall package before perform unregister.
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output,
                        2 for more verbose output and 3 for debug

```

**Example**: Unregister the `jackiedo/first-demo` package

```
$ php artisan packager:unregister jackiedo/first-demo
```

**Note**:

- If the package was previously installed, you need run the command `composer remove your/project` to uninstall it first or use the `--uninstall` option in your `packager:unregister` command.
- Once you have unregistered, you cannot install the package until you register again.

#### 4. Register an existing package

[](#4-register-an-existing-package)

After unregister an existing package out of repositories section of `composer.json` file, if you want to register it again, use the following command:

**Usage**:

```
$ php artisan packager:register
```

**Arguments and options**:

```
Arguments:
  name                  The name (/) of the package.

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output,
                        2 for more verbose output and 3 for debug

```

#### 5. Remove an existing package

[](#5-remove-an-existing-package)

**Usage**:

```
$ php artisan packager:remove [options] [--]
```

**Arguments and options**:

```
Arguments:
  name                  The name (/) of the package.

Options:
  -u, --uninstall       Request to uninstall package before removing.
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output,
                        2 for more verbose output and 3 for debug

```

**Example**:

```
$ php artisan packger:remove jackiedo/first-demo --uninstall
```

### Configuration

[](#configuration)

If you want to set up more advanced settings such as skeleton structure, suggestions ... you need to publish the configuration file using the `vendor:publish` command as follow:

```
$ php artisan vendor:publish --provider="Jackiedo\Packager\PackagerServiceProvider" --tag="config"
```

**Note**: Please read the instructions in the configuration file carefully before making any settings.

### Other documentation

[](#other-documentation)

For more documentation about package development, you can visit Official Laravel Documentation pages:

- [Laravel Package Development](https://laravel.com/docs/7.x/packages)
- [Laravel Service Provider](https://laravel.com/docs/7.x/providers)
- [Laravel Artisan Console](https://laravel.com/docs/7.x/artisan)

License
-------

[](#license)

[MIT](https://github.com/JackieDo/laravel-packager/blob/master/LICENSE) © Jackie Do

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

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

Every ~96 days

Recently: every ~88 days

Total

11

Last Release

1176d ago

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

artisanbuilderclicommandgeneratorlaravelpackagepackagerpackerskeletonlaravelpackagegeneratorbuilderSkeletonpacker

### Embed Badge

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

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

###  Alternatives

[tightenco/jigsaw

Simple static sites with Laravel's Blade.

2.2k438.5k29](/packages/tightenco-jigsaw)[jeroen-g/laravel-packager

A cli tool for creating Laravel packages.

1.4k707.3k18](/packages/jeroen-g-laravel-packager)[tehwave/laravel-achievements

Simple, elegant Achievements the Laravel way

7012.8k](/packages/tehwave-laravel-achievements)[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)
