Automated engineering standards enforcement in minutes
Lunar instruments all your code repositories and CI/CD pipelines in a central manner.
No repo-by-repo integration needed.
Install the Lunar App to your GitHub organization with a single click.
Lunar monitors code changes, then provides automated feedback on pull requests based on your engineering standards.
Add the CI agent to any self-hosted runner by modifying the entrypoint to prepend lunar ci-agent --. The Lunar CI Agent starts up, launches and instruments your CI runner.
No root needed. Because it's the parent process, it has permission to instrument the syscalls of the runner's entire process tree.
Once instrumented, Lunar automatically runs these steps on every code change
Collect application metadata from:
A structured JSON document reflects the overall posture of each application in rich detail.
The normalized data is stored in a central database.
{ "repo": { }, "k8s": { }, "helm": { }, "iac": { }, "dockerfiles": { }, "testing": { }, "sbom": { }, "security": { }, ... }
Guardrails define practices to enforce. Lunar's guardrails-as-code verifies that each application's JSON SDLC data abides by defined standards.
Real-time guardrail feedback is provided on every code change, directly in developer PRs.
Standards that enforce themselves.
No manual checklists. No forever‑backlogged tickets.
No release‑day surprises.
Real standards you can enforce in minutes, not months
Step 1: Collect the data
- on: [all-services]
hook:
type: ci-after-command
pattern: ^codecov.*
runBash: |-
lunar collect "codecov.ran" true
Detect if the CodeCov process (pattern: ^codecov.*) is being run in a CI pipeline.
Step 2: Enforce the guardrail
- enforcement: block-pr
runPython: |-
with Check("codecov", "Test coverage") as c:
c.assert_exists(".codecov.ran")
Enforce that all services run CodeCov. Block the PR if not used.
100+ pre-built guardrails across Dockerfiles,
Kubernetes, Terraform, CI/CD, security, and compliance.
Plus: Custom guardrail builder to codify your
unique standards.
Roll out guardrails progressively with multiple enforcement levels.
Start gentle,
then tighten them as your teams adopt standards.
policies: - name: "ensure-non-root-containers" enforcement: block-pr - name: "sbom-generation" enforcement: report-pr - name: "critical-vuln-fixes" enforcement: block-deploy - name: "new-experimental-check" enforcement: draft
See how you can develop a custom collector and guardrail from scratch.
CI is essential for repository-specific verification, such as building and testing.
But
for global standards enforcement, it falls
short.
See how Lunar can turn your engineering wiki, compliance docs, or postmortem action items into automated guardrails with our 100+ built-in policies.