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 tegamiPackage 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
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:
---
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/with thetyperemoved and the replay condition kept. - When
tegamilater releasestegami@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:
| Condition | Example | Matches when |
|---|---|---|
name@version | tegami@1.1.0, @acme/core@2.0.0 | A package with that name reaches that exact version |
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.
Tegami