Skip to main content

A task runner and monorepo management tool for the web ecosystem, written in Rust.

Supports JavaScript, TypeScript, Rust, Go, Ruby, and more.

Backed by

  • Smart hashing

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

  • Remote caching

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

  • Integrated toolchain

    Automatically downloads and installs explicit versions of languages and 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!

  • Task inheritance

    Define a task once to be inherited by all or scoped projects. Avoid defining the same task in every project.

  • Code ownership

    Declare owners, maintainers, support channels, and more. Generate CODEOWNERS.

  • Dependency graph

    Generates a dependency graph to increase performance and reduce workloads.

  • Action pipeline

    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

    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.

  • Git hooks

    Manage Git hooks to enforce workflows and requirements for contributors.

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.
Process inspection

Coming soon

Inspect and debug failing task processes.
Build profiles
Record CPU and heap profiles that can be analyzed in Chrome.
Editor extensions
Utilize moon extensions in your favorite editor, like Visual Studio Code.