Lunar enforces engineering standards across every repo, every PR, and every AI coding session in your organization — without the per-repo setup, Slack announcements, or backlog tickets that usually come with it.
lunar-lib is the open-source plugin library that powers it. It's a curated, continuously-growing catalog of:
- Collectors — gather metadata from your codebase (languages, dependencies, CI configs, IaC, security scans, AI tool usage, etc.)
- Policies — evaluate that metadata against engineering standards and report findings as PR comments, gates, or scores
- Catalogers — sync component and ownership data from external systems (GitHub orgs, service catalogs, etc.)
- Starter packs — opinionated, ready-to-import bundles of the above for common scenarios
Browse the full catalog at earthly.dev/lunar/guardrails/, or dive into the source in collectors/, policies/, and catalogers/.
New to Lunar itself? Start at earthly.dev/lunar for the platform overview.
Start with a starter pack — a curated lunar-config.yml that's wired up and ready to drop into your repo. You can absolutely cherry-pick individual plugins instead, but most teams get going faster from a bundle and tune from there.
| Tier | What you get | Status |
|---|---|---|
| Starter | Zero config, zero secrets. Themed packs for Security, Code Quality, Cloud Native, AI Native, plus a Baseline. | Available — copy the lunar-config.yml and you're done. |
| Starter Plus | Adds vendor integrations (Snyk, SonarQube, Jira, PagerDuty, …). Light configuration, typically one token or URL per integration. | Coming soon — planned packs listed here. |
| Advanced | Specialized workflows (custom AST rules, OTel, GitOps, AI governance) that need meaningful configuration to be useful. | Coming soon — planned packs listed here. |
Recommended path for new users:
- Read
starter-packs/README.mdfor the full tier breakdown. - Pick a Starter pack (try Baseline if you can't decide).
- Copy its
lunar-config.ymlinto your repo root. - Tune enforcement levels (
score→report-pr→block-pr) as your team gets comfortable.
lunar-lib/
├── starter-packs/ 🚀 Curated, ready-to-use lunar-config.yml bundles
├── collectors/ 🔍 Plugins that gather metadata into the Component JSON
├── policies/ ✅ Plugins that evaluate that metadata against standards
└── catalogers/ 🗂️ Plugins that sync external component/ownership data
Built and maintained by the team behind Earthly.
