moon Agent Rules

A Rust-based tool for managing repositories, projects, and build tasks.

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.

Documents

├── 
├──  · imports AGENTS.md
└── 

Techniques in this file

01 / Verification by change type

Scope warning policies by language

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.
- **Linting** with [oxlint](https://oxc.rs/docs/guide/usage/linter). Errors must be fixed; **leave  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.
- **Tests** run under [`nextest`](https://nexte.st/). Tests must pass with `MOON_TEST=true` and  `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.
- 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.
- Target `master` for bug fixes; target `develop-x.x` for new features / breaking changes.

Ideas for your repo

  1. Scope warning handling to the tool that emitted it.
  2. Document test environment variables hidden by task wrappers.
  3. Separate development automation from publishing authority.
  4. Tie target branches to compatibility promises.
Sponsored byModem

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.

See how Modem works