🚀 @sabo99/git-convention is a simple CLI tool to set up Git conventions like Husky and Commitlint in your project.
✔ Automatically installs and configures Husky 🐶
✔ Sets up Commitlint for commit message validation 📝
✔ Works with any Node.js project 💡
Install globally using npm:
npm install -g @sabo99/git-conventionOr use npx to run it without installation:
npx @sabo99/git-convention initTo 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
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 instructionsYou 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", "."]
},
...
}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:covWant 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.git
-
Install dependencies
npm install
-
Make your changes and test
-
Submit a PR 🚀
This project is licensed under the MIT License - see the LICENSE file for details.
Give a ⭐ if you like this project!