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

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

By default, a changelog file is applied once and then removed from .tegami/. Use replay to keep it and include its notes again when a package reaches a specific version.

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/ with the type removed and the replay condition kept.
  2. When tegami later releases tegami@1.1.0, the same notes are appended again and the file is removed.

You can also omit type and keep only replay conditions. The file then contributes notes only when a replay condition matches, not on the initial draft.

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
exit prerelease: nameexit prerelease: tegamiA 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