Skip to content

Latest commit

 

History

History
39 lines (24 loc) · 1.52 KB

concepts.md

File metadata and controls

39 lines (24 loc) · 1.52 KB

File based approach

This CLI tool is file based. This means files are its primary source and primary output, and all steps in the process produce files that can be archived or versioned (through git for example).

Adopting a file based approach has this advantages:

  • Editing files is widely supported
  • Validation files is easy
  • Structured content is easy
  • Is possible to correlate a file with a commit (i.e. through git blame)
  • Works with any code versioning tools (but we focus on git)
  • Bulk editing relies on bulk file editing support
  • Trunk-based development is supported out of the box

Git focused

We rely on git and GitHub, the tool is not expected to allow choosing a different VCS or code hosting platform.

Files

Changelog fragment

A changelog fragment is a file representing a changelog entry.

Changelog fragments are uniquely named and contain all information needed to create changelog entries. They are easy to write and must be part of the git history.

Changelog entry

A changelog entry is an entry in the changelog, representing a documented changeset.

Changelog entries are structured and enriched to provide all information needed to build the consolidated changelog.

Consolidated changelog

The consolidated changelog is a list of changelog entries.

Is created from a list of changelog fragments, enriched and structured. It can be manually edited where needed.

Release notes

Release notes are the human or machine readable output created from a consolidated changelog.