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:
---
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:
---
packages: ["@acme/ui", "@acme/utils"]
---
# Breaking API change
Removed deprecated props.
## Add dark mode
New theme tokens for dark surfaces.
### Fix typo in docsHeading depth maps to bump type:
| Heading | Bump |
|---|---|
# | 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 tegamiWorkspaces 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:
| Reference | Example | Resolves 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:
---
packages:
npm:tegami:
type: patch
replay: [tegami@1.1.0]
---
## Fix button hover state
The hover color now matches the design system.- On the first release, Tegami applies the bump and writes the notes to
CHANGELOG.md. The file stays in.tegami/as replay-only. - When
tegamilater releasestegami@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:
| Condition | Example | Matches when |
|---|---|---|
name@version | tegami@1.1.0, @acme/core@2.0.0 | A package with that name reaches that exact version |
prerelease(name) | prerelease(tegami) | A package enters a prerelease line (for example 1.0.0 → 1.1.0-alpha.0) |
exit-prerelease(name) | exit-prerelease(tegami) | A package exits its prerelease line (for example 1.1.0-alpha.2 → 1.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.