Skip to main content

inherit

Adds every module the distribution this extends ships, and this one does not.

pnpm dist inherit [--dry-run]

It is how an extension starts:

pnpm dist init distribution acme --name @acme/core --extends @fairgarden/core
cd acme && pnpm install
pnpm dist inherit
apps/id          @fairgarden/id 1.2.0 at b12276c, from github.com/fairgarden/id
apps/members     @fairgarden/members 0.4.1 at 5d30b4a, from github.com/fairgarden/members
packages/design  @fairgarden/design 2.1.0 at 55add59, from github.com/acme/design (a fork of github.com/fairgarden/design)

Ships what @fairgarden/core@26.9.1-alpha.0 ships. Run pnpm install, then commit.

Each module goes where the parent has it, from the repository the parent clones it from, at the commit the parent pins — read from the parent's published manifest. Each is added as add-module would add it: linked through the workspace, mounted in the monolith. A module the parent ships as a fork comes as the same fork, upstream recorded.

A module this distribution already ships is left alone, whatever its version; check and bump see to that. Run it again whenever the parent starts shipping something new — check says when.

The parent has to be installed, and published with a version of fg-dist that records where its modules live.

Its license

An extension ships what its parent ships and builds on its policy, so the parent's notice goes with it, as its license asks. When both are MIT, the parent's copyright lines are added to the extension's LICENSE, above its own — the parent's already carry whatever it extends:

MIT License

Copyright (c) 2026 FairGarden
Copyright (c) 2026 Acme

Under another license, the parent's is kept whole beside the extension's, as LICENSE.fairgarden-core. Each module keeps its own license in its own repository, untouched.

Each module added is noted in the distribution's changelog.