Skip to main content

moon

A build system for the JavaScript ecosystem,
written in Rust.

  • Smart hashing

    Experimental

    Collects inputs from multiple sources to ensure builds are deterministic and reproducible.

  • Remote caching

    Coming soon

    Persists builds, hashes, and caches between teammates and CI/CD environments.

  • Integrated toolchain

    Automatically downloads and installs explicit versions of Node.js and other tools for consistency.

  • Multi-platform

    Runs on common development platforms: Linux, macOS, and Windows.

  • Project graph

    Generates a project graph for dependency and dependent relationships.

  • Project boundaries

    Enforces boundaries to eliminate cycles and reduce indirection.

  • Dependency workspaces

    Works alongside package manager workspaces so that projects have distinct dependency trees.

  • Ownership metadata

    Declare an owner, maintainers, support channels, and more, for LDAP or another integration.

  • Dependency graph

    Generates a dependency graph to increase performance and reduce workloads.

  • Action runner

    Executes actions in parallel and in order using a thread pool and our dependency graph.

  • Action distribution

    Coming soon

    Distributes actions across multiple machines to increase throughput.

  • Incremental builds

    Experimental

    With our smart hashing, only rebuild projects that have been touched since the last build.

  • Flakiness detection

    Experimental

    Reduce flaky builds with automatic retries and passthrough settings.

  • Webhook events

    Coming soon

    Receive a webhook for every event in the pipeline. Useful for metrics gathering.

  • Terminal notifications

    Coming soon

    Receives notifications in your chosen terminal when builds are successful... or are not.

And many more features

Configuration & convention
Use moon the way you want, but with some guard rails.
Scalability aware
Engineered to scale and grow for codebases of any size.
Integrated packages

In development

Enhance your pipeline with our @moonrepo npm packages.
Node.js inspection

Coming soon

Inspect and debug failing Node.js processes.
Build profiles

Coming soon

Generate build profiles that can be reviewed in Chrome.
Editor extensions

Coming soon

Utilize moon extensions in your favorite editor.