Skip to content

πŸ“ Commit Prompter – an interactive CLI tool for crafting clear, structured commit messages with ease.

License

Notifications You must be signed in to change notification settings

Zilero232/commit-jazzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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": "cz-conventional-changelog" }' > ~/.czrc

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

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": "commit-jazzer"
  }
}

After installation, simply run:

git cz

βš™οΈ Configuration

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

Example Configuration File

{
  "$schema": "./node_modules/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! 🎸

About

πŸ“ Commit Prompter – an interactive CLI tool for crafting clear, structured commit messages with ease.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published