# `options`: Typed configuration schema for the MyST plugin ```{py:currentmodule} myform.options ``` `MystOptions` is the single source of truth for every `[plugin.myst]` knob: the argparse CLI group, the read-with-defaults over mdformat's option dict, per-key validation (typo-catching), and a published JSON Schema are all *generated* from its fields. mdformat itself provides no schema, defaults, or validation for plugin options -- it only checks "is this a dict" -- so this is the config foundation the rest of the plugin's options build on, added one field at a time. Read the effective options at render/postprocess time with `MystOptions.from_context`; register the CLI flags with `MystOptions.add_arguments` from `plugin.add_cli_argument_group`. Field defaults reproduce today's behavior, so an empty `[plugin.myst]` is a no-op. `fold_aware_tables` is enabled by default: Markdown table columns measure each cell's serialized inline markup, ignoring only typically-hidden material such as link destinations and targets. `setext_headings` is enabled by default: ordinary Setext headings normalize to ATX, while a list label followed by a unary nested dash remains an empty nested list. ```{eval-rst} .. automodule:: myform.options :members: ```