Tegami

Package Groups

Version related packages together.

A package group links multiple workspace packages that should behave as one release unit. Assign packages to a group in your Tegami config; reference the group in changelogs with group:<name>.

Configure groups

Define groups under groups, then assign packages with the group field:

scripts/tegami.mts
const paper = tegami({
  groups: {
    acme: {
      prerelease: "alpha",
      syncBump: true,
      syncGitTag: true,
    },
  },
  packages: {
    "@acme/core": { group: "acme" },
    "@acme/ui": { group: "acme" },
  },
});

Options

OptionDescription
prereleasePrerelease tag shared by all members (e.g. alpha1.1.0-alpha.0)
syncBumpWhen one member is bumped, all members receive the same bump type
syncGitTagCreate one git tag for the group instead of one tag per package

Per-package settings still apply for options like npm.distTag or publish: false.

syncGitTag

When syncGitTag is enabled, published packages in the group share one tag like acme@2.0.0. The GitHub plugin creates a single release for grouped tags.

Without syncGitTag, each package gets its own tag (@acme/core@2.0.0, @acme/ui@2.0.0).

When to use groups

Groups work well for:

  • Packages that always ship together (e.g. a core library and its React bindings).
  • Prerelease channels where every package in a product line should stay on the same prerelease tag.
  • Monorepos that want one GitHub release per product instead of one per package.

For dependency-only relationships, Tegami already bumps dependents automatically — groups are for coordinated release behavior, not dependency tracking.

On this page