{
  "id": "myrepos",
  "name": "myrepos",
  "homepage": "https://myrepos.branchable.com",
  "description": "myrepos provides a mr command, which is a tool to manage all your version control repositories.",
  "executables": [
    "mr"
  ],
  "dotfiles": {
    "paths": [
      "~/.mrconfig",
      "~/.mrtrust"
    ],
    "exclude": [
      "~/.mrlog"
    ],
    "secret": [],
    "side_effect": false
  },
  "commands": {
    "format": 1,
    "label": "Run mr action",
    "description": "Run one mr action (update, status, push, diff) across the registered repositories. Parallel jobs, caching, bootstrap and custom commands are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "manpage",
        "kind": "manual",
        "url": "https://manpages.debian.org/unstable/myrepos/mr.1.en.html",
        "revision": "2026-10-27",
        "evidence": "  update\n  Updates each repository from its configured remote repository.\n  status\n  Displays a status report for each repository, showing what uncommitted\n  push\n  Pushes committed local changes to the remote repository.\n  diff\n  -d directory\n  --directory\n  Specifies the topmost directory that mr should work in.\n  --config mrconfig\n  --force\n  --verbose\n  -v\n  --minimal\n  -m\n  --quiet\n  -q\n  --stats\n  -s\n  --interactive\n  -i\n"
      }
    ],
    "field": [
      {
        "id": "action",
        "label": "Action",
        "type": "enum",
        "position": 0,
        "choices": [
          {
            "value": "update",
            "label": "Update"
          },
          {
            "value": "status",
            "label": "Status"
          },
          {
            "value": "push",
            "label": "Push"
          },
          {
            "value": "diff",
            "label": "Diff"
          }
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "directory",
        "label": "Top directory",
        "description": "Topmost directory mr should work in; defaults to the current directory.",
        "type": "path",
        "option": [
          "--directory",
          "-d"
        ],
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "config",
        "label": "mrconfig file",
        "type": "path",
        "option": [
          "--config"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbose",
        "type": "boolean",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "minimal",
        "label": "Minimal output",
        "type": "boolean",
        "option": [
          "--minimal",
          "-m"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet",
        "type": "boolean",
        "option": [
          "--quiet",
          "-q"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "stats",
        "label": "Expanded statistics",
        "type": "boolean",
        "option": [
          "--stats",
          "-s"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "interactive",
        "label": "Interactive on failure",
        "type": "boolean",
        "option": [
          "--interactive",
          "-i"
        ],
        "sources": [
          "manpage"
        ]
      }
    ],
    "task": [
      {
        "id": "update",
        "label": "Update all repositories",
        "fields": [
          "action"
        ],
        "required": [
          "action"
        ],
        "set": {
          "action": [
            "update"
          ]
        }
      },
      {
        "id": "status",
        "label": "Status of all repositories",
        "fields": [
          "action"
        ],
        "required": [
          "action"
        ],
        "set": {
          "action": [
            "status"
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "action",
          "directory",
          "verbose",
          "quiet"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "config",
          "minimal",
          "stats",
          "interactive"
        ]
      }
    ]
  }
}
