_templates | ||
src | ||
.gitignore | ||
CHANGELOG.yml | ||
package.json | ||
prettier.config.mjs | ||
README.md | ||
Taskfile.yaml |
Changelord, registrar of deeds extraordinaire
Changelord is a changelog manager scratching my particular itches. It's cli-based, and keep its data in a YAML file adhering to a well-defined schema.
The first iteration of changelord
was written in Perl. You can
read its introductory article on my blog.
Installation
pnpm install changelord
CLI commands
Global options
--help
Outputs the list of commands and options.
--version
Outputs the changelord
version.
--source
Specifies which source yaml file to use. Defaults to the CHANGELOG.yml
file
in the current directory.
changelord init
Initializes the changelog source file. The YAML file is made of three sections.
project
-- contains information and configuration about the project itself.releases
-- the entries for the changelog proper.change_types
-- defines all types of changes this project supports.
changelord add
Adds an entry to the NEXT
release.
$ changelord add --type=maint added a changelog to the project.
Options
--type
-- type of change.--ticket
-- associated ticket.
changelord print
Renders the changelog as markdown.
Options
--no-next
-- don't show theNEXT
section.
changelord cut
Cuts the next release. That is, resolves the NEXT
version number based on the
latest version and the changes in the NEXT
section, and sets its date as
today. Modifies the source file with the result.
Options
--dry
-- Resolves the next version but only outputs the resulting section without changing the source file.
changelord schema
Outputs the JSON schema defining the structure of the source file.
changelord upcoming
Outputs the changes listed in the NEXT
release.
changelord latest-version
Outputs the latest non-NEXT release.
$ changelord latest-version
3.2.0