An open API service indexing awesome lists of open source software.

https://github.com/thomasduft/releasy

A simple release notes tool.
https://github.com/thomasduft/releasy

Last synced: 5 months ago
JSON representation

A simple release notes tool.

Awesome Lists containing this project

README

          

![build](https://github.com/thomasduft/releasy/actions/workflows/build.yml/badge.svg) [![NuGet](https://img.shields.io/nuget/vpre/tomware.Releasy.svg)](https://www.nuget.org/packages/tomware.Releasy)

# releasy

releasy - a simple release notes tool.

## What is the tool for?

Writing and maintaining changelogs or release notes is not something a developer likes to spend time for nor is it fun to gather every information for a feature right before release time and write your changelogs or release notes late after you implemented a particular feature.

`releasy` offers a pragmatic but opinionated approach to provide changelog or release note entries within a pull-request (PR), store them until release date and generate the artifacts as a part of your build process when your about to release a new version.

The `releasy`-tool allows the following processes:

- **Adding a changelog entry**: Provided by the developer within a PR.
- **Adding a release note entry**: Provided by the developer within a PR.
- **Creating release notes**: Created out of existing release note entries within the repository as a part of the build pipeline.
- **Updating a `CHANGELOG.md`-file**: Created out of existing changelog entries within the repository as a part of the build pipeline.

## How to use

### List all arguments

> releasy -h

```console
Usage: releasy [command] [options]

Options:
-?|-h|--help Show help information.

Commands:
add-changelog Creates a new changelog entry (i.e. releasy add-changelog -i "my-issue-id" -p "feature" -t "audit" -m "My super duper text")
add-releasenote Creates a new release note entry (i.e. releasy add-releasenote -i "my-issue-id" -p "feature" -t "audit" -m "My super duper text")
create-releasenotes Creates releasenotes based on release note entries for a dedicated release (i.e. releasy create-releasenotes -v "1.2.3" -p "some-permalink")
update-changelog Updates the CHANGELOG.md based on changelog entries for a dedicated release (i.e. releasy update-changelog -v "1.2.3" -p "some-permalink")

Run 'releasy [command] -?|-h|--help' for more information about a command.
```

> Note: Both `add-*`-commands if not pre-populated with arguments or options will guide and ask you on the cli for the appropriate input (interactive).

## Samples

### Changelog

For a brief glimpse of how the generated changelog looks like see the [CHANGELOG.md](CHANGELOG.md) for this repo.

### Releasenotes

A sample for a generated releasenote might look as the following:

```markdown
# Releasenotes v1.2.3

## Feature

- [#1001](https://github.com/thomasduft/releasy/issues/1001): Added audit module (audit)
- first
- second step
- third step

## Fix

- [#1002](https://github.com/thomasduft/releasy/issues/1002): Fixed wrong db schema (audit)
- first run the db migrations
- seed data
- test your application
```