A Rust-based tool for managing repositories, projects, and build tasks.
On this page
Overview
moon uses its own task runner for JavaScript packages and just for the Rust tool. The root guide lists environment requirements, applies different warning policies to each side, and sets branch rules for stable and breaking work.
The Rust workflow treats Clippy warnings as errors, while the JavaScript workflow says oxlint warnings should be left alone. The distinction prevents applying one cleanup policy to every tool in the monorepo.
Source excerpt starting at line 87.
87- **Linting** with [oxlint](https://oxc.rs/docs/guide/usage/linter). Errors must be fixed; **leave88 warnings alone** — they are informational (browser differences, polyfill hints), not actionable.
02 / Verification by change type
Explain the wrapper's hidden test environment
The Rust section names the environment variables that tests require and says the just recipe sets them. That gives the task wrapper a functional purpose beyond command convenience.
Source excerpt starting at line 59.
59- **Tests** run under [`nextest`](https://nexte.st/). Tests must pass with `MOON_TEST=true` and60 `STARBASE_TEST=true` (the `just test` recipe sets these for you).
03 / Hard prohibitions
Preserve a manual release boundary
Crates are released independently, but the file explicitly excludes automating that operation. An agent can follow the development workflow without assuming publishing is the next step.
Source excerpt starting at line 61.
61- Applicable crates are published independently using `cargo release`. Never automate this!
04 / Contribution etiquette
Route stable fixes and breaking work to different branches
The PR section connects target branches with compatibility expectations. Bug fixes belong on master, while new features and breaking changes use a versioned development branch.
Source excerpt starting at line 94.
94- Target `master` for bug fixes; target `develop-x.x` for new features / breaking changes.
Ideas for your repo
01Scope warning handling to the tool that emitted it.
02Document test environment variables hidden by task wrappers.
03Separate development automation from publishing authority.
04Tie target branches to compatibility promises.
Sponsored by
Give your agents the whole story.
These instructions explain how to work in moon. Modem shows your agents what customers said, who is affected, and what changed.