Supported surfaces in v1

Updated Jul 27, 2026

The stable v1 support matrix currently covers these prose surfaces:

  • Markdown files;
  • Python docstrings; and
  • Rust documentation comments.[^4]

MDX remains preview-only. That means the architecture may continue to explore it, but users should not yet depend on MDX behaviour as part of Stilyagi's stable v1 contract.[^4]

When the command-line interface (CLI) discovery contract lands, the stable default recursive file set will cover *.md, *.py, and *.rs. MDX stays outside that default set until preview behaviour graduates into the stable support matrix.

Checking Markdown with `stilyagi check`

The first command-line surface in v1 is stilyagi check for Markdown files. It discovers Markdown targets recursively, resolves the nearest supported configuration for each file, and renders deterministic diagnostics. The command currently analyses Markdown files only (*.md and *.markdown).

Output formats

Use --output-format text (the default) for human-readable output: one line per diagnostic followed by a summary line. Use --output-format json for machine-readable output: a stable JSON document. --output-format sarif is planned for a later slice and is not yet available; requesting it fails with a message stating it is planned but not yet available.

Configuration

Pass --config with an explicit config file path or an inline TOML fragment to supply configuration directly. Use --isolated to bypass configuration discovery entirely.

Standard input

Pass - as the target to read Markdown from standard input instead of from files on disk. Use --stdin-filename PATH to attribute diagnostics to PATH rather than the default <stdin>. Combining - with file targets is a usage error (exit code 2).

Exit codes

The command exits with one of three codes:

  • 0 — no diagnostics found.
  • 1 — one or more diagnostics found.
  • 2 — error: a failed file read, invalid configuration, an extractor failure, or a usage error.

Examples:

stilyagi check .
stilyagi check docs/ --output-format json
stilyagi check README.md --isolated
stilyagi check - --stdin-filename README.md