id = "tmate" name = "tmate" homepage = "https://tmate.io/" description = "Instant terminal sharing." executables = ["tmate"] platforms = ["macos", "linux"] [dotfiles] # tmate reads ~/.tmate.conf for its client/server settings. The upstream # release notes and source also document API keys and session credentials in # this file, so classify the complete file as a secret. # https://github.com/tmate-io/tmate/releases # https://github.com/tmate-io/tmate/blob/master/tmate-session.c paths = [] exclude = [] secret = ["~/.tmate.conf"] [commands] format = 1 label = "tmate" description = "Create a new tmate (tmux fork) session. Only new-session is modelled; control mode, sockets and other commands are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = true } [[commands.subcommand]] path = ["new-session"] label = "New session" description = "Create a new session, optionally detached and with a name, directory and initial command." [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/unstable/tmate/tmate.1.en.html" revision = "2026-10-27" evidence = """ new-session [-AdDEP] [-c start-directory] [-F format] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [shell-command] (alias: new) Create a new session with name session-name. The new session is attached to the current terminal unless -d is given. window-name and shell-command are the name of and shell command to execute in the initial window. If -d is used, -x and -y specify the size of the initial window (80 by 24 if not given). The -A flag makes new-session behave like attach-session if session-name already exists """ [[commands.subcommand.field]] id = "session_name" label = "Session name" type = "string" option = ["-s"] sources = ["man"] [[commands.subcommand.field]] id = "window_name" label = "Window name" type = "string" option = ["-n"] sources = ["man"] [[commands.subcommand.field]] id = "start_directory" label = "Start directory" type = "path" option = ["-c"] path = { kind = "directory", role = "input" } sources = ["man"] [[commands.subcommand.field]] id = "detached" label = "Detached" description = "Do not attach to the current terminal." type = "boolean" option = ["-d"] sources = ["man"] [[commands.subcommand.field]] id = "attach_existing" label = "Attach if session exists" type = "boolean" option = ["-A"] sources = ["man"] [[commands.subcommand.field]] id = "width" label = "Width (detached)" type = "integer" option = ["-x"] sources = ["man"] [[commands.subcommand.field]] id = "height" label = "Height (detached)" type = "integer" option = ["-y"] sources = ["man"] [[commands.subcommand.field]] id = "shell_command" label = "Shell command" description = "Command to run in the initial window." type = "string" position = 0 sources = ["man"] [[commands.subcommand.task]] id = "named" label = "Named session" fields = ["session_name", "start_directory"] required = ["session_name"] [[commands.subcommand.task]] id = "detached_cmd" label = "Detached, run a command" fields = ["session_name", "shell_command"] required = ["shell_command"] set = { detached = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["session_name", "start_directory", "shell_command", "detached", "attach_existing"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["window_name", "width", "height"]