commit-jazzer
TypeScript icon, indicating that this package has built-in type declarations

1.1.3ย โ€ขย Publicย โ€ขย Published

commit-jazzer ๐ŸŽถ๐Ÿ’ฅ

CI status npm downloads npm license version

Commitizen adapter for formatting commit messages with style and rhythm. ๐ŸŽธ๐ŸŽค

๐ŸŽธ Add style and rhythm to your commits! With commit-jazzer, every commit becomes more than just a messageโ€”it's a true masterpiece. Follow best practices and format your messages with emojis that add fun and professionalism to your development process.

Table of Contents

  1. ๐ŸŽฅ Demo
  2. ๐Ÿ” Description
  3. โšก Features
  4. ๐Ÿ’ป Installation and Usage
  5. โš™๏ธ Configuration
  6. ๐Ÿค Contributing
  7. ๐Ÿ“œ Code of Conduct
  8. ๐Ÿ”’ Security Policy
  9. ๐Ÿ‘ฅ Team
  10. ๐Ÿ“„ License

๐ŸŽฅ Demo

commit-jazzer

๐Ÿ” Description

commit-jazzer is a tool that introduces a touch of musical flair into your Git commit messages. Built on the solid foundation of Commitizen, it allows you to follow commit conventions and spice up your messages with emojis. Instead of just typing standard commit texts, you'll choose commit types, write descriptions, andโ€”just like in jazzโ€”improvise to create a symphony of commits.

๐ŸŽท Jazz your commits: It's not just about structureโ€”it's about creativity. Transform your commits into something dynamic, creative, and fun!

โšก Features

  • ๐ŸŽถ Musical Commit Messages: Format your commits with delightful emojis like ๐ŸŽธ, ๐Ÿ›, ๐Ÿ’„, and more.
  • โšก Quick Setup: Easy installation and integration into your project.
  • ๐ŸŽผ Predefined Commit Types: Choose from predefined types and descriptions to maintain consistency.
  • ๐Ÿ›  Bad Word Handling: Automatically handles undesirable words in commit messages and helps you avoid inappropriate expressions.
  • ๐Ÿ”ง Flexible Configuration: Customize commit templates and type schemes for a personal touch.

๐Ÿ’ป Installation and Usage

Globally

Install commitizen globally, if you have not already.

npm install commitizen -g

Install your preferred commitizen adapter globally (for example commit-jazzer).

npm install commit-jazzer -g

Create a .czrc file in your home directory, with path referring to the preferred, globally-installed, commitizen adapter

echo '{ "path": "commit-jazzer" }' > ~/.czrc

You are all set! Now cd into any git repository and use git cz and you will find the commit-jazzer prompt.

Or you can, add this configuration to your package.json:

"config": {
  "commitizen": {
    "path": "commit-jazzer"
  }
}

Locally

To install commit-jazzer as a development dependency, run::

npm install --save-dev commit-jazzer

Then, add this configuration to your package.json:

"config": {
  "commitizen": {
    "path": "node_modules/commit-jazzer"
  }
}

After installation, simply run:

git cz

โš™๏ธ Configuration

Configuration Types Support

This configuration file is used to customize the behavior of commit-jazzer without modifying the source code.

  • JSON format

    • .jazzer.config.json
    • jazzer.config.json
  • JavaScript format

    • .jazzer.config.js
    • jazzer.config.js
  • TypeScript format

    • .jazzer.config.ts
    • jazzer.config.ts

Example Configuration File

{
  "$schema": "https://zilero232.github.io/commit-jazzer/commit-jazzer-schema.json",
  "language": "en",
  "template": "{{type}}: {{emoji}} - {{title}}",
  "availableCommitTypes": ["init", "fix", "refactor"],
  "availablePromptQuestions": ["type", "title"],
  "baseCommitTypes": {
    "init": {
      "description": "Custom deploying message"
    }
  },
  "addCustomCommitTypes": {
    "custom": {
      "emoji": "๐Ÿš€",
      "code": ":rocket:",
      "description": "Deploying application"
    }
  },
  "baseQuestionsOptions": [
    {
      "key": "title",
      "message": "My custom message",
      "options": {
        "required": true,
        "skip": false,
        "validations": {
          "length": {
            "minMessageLength": 0,
            "maxMessageLength": 200
          }
        }
      }
    }
  ],
  "validateCommitBadWords": true,
  "badWordsOptions": {
    "checkHasProfaneWords": true,
    "clearMessage": true,
    "replaceProfaneWords": true,
    "options": {
      "additionalBlockWords": ["bogdan", "oleg", "nikita"],
      "excludedWords": ["fool"],
      "placeholder": "*",
      "overrideBlockWords": false
    }
  },
  "showBanner": true,
  "showBannerOptions": {
    "bannerText": "Look, I can change the name."
  }
}

๐Ÿค Contributing

We'd love for you to contribute to commit-jazzer! Whether it's reporting bugs, suggesting features, or submitting pull requests, your help is always appreciated.

How to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add new feature').
  5. Push to the branch (git push origin feature/your-feature).
  6. Open a pull request.

๐Ÿ“œ Code of Conduct

Please follow our Code of Conduct when participating in this project to ensure a welcoming and productive atmosphere.

๐Ÿ”’ Security Policy

Security is our priority. If you encounter any issues, please read our full Security Policy to report vulnerabilities safely and responsibly.

๐Ÿ‘ฅ Team

These folks keep the project moving and are resources for help.

Artemev Alexandr - Avatar
Artemev A. A.

๐Ÿ“„ License

License commit-jazzer is licensed under the MIT License.

Be part of the musical process! ๐ŸŽถ Add some rhythm and style to your commits with commit-jazzer and turn your workflow into a masterpiece! ๐ŸŽธ

Dependencies (12)

Dev Dependencies (40)

Package Sidebar

Install

npm i commit-jazzer

Weekly Downloads

1

Version

1.1.3

License

MIT

Unpacked Size

71.1 kB

Total Files

13

Last publish

Collaborators

  • zilero