事前にyarnコマンドが使えるようにしておきます。編集package.jsonにworkspacesセクションを追加します。ここに羅列したパスにマッチするディレクトリがそれぞれ実際のプロジェクト(パッケージ)というような意味になります。マッチすると言ったようにここではglobで指定するようなパスが使えます。以下は、exampleとpackages/**をワークスペースに登録しています。packages/**というのはpackages/fooやpacakges/hoge/fugaみたいなディレクトリのことです。あとworkspacesを設定した時は、private:trueにしないといけないのでこれも設定します。設定ファイルはlerna.jsonとしてプロジェクトルートに置きます。一緒に使う場合の設定の例です。true}versionこれは各ワークスペースのパッケージのバージョンをどうするかを設定します。自動でインクリメントしてくれるので自分で編集する必要はありません。上記のようにindependentと書くと各パッケージは独立したバージョンを持つようになります。publish時、各パッケージは自身に変更があったかを確認し、変更があった場合のに公開の対象になります。バージョンは、その時にパッケージ毎に自分で設定できます。npmClientnpmやyarnなど実際に依存したいツールを指定します。上記で設定したようなworkspacesをそのまま使うかを設定します。使ったほうが楽なので、tureでいいと思います。npmを使っていたり何かしら自分でワークスペースを設定したい場合はlerna.jsonへpackagesというセクションを追加します。この中身はpackage.jsonに追加するworkspacesと同じ形です。