All Projects β†’ brightcove β†’ kacl

brightcove / kacl

Licence: Apache-2.0 license
Keep a Changelog tooling for automating changelog releases

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to kacl

Gacp
πŸ’¬Git add, commit, push with Conventional Commits and Gitmoji.
Stars: ✭ 139 (+1058.33%)
Mutual labels:  changelog
Ckchangelog
ckChangeLog - An Android Library to display a Change Log
Stars: ✭ 180 (+1400%)
Mutual labels:  changelog
release-changelog-builder-action
A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
Stars: ✭ 515 (+4191.67%)
Mutual labels:  changelog
Commit Analyzer
πŸ’‘ semantic-release plugin to analyze commits with conventional-changelog
Stars: ✭ 146 (+1116.67%)
Mutual labels:  changelog
Semantic Release
πŸ“¦πŸš€ Fully automated version management and package publishing
Stars: ✭ 14,364 (+119600%)
Mutual labels:  changelog
Npm Upgrade
Interactive CLI utility to easily update outdated NPM dependencies
Stars: ✭ 245 (+1941.67%)
Mutual labels:  changelog
Chyle
Changelog generator : use a git repository and various data sources and publish the result on external services
Stars: ✭ 137 (+1041.67%)
Mutual labels:  changelog
git
πŸ”€ semantic-release plugin to commit release assets to the project's git repository
Stars: ✭ 235 (+1858.33%)
Mutual labels:  changelog
Fastlane Plugin Changelog
Automate changes to your project CHANGELOG.md
Stars: ✭ 176 (+1366.67%)
Mutual labels:  changelog
hubkit
Project maintainance tool for GitHub repositories
Stars: ✭ 27 (+125%)
Mutual labels:  changelog
Loglive
Render changelog as a website on the fly.
Stars: ✭ 146 (+1116.67%)
Mutual labels:  changelog
Keep A Changelog
Tools for manipulating CHANGELOG.md files in Keep A Changelog format, including tagging and releasing.
Stars: ✭ 155 (+1191.67%)
Mutual labels:  changelog
Gitmoji Changelog
A changelog generator for gitmoji 😜
Stars: ✭ 250 (+1983.33%)
Mutual labels:  changelog
Changelog
πŸ“˜ semantic-release plugin to create or update a changelog file
Stars: ✭ 142 (+1083.33%)
Mutual labels:  changelog
git-changelog
Categorized change logs from git messages
Stars: ✭ 20 (+66.67%)
Mutual labels:  changelog
Appupdater
A library that checks for your apps' updates on Google Play, GitHub, Amazon, F-Droid or your own server. API 9+ required.
Stars: ✭ 1,793 (+14841.67%)
Mutual labels:  changelog
Gem updater
Update gems in your Gemfile and fetch their changelogs
Stars: ✭ 206 (+1616.67%)
Mutual labels:  changelog
next-release
Next Release is a release note management platform that automates your release notes in 3 clicks.
Stars: ✭ 18 (+50%)
Mutual labels:  changelog
attribution
Generate changelogs from commit tags and shortlogs
Stars: ✭ 20 (+66.67%)
Mutual labels:  changelog
yaclt
Yet Another Change Log Tool
Stars: ✭ 24 (+100%)
Mutual labels:  changelog

Version Downloads Build Status Coverage Greenkeeper badge

kacl

Keep a Changelog tooling for linting and automatically releasing changelogs

Usage

Requirements

  • Node 8+
  • package.json contains a valid git repository URL

Installation

npm i -D @brightcove/kacl

You can also install globally to easily initialize changelogs in your projects:

npm i -g @brightcove/kacl

CLI Usage

If installed globally, you can run the kacl command. If not, you can run it from your project's node_modules folder: ./node_modules/.bin/kacl

Usage: kacl init|lint|prerelease|release

  init       - Initializes a new CHANGELOG.md
  lint       - Lints your changelog for errors
  prerelease - Checks the requirements for creating a new release (should be added to the "preversion" script)
  release    - Creates a new release matching your package.json version (should be added to the "version" script)

Usage in package.json

kacl is most effective when added to package.json scripts as it can be used to completely automate changelog changes when running npm version. The following is a recommendation for setting up package.json scripts to use kacl.

{
  "scripts": {
    "posttest": "kacl lint",
    "preversion": "kacl prerelease",
    "version": "kacl release && git add CHANGELOG.md"
  }
}

This setup does the following:

  • Lints your changelog after running tests
  • Checks the changelog before bumping the version with npm version to ensure there is an unreleased entry
  • Updates the changelog and adds it to git after the version has been bumped with npm version. The changelog changes will automatically be committed as part of npm version.

Usage with gh-release

gh-release is a tool which will automatically create a tag and release on GitHub. It pairs nicely with kacl, and with both tools you can completely automate your version bumping. The following is a recommendation for setting up package.json scripts to use kacl with gh-release.

{
  "scripts": {
    "posttest": "kacl lint",
    "preversion": "kacl prerelease",
    "version": "kacl release && git add CHANGELOG.md",
    "postversion": "git push && gh-release"
  }
}

This performs the same steps as what's laid out in the Usage in package.json section, with the addition of the following:

  • Pushes the new version to GitHub and creates a GitHub release using the updated changelog.

Info

Maintainers

None. The former lead maintainer, who has left Brightcove, is

Contributions

Contributions are welcome, please see the contributing guidelines.

Issues and Questions

This project uses github issues, please file issues and questions here.

Attributions and Thanks

This project uses the keep-a-changelog library from Oscar Otero for parsing and manipulating changelogs. It's an awesome library which you should definitely check out if you're interested in helping improve project changelogs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].