fix(agents): add mandatory task completion checklist and tracked git hooks
Root cause fix for AI agent failing to commit/push automatically: 1. Added Task Completion Checklist to AGENTS.md with mandatory items: - All requested work implemented - Changes staged (git add) - Changes committed (conventional format) - Changes pushed (git push) - STATUS.md updated (if applicable) - JOURNAL.md updated (if applicable) 2. Added pre-push hook in .githooks/ (tracked, not .git/hooks/): - Blocks push if uncommitted changes exist - Safety net if checklist is skipped 3. Fixed .gitignore: changed "vendor/" to "vendor" to also ignore symlink After cloning, run: git config core.hooksPath .githooks 💘 Generated with Crush Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
25
.githooks/pre-push
Executable file
25
.githooks/pre-push
Executable file
@@ -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 <files>"
|
||||
echo " git commit -m '<type>: <message>'"
|
||||
echo " git push"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,2 @@
|
||||
vendor/
|
||||
vendor
|
||||
.env
|
||||
|
||||
12
AGENTS.md
12
AGENTS.md
@@ -99,6 +99,18 @@ echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"protoc
|
||||
timeout 10 docker run --rm -i kneldevstack-aimiddleware-<service>
|
||||
```
|
||||
|
||||
## 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:
|
||||
|
||||
Reference in New Issue
Block a user