{
  "id": "lazygit",
  "name": "lazygit",
  "homepage": "https://github.com/jesseduffield/lazygit",
  "description": "A simple terminal UI for git commands.",
  "icon": "https://user-images.githubusercontent.com/8456633/174470852-339b5011-5800-4bb9-a628-ff230aa8cd4e.png",
  "executables": [
    "lazygit"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/lazygit/config.yml",
      "%LOCALAPPDATA%/lazygit/config.yml",
      "[appData]/jesseduffield/lazygit/config.yml"
    ],
    "exclude": [],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Open lazygit",
    "description": "Start lazygit on a repository, optionally focused on a panel or filtered to a path. Printing config and profiling options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "help",
        "url": "https://github.com/jesseduffield/lazygit/blob/master/pkg/app/entry_point.go",
        "revision": "master 2026-10-27",
        "evidence": "-p, --path   Path of git repo. (equivalent to --work-tree=<path> --git-dir=<path>/.git/)\n-f, --filter   Path to filter on in `git log -- <path>`.\ngit-arg   Panel to focus upon opening lazygit. Accepted values (based on git terminology): status, branch, log, stash.\n-d, --debug   Run in debug mode with logging (see --logs flag below).\n-l, --logs   Tail lazygit logs (intended to be used when `lazygit --debug` is called in a separate terminal tab)\n--screen-mode   The initial screen-mode, which determines the size of the focused panel. Valid options: 'normal' (default), 'half', 'full'\n--use-config-file   Comma separated list to custom config file(s)\nTo override the individual config file used, use the `--use-config-file` arg\n"
      }
    ],
    "field": [
      {
        "id": "path",
        "label": "Repository path",
        "type": "path",
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "option": [
          "--path",
          "-p"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "filter",
        "label": "Filter log to path",
        "type": "path",
        "path": {
          "kind": "any",
          "role": "input"
        },
        "option": [
          "--filter",
          "-f"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "screen_mode",
        "label": "Initial screen mode",
        "type": "enum",
        "option": [
          "--screen-mode"
        ],
        "choices": [
          {
            "value": "normal",
            "label": "Normal"
          },
          {
            "value": "half",
            "label": "Half"
          },
          {
            "value": "full",
            "label": "Full"
          }
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "config_file",
        "label": "Config file(s)",
        "description": "Comma-separated list of config files.",
        "type": "string",
        "option": [
          "--use-config-file"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "debug",
        "label": "Debug mode",
        "type": "boolean",
        "option": [
          "--debug",
          "-d"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "logs",
        "label": "Tail logs",
        "description": "Run in a second tab while another lazygit runs with debug.",
        "type": "boolean",
        "option": [
          "--logs",
          "-l"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "panel",
        "label": "Focus panel",
        "type": "enum",
        "position": 0,
        "choices": [
          {
            "value": "status",
            "label": "Status"
          },
          {
            "value": "branch",
            "label": "Branches"
          },
          {
            "value": "log",
            "label": "Log"
          },
          {
            "value": "stash",
            "label": "Stash"
          }
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "open_repo",
        "label": "Open a repository",
        "fields": [
          "path",
          "panel"
        ],
        "required": [
          "path"
        ]
      },
      {
        "id": "debug",
        "label": "Debug run",
        "fields": [
          "path",
          "debug"
        ],
        "required": [],
        "set": {
          "debug": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "path",
          "panel",
          "filter",
          "screen_mode"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "config_file",
          "debug",
          "logs"
        ]
      }
    ]
  }
}
