{
  "name": "yalc",
  "description": "Work with yarn/npm packages locally like a boss",
  "subcommands": [
    {
      "name": "publish",
      "description": "Copy all the files that should be published in remote NPM registry",
      "options": [
        {
          "names": [
            "--push"
          ],
          "description": "Publish package to the store and propagate all changes to existing yalc package installations"
        },
        {
          "names": [
            "--no-scripts"
          ],
          "description": "Publish without running scripts"
        },
        {
          "names": [
            "--no-sig"
          ],
          "description": "Disable adding hash signature of all files when copying package content"
        },
        {
          "names": [
            "--content"
          ],
          "description": "Show included files in the published package"
        },
        {
          "names": [
            "--no-workspace-resolve"
          ],
          "description": "Do not resolve 'workspace:' protocol in dependencies"
        },
        {
          "names": [
            "--private"
          ],
          "description": "Force publishing of private package"
        }
      ]
    },
    {
      "name": "push",
      "description": "Publish your package to the store and propagate all changes to existing yalc package installations"
    },
    {
      "name": "add",
      "description": "Copy the current version from the store to your project",
      "options": [
        {
          "names": [
            "--link"
          ],
          "description": "Add a 'link:' dependency instead of 'file:'"
        },
        {
          "names": [
            "--dev"
          ],
          "description": "Add yalc package to dev dependencies"
        },
        {
          "names": [
            "--pure"
          ],
          "description": "Do not touch 'package.json' or 'node_modules'"
        },
        {
          "names": [
            "--workspace",
            "-W"
          ],
          "description": "Add dependency with 'workspace:' protocol"
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "The package you want to add"
        }
      ]
    },
    {
      "name": "link",
      "description": "Alterative to 'add', instead using local '.yalc' as symlink source"
    },
    {
      "name": "update",
      "description": "Update package(s)",
      "options": [
        {
          "names": [
            "--update",
            "--upgrade",
            "--up"
          ],
          "description": "Run package manager's update command for packages"
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "The package to update"
        }
      ]
    },
    {
      "name": "remove",
      "description": "Remove package info from 'package.json' & 'yalc.lock'",
      "options": [
        {
          "names": [
            "--all"
          ],
          "description": "Remove all packages from project"
        }
      ],
      "args": [
        {
          "name": "package",
          "description": "The package you want to remove"
        }
      ]
    },
    {
      "name": "installations",
      "subcommands": [
        {
          "name": "clean",
          "description": "Unpublish a package published with yalc publish",
          "args": [
            {
              "name": "package"
            }
          ]
        },
        {
          "name": "show",
          "description": "Show all packages to which chosen package has been added",
          "args": [
            {
              "name": "package"
            }
          ]
        }
      ]
    },
    {
      "name": "dir",
      "description": "Show yalc system directory"
    },
    {
      "name": "check",
      "description": "Check 'package.json' for yalc packages"
    },
    {
      "name": "restore",
      "description": "Restore retreated packages"
    },
    {
      "name": "retreat",
      "description": "Remove packages from project, but leave in lock file (to be restored later)"
    }
  ],
  "options": [
    {
      "names": [
        "--help"
      ],
      "description": "Show help for yalc"
    },
    {
      "names": [
        "--no-colors"
      ],
      "description": "Disable colors"
    },
    {
      "names": [
        "--quiet"
      ],
      "description": "Fully disable output (except errors)"
    }
  ]
}
