{
  "id": "gitui",
  "name": "GitUI",
  "homepage": "https://github.com/gitui-org/gitui",
  "description": "Blazing fast terminal-ui for git written in rust.",
  "executables": [
    "gitui"
  ],
  "dotfiles": {
    "paths": [
      "~/.config/gitui/key_bindings.ron",
      "~/.config/gitui/key_symbols.ron",
      "~/.config/gitui/theme.ron",
      "[configHome]/gitui/key_bindings.ron",
      "[configHome]/gitui/key_symbols.ron",
      "[configHome]/gitui/theme.ron",
      "%APPDATA%/gitui/key_bindings.ron",
      "%APPDATA%/gitui/key_symbols.ron",
      "%APPDATA%/gitui/theme.ron"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Open GitUI",
    "description": "Open the GitUI terminal interface for a repository, with optional theme, keybinding and logging overrides.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "args",
        "kind": "help",
        "url": "https://github.com/gitui-org/gitui/blob/master/src/args.rs",
        "revision": "master 2026-10-27",
        "evidence": "-k, --key-bindings  Use a custom keybindings file\n-s, --key-symbols   Use a custom symbols file\n-t, --theme         Set color theme filename loaded from config directory\n-l, --logging       Store logging output into a file (in the cache directory by default)\n    --logfile       Store logging output into the specified file (implies --logging)\n    --watcher       Use notify-based file system watcher instead of tick-based update.\n    --bugreport     Generate a bug report\n-f, --file          Select the file in the file tab\n-d, --directory     Set the git directory\n-w, --workdir       Set the working directory\n"
      }
    ],
    "field": [
      {
        "id": "workdir",
        "label": "Working directory",
        "type": "path",
        "option": [
          "--workdir",
          "-w"
        ],
        "path": {
          "kind": "directory",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "args"
        ]
      },
      {
        "id": "directory",
        "label": "Git directory",
        "type": "path",
        "option": [
          "--directory",
          "-d"
        ],
        "path": {
          "kind": "directory",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "args"
        ]
      },
      {
        "id": "theme",
        "label": "Theme file",
        "description": "Filename loaded from the config directory.",
        "type": "string",
        "option": [
          "--theme",
          "-t"
        ],
        "sources": [
          "args"
        ]
      },
      {
        "id": "key_bindings",
        "label": "Keybindings file",
        "type": "path",
        "option": [
          "--key-bindings",
          "-k"
        ],
        "path": {
          "kind": "file",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "args"
        ]
      },
      {
        "id": "key_symbols",
        "label": "Symbols file",
        "type": "path",
        "option": [
          "--key-symbols",
          "-s"
        ],
        "path": {
          "kind": "file",
          "role": "input",
          "must_exist": true
        },
        "sources": [
          "args"
        ]
      },
      {
        "id": "file",
        "label": "Select file",
        "description": "File to select in the file tab.",
        "type": "string",
        "option": [
          "--file",
          "-f"
        ],
        "sources": [
          "args"
        ]
      },
      {
        "id": "logging",
        "label": "Write log file",
        "type": "boolean",
        "option": [
          "--logging",
          "-l"
        ],
        "sources": [
          "args"
        ]
      },
      {
        "id": "logfile",
        "label": "Log file path",
        "type": "path",
        "option": [
          "--logfile"
        ],
        "path": {
          "kind": "file",
          "role": "output",
          "must_exist": false
        },
        "effect": "overwrite",
        "sources": [
          "args"
        ]
      },
      {
        "id": "watcher",
        "label": "File system watcher",
        "type": "boolean",
        "option": [
          "--watcher"
        ],
        "sources": [
          "args"
        ]
      },
      {
        "id": "bugreport",
        "label": "Generate bug report",
        "type": "boolean",
        "option": [
          "--bugreport"
        ],
        "sources": [
          "args"
        ]
      }
    ],
    "task": [
      {
        "id": "open",
        "label": "Open a repository",
        "fields": [
          "workdir",
          "theme",
          "watcher"
        ],
        "required": []
      },
      {
        "id": "bugreport",
        "label": "Bug report",
        "fields": [
          "bugreport"
        ],
        "required": [
          "bugreport"
        ],
        "set": {
          "bugreport": [
            true
          ]
        },
        "lock": [
          "bugreport"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "workdir",
          "directory",
          "theme",
          "file",
          "watcher",
          "bugreport"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "key_bindings",
          "key_symbols",
          "logging",
          "logfile"
        ]
      }
    ]
  }
}
