@sabo99/git-convention
v1.3.1
Published
Utilities for setup git convention (commitlint) using husky hooks
Maintainers
Readme
@sabo99/git-convention
🚀 @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-conventionOr use npx to run it without installation:
npx @sabo99/git-convention init🚀 Usage
To set up Git conventions, run:
npx git-convention initThis will:
- Install Husky and Commitlint
- Configure Husky hooks (
commit-msg,pre-commit,pre-push) - Add
.commitlintrc.jsonto 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 lintModify .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! 🎉
Fork the repo
Clone your fork
git clone https://github.com/sabo99/git-convention.gitInstall dependencies
npm installMake your changes and test
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!
