Tegami

Changelogs

The format of changelog files.

Changelog files describe what changed and which packages are affected. Tegami reads pending files from .tegami/ (configurable via changelogDir) when you run tegami version.

Styles

Tegami allows different input styles according to your preference.

Explicit

List the bump type for each package in frontmatter:

.tegami/my-change.md
---
packages:
  "@acme/ui": minor
  "@acme/utils": patch
---

## Fix button hover state

The hover color now matches the design system.

Implicit

List affected packages and use heading depth to determine bump types:

.tegami/my-change.md
---
packages: ["@acme/ui", "@acme/utils"]
---

# Breaking API change

Removed deprecated props.

## Add dark mode

New theme tokens for dark surfaces.

### Fix typo in docs

Heading depth maps to bump type:

HeadingBump
#major
##minor
###patch

With implicit style, all listed packages receive the highest bump type found in the file.

Generate from commits

Run tegami without selecting packages to draft changelogs from conventional commits since the latest tag:

pnpm tegami

Workspaces with a single package skip the package selector, choose auto-generate from commits in the release type prompt instead.

Package references

Values in packages can be:

ReferenceExampleResolves to
Package name"@acme/ui"All packages with that name
Package ID"npm:@acme/ui"A specific package by manager + name
Group"group:acme"Every package in the acme group

Use package IDs when the same name appears in multiple registries (for example npm and Cargo). Use group: to target every member of a package group.

Replay

Use replay to persist a changelog and include its notes again conditionally.

Add replay on a package in frontmatter:

.tegami/beta-notes.md
---
packages:
  npm:tegami:
    type: patch
    replay: [tegami@1.1.0]
---

## Fix button hover state

The hover color now matches the design system.
  1. On the first release, Tegami applies the bump and writes the notes to CHANGELOG.md. The file stays in .tegami/ as replay-only.
  2. When tegami later releases tegami@1.1.0, the same notes are appended again and the file is removed.

Replay-only Entry

A package entry with only replay conditions becomes replay-only.

The file then contributes notes only when a replay condition matches, rather than bumping packages.

By default, a changelog file is applied once and then removed from .tegami/. In prerelease, the exit prerelease condition is auto-generated unless you opt-out by specifying an empty replay array.

Replay conditions

Each item in replay is a condition string:

ConditionExampleMatches when
name@versiontegami@1.1.0, @acme/core@2.0.0A package with that name reaches that exact version
prerelease(name)prerelease(tegami)A package enters a prerelease line (for example 1.0.01.1.0-alpha.0)
exit-prerelease(name)exit-prerelease(tegami)A package exits its prerelease line (for example 1.1.0-alpha.21.1.0)

A package can list multiple conditions. Tegami removes each condition as it matches. The file is deleted once every condition has been consumed.

On this page