mops lets coding agents inspect, search, edit, build, check, and test JetBrains MPS projects from a terminal, without
the MPS IDE and without reading .mps XML. A per-project daemon keeps the project open between commands, and Code Mode
runs Groovy programs against the native MPS API. docs/VISION.md says who mops is for, the principles
it follows, and what is out of scope.
Download the ZIP distribution from GitHub Releases, extract it,
and put its bin/ directory on PATH. To install from a checkout, run ./gradlew installMops: it installs mops into
~/.local/share/mops and links ~/.local/bin/mops.
mops needs an MPS distribution and a Java runtime. In a project built with Gradle, let mops find both and write a wrapper:
mops wrapperIt prints the path of each mopsw (or mopsw.cmd on Windows) it writes. Run the wrapper in place of mops. Without a
wrapper, pass --mps-home PATH and, when the distribution bundles no Java, --java-home PATH.
List the project's modules, or the roots of one model:
mops list
mops list sample.solution .mainFind nodes by concept, and get one of them as JSON by its reference:
mops find instances jetbrains.mps.baseLanguage.ClassConcept
mops get node --summary 'NODE_REF'Apply a JSON batch of edit operations; mops explain edit describes the notation:
mops edit model --file edit-batch.jsonCheck a model, then build and run the project's tests:
mops check model sample.model
mops testmops --helpandmops <command> --helpdescribe every command and option.mops explainprints the notations mops reads and writes, such as node references, edit batches, search scopes, and how output separates results from metadata.mops examplesprints task recipes; they are also in the bundled topic index.- docs/reference/ holds all of the above as Markdown, generated from the command line.
mops skill pathprints the path of the bundled agent skill. Ask your coding agent to load it, or symlink its directory into your agent's skills directory to follow mops upgrades.mops skill path daemonprints the skill for daemon coordination, restarts, and recovery.
See the developer documentation for building, testing, and releasing mops.