CLI Overview
renmori is the command-line tool of RenMori. It operates on the distribution build produced by the Ren'Py launcher and, at build time, performs asset packing, script transformation, loader installation and result verification. It neither reads nor modifies the game's source project, does not depend on the Ren'Py SDK, and does not access the network except to download the closed plugin for the first time.
A typical release workflow involves only two commands:
Scope of the tool
Installation
renmori is published as the PyPI package renmori and requires Python 3.9 or later. The dependency cryptography is installed automatically; it is used only by the build-time tool, and the protected game does not depend on any pip package at runtime.
To install it as a standalone command-line tool, uv or pipx can also be used; both create an isolated environment for renmori:
Reading the renmori.toml configuration file requires tomllib from the standard library of Python 3.11 or later; to use a configuration file on 3.9 or 3.10, tomli must be installed additionally:
To modify the source or take part in development, install from the repository in editable mode:
Invocation
After installation, the tool can be invoked in two equivalent ways:
When the system has several Python environments and renmori is not on PATH, the second form makes explicit which interpreter is used.
Commands
Global options
The following options apply to both protect and verify and must be placed after the subcommand, for example renmori protect ./build --quiet.
The CLI output language currently supports Chinese and English. The output language affects only the progress output on stderr; the JSON keys and values on stdout are always in English, so parsing the result behaves identically under any locale. See Output, Build Manifest and Exit Codes for details.
Environment variables
Processing overview
Related pages
renmori protect: all options, file handling rules and the execution flowrenmori verify: checks performed and usage- Configuration File renmori.toml: all configuration keys and merge rules
- Output, Build Manifest and Exit Codes: output formats for scripts and CI to parse
- Protection Strength and the Closed Plugin: the difference between baseline and full protection; obtaining and caching the plugin
- Troubleshooting: all error messages and how to resolve them