# 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`). 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
✅ Easy installation and automatic setup


## 📦 Install

```sh
# Usage with NPM
npm install branch-name-validator

```

## Flow
Once this package is installed, the script which is needed to validate the branch name automatically gets saved inside the `.git/hooks` folder with the file name `pre-push`. If this file is already present then the contents present in the script is appended to that file.

## Supported Branch Naming Patterns

This extension enforces the following sample branch name formats:

| Type        | Example                |
|------------|------------------------|
| Feature    | `feature/login-ui`     |
| Bug Fix    | `bugfix/issue-123`     |
| Hotfix     | `hotfix/critical-crash`|
| Release    | `release/v1.2.0`       |
| Experiment | `experiment/new-model` |


# 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 the following branch naming patterns:**  
  - `feature/login-ui`  
  - `bugfix/issue-123`  
  - `hotfix/critical-crash`  
  - `release/v1.2.0`  
  - `experiment/new-model`  
- ✅ **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!
