Enhance Pre-commit Hook to Enforce Devlog and Task Entry Requirements
Objective
Fix the pre-commit hook to enforce that every commit includes both a devlog entry and a task entry, addressing the issue that PR 92 bypassed workflow requirements.
Requirements
- Clean up test artifacts: Remove test content from DEVLOG.md and test_file.txt from previous commits
- Enhance pre-commit hook: Add logic to require both devlog and task entries for every commit
- Smart detection: Allow documentation-only commits to proceed without devlog/task requirements
- Clear messaging: Provide actionable error messages when requirements are missing
- Maintain existing protections: Keep the current prevention of direct DEVLOG.md/TASKS.md editing
Implementation Details
File Cleanup
- ✅ Reverted DEVLOG.md to remove erroneous “test” line at line 57
- ✅ Removed test_file.txt that was accidentally committed
Pre-commit Hook Enhancement
- ✅ Added detection for devlog files in
docs/_devlogs/ - ✅ Added detection for task files in
docs/_tasks/ - ✅ Implemented smart logic to exempt documentation-only commits
- ✅ Enhanced error messaging with specific requirements and guidance
- ✅ Maintained existing legacy file protection
Logic Flow
- Check for unstaged changes and untracked files (existing)
- Prevent direct editing of DEVLOG.md and TASKS.md (existing)
- NEW: For non-documentation commits, require:
- At least one file in
docs/_devlogs/ - At least one file in
docs/_tasks/
- At least one file in
- Provide clear error messages for missing requirements
Testing Strategy
- Test that hook blocks commits missing devlog entries
- Test that hook blocks commits missing task entries
- Test that hook allows documentation-only commits
- Test that hook still prevents legacy file editing
- Verify error messages are clear and actionable
Success Criteria
- ✅ Pre-commit hook enforces devlog entry requirement
- ✅ Pre-commit hook enforces task entry requirement
- ✅ Documentation-only commits are allowed to proceed
- ✅ Clear error messages guide users on missing requirements
- ✅ Existing legacy file protections remain intact
Status: Completed ✅
The pre-commit hook has been successfully enhanced to enforce both devlog and task entry requirements for every commit, while maintaining flexibility for documentation-only changes.
UPDATES:
- ✅ Fixed documentation detection logic to correctly identify README.md as a core project file requiring devlog/task entries
- ✅ CRITICAL FIX: Resolved Husky configuration issue where hooks weren’t being called due to missing initialization and broken hook delegation
- ✅ FULLY VERIFIED: All scenarios tested and working correctly:
- Blocks commits without devlog entries
- Blocks commits without task entries
- Allows documentation-only commits (docs/ directory)
- Prevents direct DEVLOG.md/TASKS.md editing
- Provides clear error messages
Morpheum