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
🚀 @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 install
Make 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!