moon
moon is a repository management, organization, orchestration, and
notification tool for the web ecosystem, written in Rust. Many of the concepts within moon are
heavily inspired from Bazel and other popular build systems.
Why use moon?
Working in a developer ecosystem can be very involved, especially when it comes to managing a
repository effectively. Which package manager to use? Which language version to use? How to import
packages? How to build code? So on and so forth. moon aims to streamline this entire process and
provide a first-class developer experience.
- Increased productivity - With Rust as our foundation, we can
ensure robust speeds, high performance, and low memory usage. Instead of long builds blocking you,
focus on your work.
- Exceptional developer experience - As veterans, we're well aware of the pain points and
frustrations. Our goal is to mitigate and overcome these obstacles.
- Incremental adoption - At its core, moon has been designed to be adopted incrementally and is
not an "all at once adoption". Migrate project-by-project, or task-by-task, it's up to you!
- Reduced scripts confusion -
package.json scripts can become unwieldy, very quickly. No more
duplicating the same script into every package, or reverse-engineering which root scripts to use.
With moon, all you need to know is the project name, and a task name.
- Ensure correct versions - Whether it's Node.js or another language, ensure the same version of
each tool is the same across every developer's environment. No more wasted hours of debugging.
- Automation built-in - When applicable, moon will automatically install
node_modules, or sync