diff --git a/.githooks/pre-push b/.githooks/pre-push new file mode 100755 index 0000000..013feea --- /dev/null +++ b/.githooks/pre-push @@ -0,0 +1,25 @@ +#!/bin/bash +# +# Pre-push hook: Prevents push if uncommitted changes exist +# This is a safety net to ensure AI agents commit their work +# + +# Check for uncommitted changes +if [[ -n $(git status --porcelain 2>/dev/null) ]]; then + echo "" + echo "ERROR: Uncommitted changes detected!" + echo "" + echo "Per AGENTS.md policy, AI agents MUST commit changes before stopping work." + echo "" + echo "Uncommitted files:" + git status --short + echo "" + echo "Run the following before push:" + echo " git add " + echo " git commit -m ': '" + echo " git push" + echo "" + exit 1 +fi + +exit 0 diff --git a/.gitignore b/.gitignore index c8cacfa..8b453d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -vendor/ +vendor .env diff --git a/AGENTS.md b/AGENTS.md index 2029cc6..3dd144a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -99,6 +99,18 @@ echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"protoc timeout 10 docker run --rm -i kneldevstack-aimiddleware- ``` +## Git Hooks + +This project uses tracked git hooks stored in `.githooks/`. After cloning, run: + +```bash +git config core.hooksPath .githooks +``` + +### Available Hooks + +- `pre-push` - Blocks push if uncommitted changes exist (safety net for AI agents) + ## Task Completion Checklist **MANDATORY**: Before declaring ANY task complete, AI agents MUST verify ALL applicable items: