Branch Protection Enabled
vcs.branch-protection-enabled
Requires branch protection rules to be enabled on the default branch. Branch protection is the foundation for all other VCS security controls.
Compatible Integrations
This guardrail works with the following integrations. Click to see how to use Branch Protection Enabled 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/vcs@v1.0.0
include: [branch-protection-enabled]
# with: ...
How This Guardrail Works
This guardrail is part of the VCS 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 |
|---|---|---|---|
min_approvals
|
Optional |
1
|
Minimum number of required approvals (integer, or omit to skip check) |
required_default_branch
|
Optional |
main
|
Required default branch name for the require-default-branch policy. Defaults to 'main' |
allowed_merge_strategies
|
Required | — | Comma-separated list of allowed merge strategies for the allowed-merge-strategies policy (merge, squash, rebase). Only listed strategies will be allowed |
VCS Guardrails
This guardrail is part of the VCS Guardrails policy, which includes 14 guardrails for repository and ownership.
Ready to Automate Your Standards?
See how Lunar can turn your engineering wiki, compliance docs, or postmortem action items into automated guardrails with our 100+ built-in guardrails.