JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q38568F
  • License MIT

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 📝
✔ Works with any Node.js project 💡

📦 Installation

Install globally using npm:

npm install -g @sabo99/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

📝 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:

#!/usr/bin/env sh

. "$(dirname "$0")/_/husky.sh"

yarn lint

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

#!/usr/bin/env sh

. "$(dirname "$0")/_/husky.sh"

yarn test:cov

🤝 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!