Go to file
2023-05-16 11:36:13 -04:00
_templates add command add 2023-05-10 15:33:59 -04:00
src add a README 2023-05-16 11:24:15 -04:00
.gitignore add yargs 2023-05-05 10:56:30 -04:00
CHANGELOG.yml add command upcoming 2023-05-10 17:29:37 -04:00
package.json add project info to package.json 2023-05-16 11:36:13 -04:00
prettier.config.mjs add print command 2023-05-10 14:36:56 -04:00
README.md add a README 2023-05-16 11:24:15 -04:00
Taskfile.yaml add print command 2023-05-10 14:36:56 -04:00

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 the NEXT 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