diff options
| -rw-r--r-- | .agent/config.md | 5 | ||||
| -rwxr-xr-x | scripts/git-hooks/pre-commit | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/.agent/config.md b/.agent/config.md index d0e00d1..52d135d 100644 --- a/.agent/config.md +++ b/.agent/config.md @@ -19,9 +19,12 @@ This is the primary source of truth for all AI agents working on **Nav**. These **Before any other action in every session: run `git branch` and switch to `main` if not already there.** ``` -git checkout main # run this if not already on main +git checkout main # run this if not already on main +git config core.hooksPath scripts/git-hooks # activate if not already set ``` +The repo ships a pre-commit hook in `scripts/git-hooks/pre-commit` that hard-blocks commits to `master`. Activate it with the command above on first use in any environment. + **Primary branch: `main`** - ALL work merges to `main`. Never to `master` or any other branch. diff --git a/scripts/git-hooks/pre-commit b/scripts/git-hooks/pre-commit new file mode 100755 index 0000000..6adba30 --- /dev/null +++ b/scripts/git-hooks/pre-commit @@ -0,0 +1,8 @@ +#!/bin/sh +# Prevent accidental commits to master. All work goes to main. +branch=$(git symbolic-ref --short HEAD 2>/dev/null) +if [ "$branch" = "master" ]; then + echo "ERROR: committing to 'master' is not allowed." >&2 + echo "Switch to 'main' first: git checkout main" >&2 + exit 1 +fi |
