coco
is an interactive command line interface for creating conventional commits.
coco
›
Installation
npm install -g @lucas-labs/coco
Usage
$ coco
# and follow the steps 😊
Configuration
coco
can be configured by creating a coco.yaml
, coco.yml
or .cocorc
file in your project's root (per repository config) or in your users home directory (global config). The file should be a valid YAML:
Options
types
An array of commit types. Each type should be an object with the following properties:
-
name
- The name of the type -
desc
- The description of the type -
emoji
- The emoji to be used for the type ifuseEmoji
is set totrue
types:
- name: feat
desc: A new feature
emoji: 🎉
- name: fix
desc: A bug fix
emoji: 🐛
scopes
An array of commit scopes.
scopes:
- api
- ui
useEmoji
Whether to use emojis for the commit type. If set to true
, the emoji
property of the type will be used to create the commit message.
useEmoji: true
Provided useEmoji is true
, an example of a commit message would be: feat(api): ✨ add new endpoint
askScope
Whether to ask for the scope of the commit. IF set to true
, the user will be prompted to enter or select a scope (depending if scope list was provided by user config or not). If set to false
, the scope will be omitted from the commit message and the cli won't ask for it.
askScope: true
askBody
Whether to ask for the body of the commit. If set to true
, the user will be prompted to enter the body of the commit. If set to false
, the body will be omitted from the commit message and the cli won't ask for it.
askBody: true
askFooter
Whether to ask for the footer of the commit. If set to true
, the user will be prompted to enter the footer of the commit. If set to false
, the footer will be omitted from the commit message and the cli won't ask for it.
askFooter: true
askBreakingChange
Whether to ask for the breaking change of the commit. If set to true
, the user will be prompted to enter the breaking change of the commit. If set to false
, the breaking change will be omitted from the commit message and the cli won't ask for it.
askBreakingChange: true
Example
types:
- name: feat
desc: A new feature
emoji: 🎉
- name: fix
desc: A bug fix
emoji: 🐛
scopes:
- api
- ui
useEmoji: true
askFooter: false
License
MIT © 2022 Lucas Labs