mm_save
Save reusable code to a persistent personal or project library, executing its test first and storing the script only when the test passes.
Instructions
Save reusable code and EXECUTE its test, unsandboxed; tests are not security reviews. Untrusted project library: nothing written or run; ask the user. Use args, env secrets, --dry-run for actions. Tests default to script runner/extension; test_name/test_runner override. MM_SCRIPT/MM_LIBRARY set; exit 0 passes. Failed new personal test saves nothing; replacement restores prior files. Personal commits, and pushes if chosen at setup; project never commits. Existing names: replace: true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| area | Yes | Existing mm_list area. | |
| code | Yes | Script source. | |
| name | Yes | snake_case file name with language extension. | |
| test | Yes | Test source. | |
| scope | No | Codebase-specific or personal. | personal |
| usage | Yes | Usage line: <name> <args> — purpose [pure|read|write|irreversible]. | |
| runner | No | Installed runner argv. | |
| replace | No | Replace; restore if test fails. | |
| new_area | No | Create a new area. | |
| test_name | No | test_<script-stem>.<ext> basename. | |
| test_runner | No | Test interpreter argv. |