agent/codex/code/scripts/validate-branch.sh
Snider 466fe9f5a6 feat(codex): mirror claude plugins and ethics modal
Summary:\n- added Codex marketplace registry plus awareness/ethics/guardrails sub-plugins\n- mirrored Claude plugin commands/scripts/hooks into codex api/ci/code/collect/coolify/core/issue/perf/qa/review/verify\n- embedded Axioms of Life ethics modal, guardrails, and kernel files under codex/ethics\n- added Codex parity report, improvements list, and MCP integration plan\n- extended Gemini MCP tools and docs for Codex awareness
2026-02-05 20:13:01 +00:00

37 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
# This script validates a git branch name based on a naming convention.
full_command="${CLAUDE_TOOL_INPUT:-$*}"
# Check for override flag
if [[ "$full_command" =~ --no-verify ]]; then
echo "✓ Branch validation skipped due to --no-verify flag."
exit 0
fi
branch_name=""
# Regex to find branch name from 'git checkout -b <branch> ...'
if [[ "$full_command" =~ git\ checkout\ -b\ ([^[:space:]]+) ]]; then
branch_name="${BASH_REMATCH[1]}"
# Regex to find branch name from 'git branch <branch> ...'
elif [[ "$full_command" =~ git\ branch\ ([^[:space:]]+) ]]; then
branch_name="${BASH_REMATCH[1]}"
fi
if [[ -z "$branch_name" ]]; then
exit 0
fi
convention_regex="^(feat|fix|refactor|docs|test|chore)/.+"
if [[ ! "$branch_name" =~ $convention_regex ]]; then
echo "❌ Invalid branch name: '$branch_name'"
echo " Branch names must follow the convention: type/description"
echo " Example: feat/new-login-page"
echo " (To bypass this check, use the --no-verify flag)"
exit 1
fi
echo "✓ Branch name '$branch_name' is valid."
exit 0