{
  "name": "mob",
  "description": "Fast git handover for remote collaboration with mob.sh",
  "subcommands": [
    {
      "name": "start",
      "aliases": [
        "s"
      ],
      "description": "Start session from base branch in wip branch",
      "options": [
        {
          "names": [
            "--include-uncommitted-changes",
            "-i"
          ],
          "description": "Move uncommitted changes to wip branch"
        },
        {
          "names": [
            "--branch",
            "-b"
          ],
          "description": "Set wip branch to 'mob/<base-branch>/<branch-postfix>'",
          "takes_arg": true,
          "arg": {
            "name": "branch-postfix"
          }
        }
      ],
      "args": [
        {
          "name": "minutes",
          "description": "Start a <minutes> timer"
        }
      ]
    },
    {
      "name": "next",
      "aliases": [
        "n"
      ],
      "description": "Handover changes in wip branch to next person",
      "options": [
        {
          "names": [
            "--stay",
            "-s"
          ],
          "description": "Stay on wip branch (default)"
        },
        {
          "names": [
            "--return-to-base-branch",
            "-r"
          ],
          "description": "Return to base branch"
        },
        {
          "names": [
            "--message",
            "-m"
          ],
          "description": "Override commit message",
          "takes_arg": true,
          "arg": {
            "name": "commit-message"
          }
        }
      ]
    },
    {
      "name": "done",
      "aliases": [
        "d"
      ],
      "description": "Squashes all changes in wip branch to index in base branch",
      "options": [
        {
          "names": [
            "--no-squash"
          ],
          "description": "Squash no commits from wip branch, only merge wip branch"
        },
        {
          "names": [
            "--squash"
          ],
          "description": "Squash all commits from wip branch"
        },
        {
          "names": [
            "--squash-wip"
          ],
          "description": "Squash wip commits from wip branch, maintaining manual commits"
        }
      ]
    },
    {
      "name": "reset",
      "description": "Removes local and remote wip branch",
      "options": [
        {
          "names": [
            "--branch",
            "-b"
          ],
          "description": "Set wip branch to 'mob/<base-branch>/<branch-postfix>'",
          "takes_arg": true,
          "arg": {
            "name": "branch-postfix"
          }
        }
      ]
    },
    {
      "name": "clean",
      "description": "Removes all orphan wip branches"
    },
    {
      "name": "timer",
      "aliases": [
        "t"
      ],
      "description": "Start a <minutes> timer",
      "args": [
        {
          "name": "minutes"
        }
      ]
    },
    {
      "name": "break",
      "description": "Start a <minutes> break timer",
      "args": [
        {
          "name": "minutes"
        }
      ]
    },
    {
      "name": "status",
      "description": "Show the status of the current session"
    },
    {
      "name": "fetch",
      "description": "Fetch remote state"
    },
    {
      "name": "branch",
      "aliases": [
        "b"
      ],
      "description": "Show remote wip branches"
    },
    {
      "name": "config",
      "description": "Show all configuration options"
    },
    {
      "name": "version",
      "description": "Show the version"
    },
    {
      "name": "help",
      "description": "Show help"
    },
    {
      "name": "moo",
      "description": "Moo!"
    }
  ],
  "options": [
    {
      "names": [
        "--debug"
      ],
      "description": "Enable verbose logging"
    }
  ]
}
