id = "mmctl" name = "mmctl" homepage = "https://docs.mattermost.com/administration-guide/manage/mmctl-command-line-tool" description = "The Mattermost command-line administration tool" executables = ["mmctl"] [dotfiles] # Mattermost's official mmctl documentation gives the default user config as # $XDG_CONFIG_HOME/mmctl/config. The auth commands store server credentials in # this file, so the file is treated as secret material in full. # https://github.com/mattermost/mmctl/blob/master/docs/mmctl_user.rst # https://docs.mattermost.com/administration-guide/manage/mmctl-command-line-tool paths = ["[configHome]/mmctl/config"] secret = [] [[dotfiles.secret_paths]] file = "[configHome]/mmctl/config" format = "json" match = { key_path = [ "credentials.*.auth_token", "credentials.*.password", "credentials.*.mfa_token", ] } [commands] format = 1 label = "mmctl" description = "Common Mattermost administration jobs: list users and create a channel. Authentication, TLS and other subcommands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["user", "list"] label = "List users" [[commands.subcommand.source]] id = "doc" kind = "manual" url = "https://raw.githubusercontent.com/mattermost/mmctl/master/docs/mmctl_user_list.rst" revision = "master 2026-10-27" evidence = """ --all Fetch all users. --page flag will be ignore if provided --page int Page number to fetch for the list of users --per-page int Number of users to be fetched (default 200) --team string If supplied, only users belonging to this team will be listed --json the output format will be in json format """ [[commands.subcommand.field]] id = "all" label = "All users" type = "boolean" option = ["--all"] sources = ["doc"] [[commands.subcommand.field]] id = "team" label = "Team" type = "string" option = ["--team"] sources = ["doc"] [[commands.subcommand.field]] id = "page" label = "Page" type = "integer" option = ["--page"] sources = ["doc"] [[commands.subcommand.field]] id = "per_page" label = "Users per page" type = "integer" option = ["--per-page"] sources = ["doc"] [[commands.subcommand.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["doc"] [[commands.subcommand.task]] id = "list" label = "List all users" fields = ["all", "team", "json"] set = { all = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["all", "team", "page", "per_page", "json"] [[commands.subcommand]] path = ["channel", "create"] label = "Create a channel" [[commands.subcommand.source]] id = "doc" kind = "manual" url = "https://raw.githubusercontent.com/mattermost/mmctl/master/docs/mmctl_channel_create.rst" revision = "master 2026-10-27" evidence = """ --display-name string Channel Display Name --header string Channel header --name string Channel Name --private Create a private channel. --purpose string Channel purpose --team string Team name or ID """ [[commands.subcommand.field]] id = "team" label = "Team name or ID" type = "string" option = ["--team"] sources = ["doc"] [[commands.subcommand.field]] id = "name" label = "Channel name" type = "string" option = ["--name"] sources = ["doc"] [[commands.subcommand.field]] id = "display_name" label = "Display name" type = "string" option = ["--display-name"] sources = ["doc"] [[commands.subcommand.field]] id = "private" label = "Private channel" type = "boolean" option = ["--private"] sources = ["doc"] [[commands.subcommand.field]] id = "purpose" label = "Purpose" type = "string" option = ["--purpose"] sources = ["doc"] [[commands.subcommand.field]] id = "header" label = "Header" type = "string" option = ["--header"] sources = ["doc"] [[commands.subcommand.task]] id = "create" label = "Create channel" fields = ["team", "name", "display_name", "private"] required = ["team", "name", "display_name"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["team", "name", "display_name", "private", "purpose", "header"]