{
  "id": "rush",
  "name": "Rush",
  "homepage": "https://rushjs.io",
  "description": "Rush makes life easier for JavaScript developers who build and publish many packages from a common Git repo.",
  "icon": "https://raw.githubusercontent.com/microsoft/rushstack/main/common/wiki-images/rush-logo.png",
  "executables": [
    "rush",
    "rushx"
  ],
  "dotfiles": {
    "paths": [
      "~/.rush-user/settings.json"
    ],
    "exclude": [
      "~/.rush/"
    ],
    "secret": [
      "~/.rush-user/credentials.json"
    ],
    "side_effect": false,
    "machine_lines": [
      {
        "file": "~/.rush-user/settings.json",
        "match": {
          "key_path": [
            "buildCacheFolder"
          ]
        },
        "scope": "backup"
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Rush",
    "description": "Common Rush jobs: install, build and add. Project selection is limited to --to, --from and --only.",
    "quality": "ai-draft",
    "base": "fig:rush",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "fig",
        "kind": "completion",
        "url": "https://github.com/withfig/autocomplete/blob/master/src/rush.ts",
        "license": "MIT"
      }
    ],
    "subcommand": [
      {
        "path": [
          "install"
        ],
        "label": "Install dependencies",
        "description": "Install dependencies according to the shrinkwrap file.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/rush.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "purge",
            "label": "Purge first",
            "type": "boolean",
            "option": [
              "--purge",
              "-p"
            ],
            "effect": "delete",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "check_only",
            "label": "Only check shrinkwrap",
            "type": "boolean",
            "option": [
              "--check-only"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "to",
            "label": "Install up to project",
            "type": "string",
            "option": [
              "--to",
              "-t"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "network_concurrency",
            "label": "Network concurrency",
            "type": "integer",
            "option": [
              "--network-concurrency"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "max_attempts",
            "label": "Max install attempts",
            "type": "integer",
            "option": [
              "--max-install-attempts"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "install",
            "label": "Install",
            "fields": [
              "to"
            ]
          },
          {
            "id": "check",
            "label": "Check shrinkwrap",
            "fields": [
              "check_only"
            ],
            "required": [
              "check_only"
            ],
            "set": {
              "check_only": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "to",
              "purge",
              "check_only"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "network_concurrency",
              "max_attempts"
            ]
          }
        ]
      },
      {
        "path": [
          "build"
        ],
        "label": "Build",
        "description": "Build projects that have changed since they were last built.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/rush.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "to",
            "label": "Build up to project",
            "type": "string",
            "option": [
              "--to",
              "-t"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "from",
            "label": "Build from project",
            "type": "string",
            "option": [
              "--from",
              "-f"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "only",
            "label": "Only this project",
            "type": "string",
            "option": [
              "--only",
              "-o"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "parallelism",
            "label": "Parallelism",
            "type": "string",
            "option": [
              "--parallelism",
              "-p"
            ],
            "description": "A positive integer or max.",
            "sources": [
              "fig"
            ]
          },
          {
            "id": "verbose",
            "label": "Show build logs",
            "type": "boolean",
            "option": [
              "--verbose",
              "-v"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "changed_only",
            "label": "Changed projects only",
            "type": "boolean",
            "option": [
              "--changed-projects-only",
              "-c"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "build",
            "label": "Build",
            "fields": [
              "to",
              "from",
              "only",
              "verbose"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "to",
              "from",
              "only",
              "verbose"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "parallelism",
              "changed_only"
            ]
          }
        ]
      },
      {
        "path": [
          "add"
        ],
        "label": "Add dependency",
        "description": "Add dependencies to the current project's package.json and run rush update.",
        "source": [
          {
            "id": "fig",
            "kind": "completion",
            "url": "https://github.com/withfig/autocomplete/blob/master/src/rush.ts",
            "license": "MIT"
          }
        ],
        "field": [
          {
            "id": "package",
            "label": "Package",
            "type": "string",
            "option": [
              "--package",
              "-p"
            ],
            "multiple": true,
            "sources": [
              "fig"
            ]
          },
          {
            "id": "dev",
            "label": "As devDependency",
            "type": "boolean",
            "option": [
              "--dev"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "exact",
            "label": "Exact version",
            "type": "boolean",
            "option": [
              "--exact"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "caret",
            "label": "Caret version",
            "type": "boolean",
            "option": [
              "--caret"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "skip_update",
            "label": "Skip rush update",
            "type": "boolean",
            "option": [
              "--skip-update",
              "-s"
            ],
            "sources": [
              "fig"
            ]
          },
          {
            "id": "make_consistent",
            "label": "Make versions consistent",
            "type": "boolean",
            "option": [
              "--make-consistent",
              "-m"
            ],
            "sources": [
              "fig"
            ]
          }
        ],
        "task": [
          {
            "id": "add",
            "label": "Add",
            "fields": [
              "package",
              "dev",
              "exact"
            ],
            "required": [
              "package"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "package",
              "dev",
              "exact",
              "caret"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "skip_update",
              "make_consistent"
            ]
          }
        ]
      }
    ]
  }
}
