UNPKG

branchname-validator

Version:

Enforces Git branch naming conventions with 20+ supported patterns. It ensures branches follow the required format (e.g., feature/branch-name, bugfix/issue-123, docs/api-docs, refactor/db-queries) and prevents invalid names before creation. Ideal for team

129 lines (95 loc) β€’ 4.79 kB
# Branch Name Validator A validator tool designed to validate the Git branch naming conventions in your projects. With **Branch Name Validator**, you can easily enforce Git branch naming conventions. It ensures branches follow the required format (e.g., feature/branch-name, bugfix/issue-123) and prevents invalid names before creation. Ideal for teams maintaining consistent workflows! πŸš€ ## Table of Contents - [Features](#features) - [Install](#install) - [Flow](#flow) - [Supported Branch Naming Patterns](#supportedbranchnamingpatterns) - [Branch Validator VS Code Extension](#branchvalidatorVScodeextension) This package enforces branch naming conventions using Git hooks (`pre-push` and `pre-checkout`). It ensures that only correctly named branches can be created or pushed, maintaining a clean and structured Git workflow. ## ✨ Features βœ… Prevents pushing invalid branch names βœ… Blocks invalid branch creation βœ… Supports `pre-push` hook βœ… Supports `pre-checkout` hook βœ… 20+ supported branch naming patterns βœ… Easy installation and automatic setup ## πŸ“¦ Install ```sh # Usage with NPM npm install branch-name-validator ``` ## Flow Once this package is installed, the scripts needed to validate the branch name automatically get saved inside the `.git/hooks` folder with the file names `pre-push` and `pre-checkout`. If these files are already present then the contents are appended to the existing files. ## Supported Branch Naming Patterns This extension enforces the following branch name formats: | # | Type | Example | |----|------------|-----------------------------| | 1 | Feature | `feature/login-ui` | | 2 | Bug Fix | `bugfix/issue-123` | | 3 | Hotfix | `hotfix/critical-crash` | | 4 | Release | `release/v1.2.0` | | 5 | Experiment | `experiment/new-model` | | 6 | Docs | `docs/api-documentation` | | 7 | Refactor | `refactor/database-queries` | | 8 | Perf | `perf/image-optimization` | | 9 | Test | `test/user-service-tests` | | 10 | Chore | `chore/dependency-updates` | | 11 | CI | `ci/github-actions-setup` | | 12 | Build | `build/webpack-config` | | 13 | Style | `style/css-formatting` | | 14 | Revert | `revert/login-feature` | | 15 | Deps | `deps/upgrade-lodash` | | 16 | Config | `config/eslint-rules` | The following standalone branch names are also allowed: | # | Branch | |----|------------| | 17 | `develop` | | 18 | `master` | | 19 | `main` | | 20 | `releases` | # Branch Validator VS Code Extension ### Download [Branch Validator](https://marketplace.visualstudio.com/items?itemName=YashwanthByalla.branch-name-validator) ## Overview Branch Validator is a VS Code extension that **automatically validates Git branch names** to ensure they follow a specific naming convention. The validation runs **whenever you switch branches** and **before pushing** changes. ## Features - βœ… **Automatic branch name validation** when switching branches in VS Code - βœ… **Prevents pushing from an invalid branch** - βœ… **Supports 20+ branch naming patterns:** - `feature/login-ui` - `bugfix/issue-123` - `hotfix/critical-crash` - `release/v1.2.0` - `experiment/new-model` - `docs/api-documentation` - `refactor/database-queries` - `perf/image-optimization` - `test/user-service-tests` - `chore/dependency-updates` - `ci/github-actions-setup` - `build/webpack-config` - `style/css-formatting` - `revert/login-feature` - `deps/upgrade-lodash` - `config/eslint-rules` - `develop`, `master`, `main`, `releases` - βœ… **Works seamlessly with VS Code’s built-in Git UI** ## Installation 1. Open VS Code. 2. Go to **Extensions (`Ctrl+Shift+X`)**. 3. Search for `Branch Name Validator` (or install manually by loading the extension). 4. Click **Install**. 5. Restart VS Code if needed. ## Usage 1. Open a Git repository in VS Code. 2. Switch branches using the Git Bash. 3. If the branch name is **valid**, a success message will appear. 4. If the branch name is **invalid**, an error message will be displayed. 5. The extension will also prevent pushing changes from an invalid branch. ## How It Works - **Real-time Validation**: The extension listens for branch changes and validates them. - **Push Interception**: If the branch name is invalid, the push command is blocked. - **Error Notifications**: If an invalid branch name is detected, a notification appears in VS Code. --- Made with ❀️ for better branch management!