Earthly

Containerized build tool that combines Dockerfile and Makefile into a unified Earthfile syntax. Every build step runs in a container, making builds reproducible across local dev, CI, and CD environments. Earthly eliminates 'works on my machine' CI failures by ensuring the same containerized environment everywhere. Supports parallelism, caching, and composable build targets. Earthly Satellites (cloud) provides remote build execution and shared caching.

Evaluated Mar 06, 2026 (0d ago) v0.8+
Homepage ↗ Repo ↗ Developer Tools build ci docker reproducible makefile containerized open-source earthfile
⚙ Agent Friendliness
63
/ 100
Can an agent use this?
🔒 Security
77
/ 100
Is it safe for agents?
⚡ Reliability
74
/ 100
Does it work consistently?

Score Breakdown

⚙ Agent Friendliness

MCP Quality
--
Documentation
82
Error Messages
78
Auth Simplicity
92
Rate Limits
88

🔒 Security

TLS Enforcement
90
Auth Strength
72
Scope Granularity
65
Dep. Hygiene
80
Secret Handling
78

Builds run in containers — isolation from host system. Secrets passed via environment variables or --secret flag (not stored in Earthfile). Docker layer security applies. Self-hosted builds have no external data transmission. BSL license is source-available for auditability.

⚡ Reliability

Uptime/SLA
72
Version Stability
75
Breaking Changes
72
Error Recovery
78
AF Security Reliability

Best When

You want reproducible builds that work identically in local dev and CI, especially in polyglot monorepos where environment consistency is critical.

Avoid When

You need a full CI/CD platform — Earthly is a build tool. If your primary pain isn't build reproducibility, simpler Makefiles or GitHub Actions suffice.

Use Cases

  • Define reproducible multi-step build pipelines in Earthfiles that run identically on developer laptops and in CI without environment drift
  • Parallelize build steps across multiple targets to reduce CI pipeline duration using Earthly's parallel execution and remote caching
  • Build multi-language monorepo projects with consistent containerized environments for each language/service without per-project CI configuration drift
  • Use Earthly Satellites (cloud remote execution) via API for faster builds with shared cache layers across team members and CI
  • Integrate agent-generated code into build pipelines that validate, test, and package outputs in reproducible containerized environments

Not For

  • Full CI/CD orchestration — Earthly is a build tool, not a CI platform; pair with GitHub Actions, GitLab CI, or Jenkins for orchestration
  • Non-containerized build environments — Earthly requires Docker; teams on non-Docker CI runners may have compatibility issues
  • Complex deployment workflows — Earthly handles build/test/package; use Argo CD, Spinnaker, or Harness for the deployment half

Interface

REST API
No
GraphQL
No
gRPC
No
MCP Server
No
SDK
No
Webhooks
No

Authentication

Methods: api_key
OAuth: No Scopes: No

Earthly Satellites (cloud) uses API tokens for authentication via `earthly account login --token`. Open source CLI has no auth. Tokens scoped to Earthly account. CI integration via EARTHLY_TOKEN environment variable.

Pricing

Model: open_source
Free tier: Yes
Requires CC: No

Earthly CLI (BSL 1.1 license) is open source and free for most use cases. Earthly Satellites adds cloud remote execution and shared caching. BSL license has use restrictions — verify for commercial products that embed Earthly.

Agent Metadata

Pagination
none
Idempotent
Full
Retry Guidance
Not documented

Known Gotchas

  • Earthly is a CLI tool, not a REST API — agents invoke it via shell (earthly +target) rather than HTTP calls; agent must have Docker and Earthly CLI installed in its execution environment
  • Earthfile syntax is distinct from Dockerfile (COPY +artifact/path, RUN commands differ) — LLM-generated Earthfiles may have syntax errors requiring iteration
  • First build pulls Docker images and warms cache — initial build times can be 5-10x slower than subsequent cached builds; agents should account for cold-start builds
  • Earthly Satellites require network connectivity to Earthly's satellite infrastructure — airgapped environments must use self-hosted remote caching instead
  • BUILD --pass-args is required to forward ARGs to referenced targets — missing ARG propagation causes silent default value substitution, not obvious errors
  • Docker-in-Docker (DinD) required for Earthly in containerized CI environments — privileged containers or special CI configurations needed for nested Docker
  • BSL 1.1 license has commercial use restrictions that differ from Apache 2.0 — verify licensing before embedding Earthly in commercial products or SaaS offerings

Alternatives

Full Evaluation Report

Comprehensive deep-dive: security analysis, reliability audit, agent experience review, cost modeling, competitive positioning, and improvement roadmap for Earthly.

AI-powered analysis · PDF + markdown · Delivered within 30 minutes

$99

Package Brief

Quick verdict, integration guide, cost projections, gotchas with workarounds, and alternatives comparison.

Delivered within 10 minutes

$3

Score Monitoring

Get alerted when this package's AF, security, or reliability scores change significantly. Stay ahead of regressions.

Continuous monitoring

$3/mo

Scores are editorial opinions as of 2026-03-06.

5647
Packages Evaluated
26151
Need Evaluation
173
Need Re-evaluation
Community Powered