Skip to content

v3.13.0: subcommand flags removed (export-model, lint) but documentation still references them (breaking change) #119

@miguelmartens

Description

@miguelmartens

Description

In v3.13.0 the CLI flags for subcommands such as export-model and lint appear to have been removed, which breaks existing usage.

Previously these commands supported flags like:

mxlint-cli export-model \
  --input <path> \
  --output <path> \
  --appstore \
  --verbose

and for linting:

mxlint-cli lint \
  --input <path> \
  --rules <path>

However in v3.13.0 these flags no longer work. For example:

Error: unknown shorthand flag: 'i' in -i

When checking the CLI help output:

mxlint-cli export-model --help
mxlint-cli lint --help

both commands only expose --help, while only global flags remain:

Usage:
  mxlint-cli <subcommand> [flags]

Flags:
  -h, --help   help for <subcommand>

Global Flags:
      --config string   Path to config file (highest precedence)
  -v, --verbose         Turn on debug logs for all commands

Problem

It appears that PR #114 introduced a configuration-file driven approach (mxlint.yaml) and removed the CLI flags for subcommands.

However:

  • The README documentation is not updated
  • The Subcommands Reference still documents the CLI flags
  • Both export-model and lint no longer expose any flags
  • Existing workflows and CI pipelines relying on CLI flags now fail
  • This introduces a breaking change in a minor release (v3.13.0)

Documentation still referencing flags:
https://github.com/mxlint/mxlint-cli/tree/v3.13.0?tab=readme-ov-file#subcommands-reference

Example CI usage that previously worked:

mxlint-cli export-model \
  --input $(Agent.BuildDirectory)/app \
  --output $(Agent.BuildDirectory)/exportmodel \
  --appstore \
  --verbose

Expected

One of the following:

  1. Restore the CLI flags for backwards compatibility, or
  2. Update the documentation (README + Subcommands Reference) and clearly document that configuration via mxlint.yaml is now required.

If the removal of flags is intentional, this should likely be documented as a breaking change.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions