Repository navigation
chore(git-hooks): run the guardrails git hooks from the claude-code-plugins lefthook remote - #126
Conversation
… jobs Commit the guardrails plugin's three git-hook entries (commit-msg-convention, pre-commit-content, reference-verify) as shared lefthook jobs, so every clone gets them from `lefthook install`, and record the subject_pattern the commit-msg hook enforces in .claude/source-control.md. The .githooks/guardrails/ files are plugin-owned copies written by install.mjs copy --scope shared (guardrails 0.55.4), staged 100755 where they carry a shebang. The installer's .gitattributes line is left out: the managed `* text=auto eol=lf` already keeps them LF. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-review reviewed No findings. The PR adds one file,
|
|
claude-security-review reviewed Security review: PR #126 (head 94026dd)The PR adds one file, Findings
Manifest fieldsNo Other notes
critical-findings: 0 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fb8dd9584b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…lugins lefthook remote Replace the vendored hook copies under .githooks/guardrails/ with one lefthook remotes: entry that fetches plugins/guardrails/git-hooks/lefthook-remote.yml from melodic-software/claude-code-plugins (ref main, refetched every 24h). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No related issue: rolls out the guardrails lefthook remote (claude-code-plugins#9504)
Summary
Runs the guardrails plugin's three git hooks in this repository from one lefthook
remotes:entry, so every clone gets the same hooks fromlefthook installand they update fromclaude-code-pluginsmain every 24 hours, with no vendored copies:commit-msg-convention(commit-msg): the subject against the synced commit convention (docs/conventions/source-control/commit-convention.yml).pre-commit-content(pre-commit): secrets and machine-specific paths on added lines.reference-verify(pre-push): CLI flags,/plugin:skillreferences and deleted paths on pushed lines.These are repository git hooks, not a plugin port or Cursor plugin hooks, so the trust-review rule for ports that add MCP servers or hooks does not apply.
Fix
lefthook.yml(new): oneremotes:entry,git_url: https://github.com/melodic-software/claude-code-plugins,ref: main,refetch_frequency: 24h,configs: [plugins/guardrails/git-hooks/lefthook-remote.yml], frominstall.mjs plan --scope remote.main: the earlier vendored.githooks/guardrails/copies, their lefthook jobs, the README layout lines and the new.claude/source-control.mdare gone (the synced commit convention supplies the pattern).Verification
install.mjs verify --repo <worktree>afterlefthook install(rc 0):A second
plan --scope remotereturns no decisions. This PR's commit ranguardrails-remote-pre-commit-contentandguardrails-remote-commit-msg-convention, and its push ranguardrails-remote-reference-verify, all passing.Observation runs against this repository's history in report-only mode (the remote serves the same hook scripts, so this evidence holds):
reference-verifyorigin/main~121..origin/main(the repo has 122 commits), 52 changed files, 3 spre-commit-contentscripts/sync-local.shandplugins/plugin-ops/skills/sync-local/SKILL.mdname theD:\/C:\repos\github.com\melodic-software\cursor-pluginscheckouts in the deliberate, fixed fallback listsync-localtries when no-Sourceis given (README, Install / update). Current content still has them, so a future edit of those lines would block. Whether that fallback list fits the plugin design boundary (no machine paths) is a separate question for the ownercommit-msg-conventionAdd Cloud Agent environment for cursor-plugins (#18)andInitial commitRelated
🤖 Generated with Claude Code