{
  "description": "Sync a Rye project's virtualenv and add dependencies. Other rye subcommands and the less common sync/add switches are left out.",
  "name": "rye",
  "subcommands": [
    {
      "name": "sync",
      "description": "Update the lockfiles and install the dependencies into the virtualenv.",
      "options": [
        {
          "names": [
            "--force",
            "-f"
          ],
          "description": "Re-create virtualenv",
          "isDangerous": true
        },
        {
          "names": [
            "--no-dev"
          ],
          "description": "Skip dev dependencies"
        },
        {
          "names": [
            "--no-lock"
          ],
          "description": "Do not update lockfile"
        },
        {
          "names": [
            "--update"
          ],
          "description": "Update a package",
          "args": {
            "name": "update",
            "isOptional": false
          }
        },
        {
          "names": [
            "--update-all"
          ],
          "description": "Update all packages"
        },
        {
          "names": [
            "--pre"
          ],
          "description": "Allow pre-releases"
        },
        {
          "names": [
            "--all-features"
          ],
          "description": "All features"
        },
        {
          "names": [
            "--verbose",
            "-v"
          ],
          "description": "Verbose"
        }
      ]
    },
    {
      "name": "add",
      "description": "Add a Python package to this project's dependencies.",
      "options": [
        {
          "names": [
            "--dev"
          ],
          "description": "Dev dependency"
        },
        {
          "names": [
            "--optional"
          ],
          "description": "Optional group",
          "args": {
            "name": "optional",
            "isOptional": false
          }
        },
        {
          "names": [
            "--features"
          ],
          "description": "Feature (extra)",
          "args": {
            "name": "features",
            "isOptional": false
          }
        },
        {
          "names": [
            "--git"
          ],
          "description": "Git repository",
          "args": {
            "name": "git",
            "isOptional": false
          }
        },
        {
          "names": [
            "--path"
          ],
          "description": "Local path",
          "args": {
            "name": "path",
            "isOptional": false,
            "template": "folders"
          }
        },
        {
          "names": [
            "--pre"
          ],
          "description": "Allow pre-releases"
        },
        {
          "names": [
            "--sync"
          ],
          "description": "Sync afterwards"
        }
      ],
      "args": [
        {
          "name": "requirements",
          "description": "PEP 508 requirement strings, e.g. flask==2.2.3.",
          "isOptional": false,
          "isVariadic": true
        }
      ]
    }
  ]
}
