A task runner and repository management tool for the web ecosystem, written in Rust.
Collects inputs from multiple sources to ensure builds are deterministic and reproducible.
Persists builds, hashes, and caches between teammates and CI/CD environments.
Automatically downloads and installs explicit versions of languages and tools for consistency across the entire workspace or per project.
Runs on common development platforms: Linux, macOS, and Windows.
Generates a project graph for dependency and dependent relationships.
Easily scaffold new applications, libraries, tooling, and more!
Define a task once to be inherited by all or scoped projects. Avoid defining the same task in every project.
Declare an owner, maintainers, support channels, and more, for LDAP or another integration.
Generates a dependency graph to increase performance and reduce workloads.
Executes actions in parallel and in order using a thread pool and our dependency graph.
Distributes actions across multiple machines to increase throughput.
With our smart hashing, only rebuild projects that have been touched since the last build.
Reduce flaky builds with automatic retries and passthrough settings.
Receive a webhook for every event in the pipeline. Useful for metrics gathering and insights.
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.
- Engineered to scale and grow for codebases of any size.
In developmentEnhance your pipeline with our @moonrepo npm packages.
Coming soonInspect and debug failing task processes.
- Record CPU and heap profiles that can be analyzed in Chrome.
- Utilize moon extensions in your favorite editor, like Visual Studio Code.