PHPackages                             afeefa/package-manager - 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. afeefa/package-manager

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

afeefa/package-manager
======================

Manage package versions and releases

0.0.45(2mo ago)0948↓70.8%11MITPHPPHP &gt;=7.4

Since Jan 28Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/afeefacode/package-manager)[ Packagist](https://packagist.org/packages/afeefa/package-manager)[ Docs](https://github.com/afeefacode/package-manager)[ RSS](/packages/afeefa-package-manager/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (9)Versions (42)Used By (1)

afeefa/package-manager
======================

[](#afeefapackage-manager)

CLI tool for two recurring tasks in Afeefa packages:

- **`setup`** — run install actions defined by packages (e.g. copy config templates into a project).
- **`release`** — bump the version, sync `composer.json` / `package.json`, commit, tag and push (optionally to split repos).

The binary is `vendor/bin/afeefa-package` and is always run from the **project root** (the directory that contains `vendor/` and `.afeefa/`).

Example project: from zero to release-ready
-------------------------------------------

[](#example-project-from-zero-to-release-ready)

### 1. Create a `composer.json` with a `name`

[](#1-create-a-composerjson-with-a-name)

```
{
    "name": "acme/my-package",
    "version": "0.1.0",
    "type": "library"
}
```

`name` is required for both `setup` and `release`. `version` is required for any package listed in `release/packages.php` (step 4) — easier to set it now than later.

### 2. Install the package manager

[](#2-install-the-package-manager)

```
composer require --dev afeefa/package-manager
```

### 3. Set up the package manager itself

[](#3-set-up-the-package-manager-itself)

```
vendor/bin/afeefa-package setup afeefa/package-manager
```

Creates `.afeefa/package/.installed`, which `release` checks for.

### 4. Add the release configuration

[](#4-add-the-release-configuration)

`.afeefa/package/release/version.txt`:

```
0.1.0

```

`.afeefa/package/release/packages.php`:

```
