Skip to content

ZIR-000: Add commit message normalizer script and hook integration - #345

Open
zeroecco wants to merge 5 commits into
mainfrom
feature/commit-msg-normalizer
Open

zeroecco wants to merge 5 commits into
mainfrom
feature/commit-msg-normalizer

Conversation

@zeroecco

Copy link
Copy Markdown

Summary

  • Adds scripts/normalize-commit-msg.sh: standalone normalizer that enforces ZIR-XXX: Description convention (adds ZIR-000 prefix if absent, capitalizes description, strips trailing period/whitespace)
  • Adds hooks/prepare-commit-msg: delegates to the normalizer; skips merge/squash/fixup/revert commits
  • Updates scripts/setup-git-hooks.sh to install prepare-commit-msg and make the normalizer executable
  • Adds tests/test_normalize_commit_msg.sh with 8 test cases (all passing)

Test plan

  • Run bash tests/test_normalize_commit_msg.sh — all 8 cases pass
  • Run scripts/setup-git-hooks.sh and verify both hooks are installed in .git/hooks/
  • Make a commit without a ZIR prefix and confirm it is auto-normalized

🤖 Generated with Claude Code

zeroecco added 5 commits April 6, 2026 02:02
Add comprehensive documentation for the ZIR-XXX: commit format standard.
This includes:
- CONTRIBUTING.md with quick reference and setup instructions
- docs/commit-guidelines.md with detailed guidelines and examples
- Documentation of existing commit-msg hook and template infrastructure

The repository already has validation tooling in place (.git/hooks/commit-msg
and .git/commit-msg-template). This commit adds missing documentation to help
all contributors understand and follow the standardized format.

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Adds tracked versions of commit-msg hook and template in hooks/
directory, along with setup script to install them. Updates
documentation to guide contributors through setup process.

Changes:
- Add hooks/commit-msg and hooks/commit-msg-template
- Add scripts/setup-git-hooks.sh for automated setup
- Update CONTRIBUTING.md with setup instructions
- Update README.md with contributing section

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Make hooks/commit-msg executable (100755) to match setup script.
While the setup script does chmod +x after copying, tracking the
file as executable in git is better practice.

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Create four new documentation files to help developers understand the
Zirgen compiler structure and development workflow:

- ARCHITECTURE.md: Compiler structure, MLIR dialects, and codegen pipeline
- docs/BAZEL_BUILD_GUIDE.md: Build system guide with common patterns
- docs/SCRIPTS_REFERENCE.md: Documentation for development scripts
- docs/CODE_NAVIGATION.md: Guide to navigating the codebase

Also updated README.md and zirgen/docs/README.md to link to the new
developer documentation.

These docs complement the existing user-facing circuit language
documentation by providing architectural overview and practical
development guidance for compiler contributors.

Nightshift-Task: docs-backfill
Nightshift-Ref: https://github.com/marcus/nightshift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant