summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.agent/config.md5
-rwxr-xr-xscripts/git-hooks/pre-commit8
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