packages/cli/README.md
The official CLI for moon, a build system and repo management tool for the web ecosystem, written in Rust! Supports JavaScript, TypeScript, Bash, Rust, Go, and much more!
moon can be installed with bash:
curl -fsSL https://moonrepo.dev/install/moon.sh | bash
Or with npm, pnpm, or yarn.
yarn add --dev @moonrepo/cli
Once installed, initialize moon in your repository.
moon init
Once projects and tasks have been configured, tasks can be ran with:
# Run `lint` in project `app`
moon run app:lint
# Run `lint` in all projects
moon run :lint
Working in the JavaScript ecosystem can be very involved, especially when it comes to managing a repository effectively. Which package manager to use? Which Node.js version to use? How to import node modules? How to build packages? So on and so forth. moon aims to streamline this entire process and provide a first-class developer experience.
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.node_modules, or sync
package dependencies, or even sync TypeScript project references.Not all features are currently supported, view the documentation for an accurate list!