id = "innotop"
name = "innotop"
homepage = "https://github.com/innotop/innotop"
description = "Realtime terminal-based top-like monitor for MySQL."
executables = ["innotop"]
[dotfiles]
paths = []
secret = ["~/.innotop"]
side_effect = false
[commands]
format = 1
label = "Monitor MySQL"
description = "Start innotop against a MySQL server. The password is left out so it does not land in shell history; innotop prompts for it or reads its config."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "pod"
kind = "manual"
url = "https://github.com/innotop/innotop"
revision = "2026-10-27"
evidence = """
=item --host
Host to connect to.
=item --port
Port to use for connection.
=item --user
User to use for connection.
=item --mode
Specifies the mode in which innotop should start.
=item --delay
Specifies the amount of time to pause between ticks (refreshes).
=item --count
Refresh only the specified number of times (ticks) before exiting.
=item --nonint
Enable non-interactive operation.
=item --config
Specifies a configuration file to read.
=item --skipcentral
Don't read the central configuration file.
"""
[[commands.field]]
id = "host"
label = "Host"
type = "string"
option = ["--host"]
sources = ["pod"]
[[commands.field]]
id = "port"
label = "Port"
type = "integer"
option = ["--port"]
sources = ["pod"]
[[commands.field]]
id = "user"
label = "User"
type = "string"
option = ["--user"]
sources = ["pod"]
[[commands.field]]
id = "mode"
label = "Start mode"
type = "string"
option = ["--mode"]
sources = ["pod"]
[[commands.field]]
id = "delay"
label = "Refresh delay (seconds)"
type = "integer"
option = ["--delay"]
sources = ["pod"]
[[commands.field]]
id = "count"
label = "Refresh count"
description = "Exit after this many refreshes."
type = "integer"
option = ["--count"]
sources = ["pod"]
[[commands.field]]
id = "nonint"
label = "Non-interactive"
type = "boolean"
option = ["--nonint"]
sources = ["pod"]
[[commands.field]]
id = "config"
label = "Config file"
type = "path"
path = { kind = "file", role = "input" }
option = ["--config"]
sources = ["pod"]
[[commands.field]]
id = "skipcentral"
label = "Skip central config"
type = "boolean"
option = ["--skipcentral"]
sources = ["pod"]
[[commands.task]]
id = "connect"
label = "Connect to a server"
fields = ["host", "port", "user"]
required = ["host"]
[[commands.task]]
id = "snapshot"
label = "Non-interactive snapshots"
fields = ["host", "user", "nonint", "count", "delay"]
required = ["host"]
set = { nonint = [true], count = [3] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["host", "port", "user", "mode"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["delay", "count", "nonint", "config", "skipcentral"]