What problem does it solve?
Moonrepo eliminates slow, repetitive monorepo task execution by running only what changed and reusing cached outputs, so developers and CI pipelines finish faster and stay consistent.
Core Features & Use Cases
- Workspace Graph: Understands dependencies between packages to order tasks correctly (e.g., build shared libraries before apps).
- Task Pipeline + Parallelization: Executes tasks in dependency order and parallelizes independent work for faster feedback loops.
- File-Based Hashing + Caching: Detects changed inputs and skips unaffected tasks using cached results to reduce CI time.
- Configuration as Code: Defines workflows in moon.yml or moonfile.ts for version-controlled, composable task automation.
- Use Case: In a Crossfire-style repo with apps, packages, and shared code, you can run lint/test/build only for the projects impacted by recent changes.
Quick Start
Ask Moonrepo to run the affected build tasks in the monorepo by executing: "moon run :build --affected".