Mudyla - Multimodal Dynamic Launcher
A script orchestrator: define graphs of Python/Bash/etc actions in Markdown files and run them in parallel under Nix environments.
Totally Claude'd.
Based on some ideas from DIStage Dependency Injection, Grandmaster Meta Build System and ix package manager.
Successor of mobala
If you use Scala and SBT, Mudyla works well with Squish.
An example of a real project using this gloomy tool: Baboon.
Documentation
- Installation
- Getting Started
- Core Concepts (Actions, Dependencies, Contexts)
- Reference (CLI, Syntax, API)
Demo
Features
- Markdown-based action definitions: Define actions in readable Markdown files
- Multi-language support: Write actions in Bash or Python
- Dependency graph execution: Automatic dependency resolution and parallel execution
- Multi-version actions: Different implementations based on axis values (e.g., build-mode)
- Multi-context execution: Run the same action multiple times with different configurations
- Axis wildcards: Use
*andprefix*patterns to run actions across multiple axis values - Nix integration: All actions run in Nix development environment (optional on Windows)
- Checkpoint recovery: Resume from previous runs with
--continueflag - Rich CLI output: Beautiful tables, execution plans, and progress tracking
Quick Install
pipx install mudyla
# Or run with Nix
nix run github:7mind/mudyla -- --help
See Installation Guide for more details.
Quick Start
-
Create
.mdl/defs/actions.md:# action: hello-world
```bash
echo "Hello, World!"
ret message:string=Hello
``` -
Run:
mdl :hello-world
See Getting Started for a full tutorial.
Testing
Mudyla uses pytest. Run ./run-tests.sh to execute the suite. See TESTING.md for details.
License
MIT