{
  "description": "Stage files, commit and create branches with ggc. Destructive commands (reset, clean, branch delete) and the interactive picker are left out.",
  "name": "ggc",
  "subcommands": [
    {
      "name": "add",
      "description": "Stage files",
      "args": [
        {
          "name": "files",
          "description": "Use . to stage everything.",
          "isOptional": true,
          "isVariadic": true,
          "template": "filepaths",
          "suggestions": [
            {
              "name": ".",
              "description": "All changes"
            }
          ]
        }
      ]
    },
    {
      "name": "commit",
      "description": "Commit",
      "args": [
        {
          "name": "message",
          "isOptional": true
        }
      ]
    },
    {
      "name": "branch",
      "subcommands": [
        {
          "name": "create",
          "description": "Create and switch to a branch",
          "args": [
            {
              "name": "name",
              "isOptional": true
            }
          ]
        }
      ]
    }
  ]
}
