{
  "id": "smug",
  "name": "Smug",
  "homepage": "https://github.com/ivaaaan/smug",
  "description": "Session manager and task runner for tmux.",
  "executables": [
    "smug"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/smug/"
    ],
    "exclude": [
      "[configHome]/smug/smug.log"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Smug",
    "description": "Start or stop a tmux session from a project file. Creating, editing and printing projects, and custom ${variable} settings, are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "start"
        ],
        "label": "Start a session",
        "description": "Start a project from ~/.config/smug or a custom file.",
        "source": [
          {
            "id": "smug-readme",
            "kind": "manual",
            "url": "https://github.com/ivaaaan/smug/blob/master/README.md",
            "revision": "master README",
            "evidence": "smug <command> [<project>] [-f, --file <file>] [--worktree <worktree>] [-w, --windows <window>]... [-a, --attach] [-d, --debug]\n-f, --file A custom path to a config file\n--worktree Use the git worktree (by branch or directory name) as the session root\n-w, --windows List of windows to start.\n-a, --attach Force switch client for a session\n-i, --inside-current-session Create all windows inside current session\n-d, --debug Print all commands to ~/.config/smug/smug.log\n--detach Detach session. The same as -d flag in the tmux\nsmug start project\nsmug stop project"
          }
        ],
        "field": [
          {
            "id": "project",
            "label": "Project",
            "type": "string",
            "position": 0,
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "file",
            "label": "Config file",
            "type": "path",
            "option": [
              "--file",
              "-f"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "windows",
            "label": "Only these windows",
            "type": "string",
            "option": [
              "--windows",
              "-w"
            ],
            "multiple": true,
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "worktree",
            "label": "Git worktree (branch or directory)",
            "type": "string",
            "option": [
              "--worktree"
            ],
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "attach",
            "label": "Force switch client",
            "type": "boolean",
            "option": [
              "--attach",
              "-a"
            ],
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "detach",
            "label": "Detach session",
            "type": "boolean",
            "option": [
              "--detach"
            ],
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "inside",
            "label": "Create windows inside current session",
            "type": "boolean",
            "option": [
              "--inside-current-session",
              "-i"
            ],
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "debug",
            "label": "Log commands to smug.log",
            "type": "boolean",
            "option": [
              "--debug",
              "-d"
            ],
            "sources": [
              "smug-readme"
            ]
          }
        ],
        "task": [
          {
            "id": "start",
            "label": "Start a project",
            "fields": [
              "project",
              "windows"
            ],
            "required": [
              "project"
            ]
          },
          {
            "id": "worktree",
            "label": "Start in a worktree",
            "fields": [
              "project",
              "worktree"
            ],
            "required": [
              "project",
              "worktree"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "project",
              "file",
              "windows",
              "worktree",
              "attach"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "detach",
              "inside",
              "debug"
            ]
          }
        ]
      },
      {
        "path": [
          "stop"
        ],
        "label": "Stop a session",
        "description": "Stop a project session, or only some windows.",
        "source": [
          {
            "id": "smug-readme",
            "kind": "manual",
            "url": "https://github.com/ivaaaan/smug/blob/master/README.md",
            "revision": "master README",
            "evidence": "smug <command> [<project>] [-f, --file <file>] [--worktree <worktree>] [-w, --windows <window>]... [-a, --attach] [-d, --debug]\n-f, --file A custom path to a config file\n--worktree Use the git worktree (by branch or directory name) as the session root\n-w, --windows List of windows to start.\n-a, --attach Force switch client for a session\n-i, --inside-current-session Create all windows inside current session\n-d, --debug Print all commands to ~/.config/smug/smug.log\n--detach Detach session. The same as -d flag in the tmux\nsmug start project\nsmug stop project"
          }
        ],
        "field": [
          {
            "id": "project",
            "label": "Project",
            "type": "string",
            "position": 0,
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "file",
            "label": "Config file",
            "type": "path",
            "option": [
              "--file",
              "-f"
            ],
            "path": {
              "kind": "file",
              "role": "input"
            },
            "sources": [
              "smug-readme"
            ]
          },
          {
            "id": "windows",
            "label": "Only these windows",
            "type": "string",
            "option": [
              "--windows",
              "-w"
            ],
            "multiple": true,
            "sources": [
              "smug-readme"
            ]
          }
        ],
        "task": [
          {
            "id": "stop",
            "label": "Stop a project",
            "fields": [
              "project"
            ],
            "required": [
              "project"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "project",
              "file",
              "windows"
            ]
          }
        ]
      }
    ]
  }
}
