npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

go-cmf

v2.0.7

Published

CMF is an utility to standarize commit messages on porjects

Downloads

8

Readme

CMF Commit Message Formatter - V2

CMF is a simple to use utility to standarize commit messages on projects.

Getting started

Install via npm, just do $ npm install -g go-cmf

Or from Go go install github.com/walmartdigital/commit-message-formatter

Once installed, go to your project an run $ cmf init and select one of the flows, it will create a .cmf.yamlfile on your project with your selected flow.

Flows

CMF have three flows (for now) default, Jira and custom

Default

Running $ cmf init and select default, you will get the default flow and prompted for:

- Type of change you made to your code
- Module affected by this change
- Commit message or description of your change

Jira

Running $ cmf init and select Jira, you will get the jira flow, this time you will be prompt for:

- Jira task ID
- Type of change you made to your code
- Commit message or description of your change

Custom

Running $ cmf initand select custom, you will get the custom flow, this time it will create a .cmf.yamlfile with default flow but with annotations of how change it.


Variables

CMF have inner variables and you can access it throw templates using {{}}:

  • {{BRANCH_NAME}} it will print the current branch name of your repository

Configurations

It is possible to config CMF as you like, you can change custom flows, templates or assign default flows. You can do this using a local file on the root of your porject or setting as global preferences with a file on your Home directory called .cmf.yaml.

TEMPLATE

Set a template string for commit messages.

Default flow

Default template {{CHANGE}}({{MODULE}}): {{MESSAGE}}. You can use this variables:

  • CHANGE type of change: feature, fix, update
  • MODULE module affected
  • MESSAGE commit message
TEMPLATE: "{{CHANGE}}({{MODULE}}): {{MESSAGE}}"

Jira flow

Default template {{JIRA-TASK}} ({{CHANGE}}): {{MESSAGE}}. You can use this variables:

  • JIRATASK _jira task id, by default {{BRANCH_NAME}}
  • CHANGE type of change: feature, fix, update
  • MESSAGE commit message
TEMPLATE: "{{JIRA-TASK}} ({{CHANGE}}): {{MESSAGE}}"

PROMPT

You can create your custom flows using this configuration attribute.

Prompt accept two types of prompts:

  • Single question:
    • KEY variable name
    • LABEL prompt title
  • Select:
    • KEY variable name
    • LABEL prompt title
    • OPTIONS list of options
      • VALUE variable value
      • DESC variable description

default .cmf.yaml sample file

PROMPT:
  - KEY: "CHANGE"
    LABEL: "Select the type of change:"
    OPTIONS:
      - VALUE: "feature"
        DESC: "A new feature"
      - VALUE: "fix"
        DESC: "A Bug fix"
      - VALUE: "update"
        DESC: "An update code change (moving or split code)"
      - VALUE: "docs"
        DESC: "Documentation only changes"
      - VALUE: "style"
        DESC: "Small changes of code style"
      - VALUE: "test"
        DESC: "Add, change or update test code"
  - KEY: "MODULE"
    LABEL: "Affected module:"
  - KEY: "MESSAGE"
    LABEL: "Commit message:"
TEMPLATE: "{{CHANGE}}({{MODULE}}): {{MESSAGE}}"

Contributions

Use GitHub issues for requests.

I actively welcome pull requests; learn how to contribute.


License

CMF is available under the MIT License.