PHPackages                             meeva/create-vendor - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. meeva/create-vendor

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

meeva/create-vendor
===================

composer plugin to quickly create new vendor-packages from within your project.

v0.1(8y ago)123[3 issues](https://github.com/possi/create-vendor/issues)MITPHP

Since Feb 8Pushed 8y ago2 watchersCompare

[ Source](https://github.com/possi/create-vendor)[ Packagist](https://packagist.org/packages/meeva/create-vendor)[ RSS](/packages/meeva-create-vendor/feed)WikiDiscussions master Synced 2d ago

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

create-vendor (composer plugin)
===============================

[](#create-vendor-composer-plugin)

[composer](https://getcomposer.org) plugin to quickly create new modules within your project.

What it does / Why do you may need it
-------------------------------------

[](#what-it-does--why-do-you-may-need-it)

Since Symonfy 4 it is no longer recommended to split your application your project into multiple bundles within your application. You may either build one complex application, or you swap out reusable bundles into separate composer packages.

While composer makes it simple to require an existing package, it is somehow impractical to create a new one to develop within your project:

- If you just create a folder within vendor/ the package isn't recognized, which means that the autoloader and dependencies do not apply
- If you create an empty git project you need to commit the composer.json at least once (more likely 2, 3 or a dozen times)
- In either case you need to temporarily change your projects composer.json to add a repository-entry which can be removed if you later publish the package

### The Solution

[](#the-solution)

This plugins helps you to create a new composer package directory and correctly require it with just one command. Using this method your `vendor/yourvendor/newpackage/composer.json` is applied as expected:

- The requirements are added to your project
- The autoloader paths are recognized

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

[](#installation)

```
$ # either use it globally
$ composer global require meeva/create-vendor
$ # or just within your current project
$ composer require --dev meeva/create-vendor
```

Usage
-----

[](#usage)

Within your composer-managed application-project (e.g. a Symfony 4 Application), just type:

```
$ composer create-vendor yourvendor/newpackage
$ # Interactively fill your first composer.json
```

How does it work
----------------

[](#how-does-it-work)

The `create-vendor` command just chains 2 composer commands for you:

1. chdir to $HOME/.composer/plugin/create-vendor/yourvendor/newpackage and
    `composer init --name=yourvendor/newpackage`
2. chdir back to your project and
    `composer require yourvendor/newpackage`

In addition it adds a transparent ()repository without modifying your composer.json) that provides every project from the directory `$HOME/.composer/plugin/create-vendor/*/*` as a path-repository. This has the same effect as adding the following snippet to your global composer.json:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "$HOME/.composer/plugin/create-vendor/*/*"
        }
    ]
}
```

This symlinks the path to your project/vendor-directory. For more information read:

Bonus: You may manually copy any composer package to `$HOME/.composer/plugin/create-vendor/*/` to make it available for requiring without additional changes to any composer.json.

When you are done
-----------------

[](#when-you-are-done)

First assure that you have published your new package.

After that you may delete the directory `$HOME/.composer/plugin/create-vendor/yourvendor/newpackage`. From now on `composer install/update`should load your package from the external repository (e.g. packagist.org) as usual.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

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

3017d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3a27c82c890ca7f2b378ddb70e141dff634d8305cd8586848cc7547c55cb8819?d=identicon)[possi](/maintainers/possi)

---

Tags

autoloadercomposercomposer-pluginsymfony-bundle

###  Code Quality

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/meeva-create-vendor/health.svg)

```
[![Health](https://phpackages.com/badges/meeva-create-vendor/health.svg)](https://phpackages.com/packages/meeva-create-vendor)
```

###  Alternatives

[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)[olvlvl/composer-attribute-collector

A convenient and near zero-cost way to retrieve targets of PHP 8 attributes

184108.8k8](/packages/olvlvl-composer-attribute-collector)[lullabot/drainpipe

An automated build tool to allow projects to have a set standardized operations scripts.

41716.4k2](/packages/lullabot-drainpipe)

PHPackages © 2026

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