{
  "id": "bottom",
  "name": "bottom",
  "homepage": "https://bottom.pages.dev/",
  "description": "A customizable cross-platform graphical process/system monitor for the terminal.",
  "icon": "SimpleIcons:bottom",
  "executables": [
    "btm"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/bottom/bottom.toml",
      "~/.config/bottom/bottom.toml",
      "%APPDATA%/bottom/bottom.toml"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Monitor the system",
    "description": "Start bottom with common display and process options. Widget layout, colours and the rest of the options live in the config file.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://bottom.pages.dev/nightly/configuration/command-line-options/",
        "revision": "nightly 2026-10-27",
        "evidence": "| `-b`, `--basic`                     | Hides graphs and uses a more basic look.                   |\n| `-C`, `--config_location <PATH>`    | Sets the location of the config file.                      |\n| `-r`, `--rate <TIME>`               | Sets how often data is refreshed.                          |\n| `-e`, `--expanded`                  | Expand the default widget upon starting the app.           |\n| `--default_widget_type <WIDGET>`    | Sets the default widget type. Use --help for more info.    |\n| `-S, --case_sensitive`      | Enables case sensitivity by default when searching.                                    |\n| `-g, --group_processes`     | Groups processes with the same name by default. No effect if `--tree` is set.          |\n| `-R, --regex`               | Enables regex by default while searching.                                              |\n| `-T, --tree`                | Makes the process widget use tree mode by default.                                     |\n| `--read_only`               | Prevents performing any actions that affect the system (e.g. stopping processes).      |\n| `-c, --celsius`    | Use Celsius as the temperature unit. Default. |\n| `-f, --fahrenheit` | Use Fahrenheit as the temperature unit.       |\n| `-k, --kelvin`     | Use Kelvin as the temperature unit.           |\n"
      }
    ],
    "field": [
      {
        "id": "basic",
        "label": "Basic mode",
        "type": "boolean",
        "option": [
          "--basic",
          "-b"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "expanded",
        "label": "Expand default widget",
        "type": "boolean",
        "option": [
          "--expanded",
          "-e"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "option": [
          "--config_location",
          "-C"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "rate",
        "label": "Refresh interval",
        "description": "For example 1s or 500ms.",
        "type": "string",
        "option": [
          "--rate",
          "-r"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "default_widget_type",
        "label": "Default widget",
        "type": "string",
        "option": [
          "--default_widget_type"
        ],
        "suggestions": [
          {
            "value": "cpu",
            "label": "CPU"
          },
          {
            "value": "mem",
            "label": "Memory"
          },
          {
            "value": "net",
            "label": "Network"
          },
          {
            "value": "proc",
            "label": "Processes"
          },
          {
            "value": "temp",
            "label": "Temperature"
          },
          {
            "value": "disk",
            "label": "Disk"
          }
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "tree",
        "label": "Process tree",
        "type": "boolean",
        "option": [
          "--tree",
          "-T"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "group",
        "label": "Group processes by name",
        "type": "boolean",
        "option": [
          "--group_processes",
          "-g"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "regex",
        "label": "Regex search",
        "type": "boolean",
        "option": [
          "--regex",
          "-R"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "case_sensitive",
        "label": "Case-sensitive search",
        "type": "boolean",
        "option": [
          "--case_sensitive",
          "-S"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "read_only",
        "label": "Read only",
        "description": "Prevent actions that affect the system, such as stopping processes.",
        "type": "boolean",
        "option": [
          "--read_only"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "start",
        "label": "Start bottom",
        "fields": [
          "basic",
          "rate",
          "default_widget_type",
          "expanded"
        ]
      },
      {
        "id": "processes",
        "label": "Process-focused view",
        "set": {
          "default_widget_type": [
            "proc"
          ],
          "expanded": [
            true
          ]
        },
        "fields": [
          "default_widget_type",
          "expanded",
          "tree",
          "group",
          "regex",
          "read_only"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "basic",
          "expanded",
          "rate",
          "default_widget_type"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "tree",
          "group",
          "regex",
          "case_sensitive",
          "read_only",
          "config"
        ]
      }
    ]
  }
}
