diff --git a/README.md b/README.md index 8e9c54e7..ebf92583 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,15 @@ -# semantic-release +# :package::rocket: semantic-release -> **fully automated, semver-compliant package publishing** +**fully automated package publishing** + +> **Trust us, this will change your workflow for the better.** + +> – [egghead.io](https://egghead.io/lessons/javascript-how-to-write-a-javascript-library-automating-releases-with-semantic-release) [![Join the chat at https://gitter.im/semantic-release/semantic-release](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/semantic-release/semantic-release?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard) +[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) [![Dependency Status](https://david-dm.org/semantic-release/semantic-release/badger.svg)](https://david-dm.org/semantic-release/semantic-release/badger) [![devDependency Status](https://david-dm.org/semantic-release/semantic-release/badger/dev-status.svg)](https://david-dm.org/semantic-release/semantic-release/badger#info=devDependencies) @@ -23,12 +28,27 @@ Out of the box this is just about _commit-messages_, but you can do so much more   | Commands | Comment --- | --- | --- -| **manual** |
npm version major
git push origin master --tags
npm publish
| You **manually decide** what the **next version** is. You have to remember what major, minor and patch means. You have to remember to push both commits and tags. You have to wait for the CI to pass. | -| **semantic-release** |
git commit -m "fix: <message>"
git push
| You **describe the changes** you’ve made. A new version is automatically published with the correct version number. +| **manual/before** |
npm version major
git push origin master --tags
npm publish
| You **manually decide** what the **next version** is. You have to remember what major, minor and patch means. You have to remember to push both commits and tags. You have to wait for the CI to pass. | +| **semantic-release/after** |
git commit -m "fix: <message>"
git push
| You **describe the changes** you’ve made. A new version is automatically published with the correct version number. This removes the immediate connection between human emotions and version numbers, so strictly following the [SemVer](http://semver.org/) spec is not a problem anymore – and that’s ultimately `semantic-release`’s goal. + + + + + + + + +
+ “How to Write a JavaScript Library - Automating Releases with semantic-release” – egghead.io +
+ egghead.io session +
+ A free egghead.io tutorial series on how to write an open source library featuring semantic-release. +
“We fail to follow SemVer – and why it needn’t matter” @@ -59,26 +79,9 @@ This removes the immediate connection between human emotions and version numbers Instead of writing [meaningless commit messages](http://whatthecommit.com/), we can take our time to think about the changes in the codebase and write them down. Following formalized conventions it this then possible to generate a helpful changelog and to derive the next semantic version number from them. -_Note: This module ships with the [AngularJS Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit) and changelog generator, but you can [define your own](#plugins) style_. - -> ### Commit Message Format - -> Each commit message consists of a **header**, a **body** and a **footer**. The header has a special -format that includes a **type**, a **scope** and a **subject**: - -> ``` -(): - - - -