{
  "id": "ggc",
  "name": "ggc",
  "homepage": "https://github.com/bmf-san/ggc",
  "description": "Scriptable Git shortcuts with a searchable workflow builder.",
  "executables": [
    "ggc"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/ggc/config.yaml",
      "~/.ggcconfig.yaml",
      "%APPDATA%/ggc/config.yaml"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "ggc Git shortcuts",
    "description": "Stage files, commit and create branches with ggc. Destructive commands (reset, clean, branch delete) and the interactive picker are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "add"
        ],
        "label": "Stage files",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://bmf-san.github.io/ggc/guide/commands/",
            "revision": "2026-10-27",
            "evidence": "ggc add <file>\nggc add file.txt   # Add a specific file\nggc add .          # Add all changes to index\n"
          }
        ],
        "field": [
          {
            "id": "files",
            "label": "Files",
            "description": "Use . to stage everything.",
            "type": "path",
            "path": {
              "kind": "any",
              "role": "input"
            },
            "position": 0,
            "multiple": true,
            "suggestions": [
              {
                "value": ".",
                "label": "All changes"
              }
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "stage",
            "label": "Stage files",
            "fields": [
              "files"
            ],
            "required": [
              "files"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "files"
            ]
          }
        ]
      },
      {
        "path": [
          "commit"
        ],
        "label": "Commit",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://bmf-san.github.io/ggc/guide/commands/",
            "revision": "2026-10-27",
            "evidence": "ggc commit <message>\nggc commit \"Update docs\"        # Create commit with a message\n"
          }
        ],
        "field": [
          {
            "id": "message",
            "label": "Commit message",
            "type": "string",
            "position": 0,
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "commit",
            "label": "Commit staged changes",
            "fields": [
              "message"
            ],
            "required": [
              "message"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "message"
            ]
          }
        ]
      },
      {
        "path": [
          "branch",
          "create"
        ],
        "label": "Create and switch to a branch",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://bmf-san.github.io/ggc/guide/commands/",
            "revision": "2026-10-27",
            "evidence": "ggc branch create feature/login   # Create and checkout new branch\n"
          }
        ],
        "field": [
          {
            "id": "name",
            "label": "Branch name",
            "type": "string",
            "position": 0,
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "create",
            "label": "Create branch",
            "fields": [
              "name"
            ],
            "required": [
              "name"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "name"
            ]
          }
        ]
      }
    ]
  }
}
