Pre Commit Pinned Refs
git.pre-commit-pinned-refs
Each repo entry in .pre-commit-config.yaml must have a rev pinned
to an immutable ref (tag or commit SHA), not a floating branch like
main, master, or HEAD. Floating refs let upstream hook changes
land in the developer machine without review. Skips when no
pre-commit config is present (paired with pre-commit-config-exists).
Compatible Integrations
This guardrail works with the following integrations. Click to see how to use Pre Commit Pinned Refs with each collector.
Enable This Guardrail
Add the parent policy to your lunar-config.yml to enable this guardrail.
policies:
- uses: github://earthly/lunar-lib/policies/git@v1.0.5
include: [pre-commit-pinned-refs]
# with: ...
How This Guardrail Works
This guardrail is part of the Git Guardrails policy. It evaluates data collected by integrations and produces a pass/fail check with actionable feedback.
When enabled, this check runs automatically on every PR and in AI coding workflows, providing real-time enforcement of your engineering standards.
Learn How Lunar Works →Configuration Options
These inputs can be configured in your lunar-config.yml to customize
how the parent policy (and this guardrail) behaves.
| Input | Required | Default | Description |
|---|---|---|---|
secret_scan_hook_ids
|
Optional |
gitleaks,detect-secrets,trufflehog,detect-aws-credentials,detect-private-key
|
Comma-separated list of pre-commit hook IDs that count as secret scanners |
Git Guardrails
This guardrail is part of the Git Guardrails policy, which includes 7 guardrails for devex build and ci.
Ready to Automate Your Standards?
See how Lunar can turn your AGENTS.md, engineering wiki, compliance docs, or postmortem action items into automated guardrails with our 200+ built-in guardrails.