Skip to content

earthly/lunar-lib

Repository files navigation

Earthly Lunar

lunar-lib

The official plugin library for Earthly Lunar — a guardrails engine for the AI era.

License: MPL 2.0 Lunar Platform PRs Welcome


What is lunar-lib?

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.


Where to Start

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:

  1. Read starter-packs/README.md for the full tier breakdown.
  2. Pick a Starter pack (try Baseline if you can't decide).
  3. Copy its lunar-config.yml into your repo root.
  4. Tune enforcement levels (scorereport-prblock-pr) as your team gets comfortable.

Repository Layout

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.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors