Skip to main content

moon

A build system and repo management tool for the web ecosystem, written in Rust.

Supports JavaScript, TypeScript, Bash, Batch, and more.

  • Smart hashing

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

  • Remote caching

    Experimental

    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 across the entire workspace or per project.

  • Multi-platform

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

  • Project graph

    Generates a project graph for dependency and dependent relationships.

  • Code generation

    Easily scaffold new applications, libraries, tooling, and more!

  • 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

    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

    Experimental

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

  • 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
Record CPU and heap profiles that can be analyzed in Chrome.
Editor extensions

New

Utilize moon extensions in your favorite editor, like Visual Studio Code.

Used by these innovative companies