JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q37497F
  • License ISC

Utilities for setup git convention (commitlint) using husky hooks

Package Exports

  • @sabo99/git-convention
  • @sabo99/git-convention/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@sabo99/git-convention) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@sabo99/git-convention

npm Package License

🚀 @sabo99/git-convention is a simple CLI tool to set up Git conventions like Husky and Commitlint in your project.

📌 Features

✔ Automatically installs and configures Husky 🐶
✔ Sets up Commitlint for commit message validation 📝
✔ Ensures .gitignore includes necessary rules ⚡
✔ Works with any Node.js project 💡

📦 Installation

Install globally using npm:

npm install -g @sabo/git-convention

Or use npx to run it without installation:

npx @sabo99/git-convention init

🚀 Usage

To set up Git conventions, run:

npx git-convention init

This will:

  • Install Husky and Commitlint
  • Configure Husky hooks (commit-msg, pre-commit, pre-push)
  • Add .commitlintrc.json to enforce conventional commits
  • Ensure .husky is ignored in .gitignore

📝 Git Commit Convention Examples

Follow the Conventional Commits standard:

feat(auth): add password reset functionality
fix(cart): resolve issue with item quantity update
refactor(utils): optimize data processing logic
chore(tests): update unit tests for new changes
docs(readme): update installation instructions

🛠 Configuration

Customizing .commitlintrc.json

You can modify .commitlintrc.json to adjust commit message rules:

{
  "extends": ["@commitlint/config-conventional"],
  "rules": {
    "header-max-length": [2, "always", 100],
    "type-enum": [
    2,
    "always",
    ["chore", "docs", "feat", "fix", "refactor", "revert", "style", "test"]
    ],
    "type-case": [2, "always", "lowercase"],
    "type-empty": [2, "never"],
    "scope-case": [2, "always", "kebab-case"],
    "scope-empty": [2, "never"],
    "subject-empty": [2, "never"],
    "subject-full-stop": [2, "never", "."]
  },
  ...
}

Custom Husky Hooks

Modify .husky/pre-commit to add custom pre-commit scripts:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm test

🤝 Contributing

Want to improve this package? Fork the repo and submit a PR! 🎉

  1. Fork the repo

  2. Clone your fork

    git clone https://github.com/sabo99/git-convention.git
  3. Install dependencies

    npm install
  4. Make your changes and test

  5. Submit a PR 🚀

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

⭐ Show Your Support

Give a ⭐ if you like this project!