linterteca
v1.0.0
Published
Linter framework
Downloads
5
Readme
Linterteca
Branch name linter for Git projects using opinionated rules and conventions.
Built on top of [email protected], with a centralized configuration and CLI wrapper.
🚀 Installation
npm install --save-dev linterteca🛠️ Usage
You can run the linter manually:
npx lintertecaOr add a script to your package.json:
{
"scripts": {
"lint:branch": "linterteca"
}
}Then run:
npm run lint:branch🔗 Git Hooks Integration (with Husky)
To block git push when the branch name is invalid, integrate it with Husky:
npx husky add .husky/pre-push "npx linterteca"This ensures that no invalid branch names are pushed to remote.
✅ Valid Rules
The branch name must:
- Use a valid prefix (e.g.
feature/,fix/,docs/, etc.) - Include a separator
/ - Avoid banned names like
wip - Not be in the list of disallowed branches (e.g.
main,develop)
🧠 Built-in Configuration
The config is embedded in the package under config/default-config.json.
Example:
{
"branchNameLinter": {
"prefixes": ["feature", "feat", "hotfix", "release", "docs", "chore", "fix", "ci", "test", "refactor", "perf", "style", "build"],
"suggestions": {
"features": "feature",
"releases": "release",
"doc": "docs"
},
"banned": ["wip"],
"skip": ["main", "master", "develop", "staging"],
"disallowed": [],
"seperator": "/",
"msgBranchBanned": "Branches with the name \"%s\" are not allowed.",
"msgBranchDisallowed": "Pushing to \"%s\" is not allowed, use git-flow.",
"msgPrefixNotAllowed": "Branch prefix \"%s\" is not allowed.",
"msgPrefixSuggestion": "Instead of \"%s\" try \"%s\".",
"msgSeperatorRequired": "Branch \"%s\" must contain a seperator \"%s\"."
}
}📦 Why Linterteca?
- 🔄 Centralized configuration
- 🧩 Compatible with Node.js v6+
- 🧪 Works locally or via CI
- 🛡️ Enforce branch naming across multiple projects
👨🔧 License
MIT
