Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
    Init,
    Check {
        diff: bool,
        format: OutputFormat,
    },
    Update {
        dry_run: bool,
        watch: bool,
    },
    List,
    Lsp,
    Mcp,
}

Variants§

§

Init

Initialize mdt in a project by creating a sample template file.

Creates a template.t.md file in the project root with example provider blocks and usage instructions. If the file already exists, this command is a no-op and exits successfully.

§

Check

Check that all consumer blocks are up to date.

Scans all files in the project for consumer blocks and compares their current content against what the matching provider would produce. Exits with a non-zero status code if any consumer blocks are stale.

Ideal for CI pipelines to enforce documentation synchronization. Use --diff to see exactly what changed and --format to control the output style.

Fields

§diff: bool

Show a unified diff for each stale consumer block, highlighting the differences between current and expected content.

§format: OutputFormat

Output format for check results. Use text for human-readable output, json for programmatic consumption, or github for GitHub Actions annotations that appear inline on PRs.

§

Update

Update all consumer blocks with the latest provider content.

Reads provider blocks from *.t.md template files, renders any template variables using data from mdt.toml, applies transformers, and replaces matching consumer block content in all scanned files.

Use --dry-run to preview changes without writing to disk, or --watch to automatically re-run whenever source files change.

Fields

§dry_run: bool

Preview changes without writing files. Prints which files would be modified and shows the updated content.

§watch: bool

Watch for file changes and re-run updates automatically. Monitors template files and consumer files for modifications.

§

List

List all provider and consumer blocks in the project.

Displays every provider block (from *.t.md files) and consumer block found across the project, along with file paths and block names. Useful for auditing template coverage and discovering orphaned consumers.

§

Lsp

Start the mdt language server (LSP).

Communicates over stdin/stdout using the Language Server Protocol. Configure your editor to run mdt lsp as the language server command for markdown and template files.

Provides diagnostics for stale consumers, auto-completion of block names, hover information, and go-to-definition from consumers to their providers.

§

Mcp

Start the mdt MCP (Model Context Protocol) server.

Communicates over stdin/stdout using the Model Context Protocol. Configure your AI assistant to run mdt mcp as an MCP server to give it structured access to mdt’s template system.

Exposes tools for checking, updating, and listing template blocks, allowing AI assistants to manage documentation synchronization.

Trait Implementations§

Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.