Overview

Bard is used to manage monorepos.

Installing

Bard is meant to be installed into a "tools" folder for use with your project.

mkdir tools/bard
composer require --working-dir=tools/bard sonsofphp/bard
echo "composer.lock\nvendor/" > tools/bard/.gitignore
php tools/bard/vendor/bin/bard

Usage

Initialize a new bard.json file for new monorepos.

bard init

Adding Repositories

bard add path/to/code repoUrl

Push changes to read-only repos

bard push

Create a release

bard release major
bard release minor
bard release patch

Bard will track the versions so you can just use the keywords: major, minor, patch.

Copy files

Copy the LICENSE file from the root to all packages

bard copy LICENSE

Merging composer.json files

When you have to maintain the composer.json files, this command will take the packages and merge those into the main composer.json file. It will also update the package's composer.json file with the correct values as well.

bard merge

Last updated