Markdown Syntax Reference

December 3, 2025 ยท View on GitHub

Mudyla parses Markdown files in .mdl/defs/.

Global Sections

Arguments

# arguments

- `args.name`: Description
  - type: `string` | `int` | `file` | `directory`
  - default: `"value"`

Flags

# flags

- `flags.debug`: Enable debug mode

Environment

# environment

- `LANG=C.UTF-8`

## passthrough

- `HOME`
- `PATH`

Axes

# Axis

- `mode`=`{dev*|prod}`

Action Sections

# action: name

## vars
- `REQUIRED_ENV_VAR`: description

## definition [when `condition`]

```bash
...
```

(Note: Code blocks use triple backticks).

Dependencies

  • dep action.name
  • dep env.NAME
  • soft action.name retain.action.decider
  • weak action.name

Expansions

  • ${sys.project-root}
  • ${env.VAR_NAME}
  • ${args.arg-name}
  • ${flags.flag-name}
  • ${action.action-name.output} (Strong dependency)
  • ${action.weak.action-name.output} (Weak access, returns "" if missing)
  • ${retained.weak.action-name} (Returns "1" if present, "0" if missing)
  • ${retained.soft.action-name} (Alias for above)

Commands (Bash)

Inside Bash blocks, Mudyla injects specific helper functions:

Return Output:

ret name:type=value

Signal Retention (for Soft Dependencies):

retain