Repository navigation
v0.3.0
Stateful Markdown walkthroughs
Add shell: bash to keep one real Bash session across commands, blocks, and
Markdown prerequisites such as setup: mm sharedset.md. Variables, exports,
functions, working-directory changes, shell options, and the previous command's
status persist without wrapper scripts or intermediate environment files.
- Write normal Bash directly in
markmasonfences: pipelines, substitutions,
redirections, loops, functions, heredocs, and background jobs. - With
--step, inspect one complete logical command at a time. Multiline
constructs stay together, and shared setup runs without extra pauses. - Keep application stdin, scripted terminal interactions, and walkthrough
Enter/quit controls separate. - Expected failures preserve the session. Unexpected failures, shell exit,
and timeouts stop the stateful file without silently restarting Bash. - Cleanup owns Windows Job Objects and Linux/macOS terminal-session process
groups, including Bash job-control background jobs.
Shell-enabled documents require Bash, stty, and sleep on PATH. macOS's
built-in Bash 3.2 is supported; native Windows uses Git Bash, not a WSL shim.
No PowerShell or cmd fallback is attempted.
Without shell: bash, existing direct-execution behavior is unchanged. This
minor release adds an opt-in Markdown format feature; it does not rewrite
existing documents.
The executable shell guide and real-terminal stepping tests are included in
the repository. Native Linux, Windows, macOS Intel, and macOS ARM CI cover
the release.
Download the archive for your platform, verify it against SHA256SUMS, and
put mm (mm.exe on Windows) on PATH.