{"id":13731989,"url":"https://github.com/openupm/openupm-cli","last_synced_at":"2025-04-04T07:09:58.274Z","repository":{"id":36469038,"uuid":"224977451","full_name":"openupm/openupm-cli","owner":"openupm","description":"The OpenUPM-CLI is a command-line interface for maintaining UPM registries.","archived":false,"fork":false,"pushed_at":"2024-04-30T15:33:45.000Z","size":1545,"stargazers_count":232,"open_issues_count":10,"forks_count":12,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-05-01T11:21:48.779Z","etag":null,"topics":["cli","hacktoberfest","openupm","openupm-cli","unity","unity-registry","upm","upm-registry"],"latest_commit_sha":null,"homepage":"https://openupm.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openupm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"openupm"}},"created_at":"2019-11-30T07:42:54.000Z","updated_at":"2024-05-03T09:02:46.569Z","dependencies_parsed_at":"2023-02-18T03:45:50.563Z","dependency_job_id":"777cbd66-50f0-456f-b4e7-d1cb3151c93f","html_url":"https://github.com/openupm/openupm-cli","commit_stats":{"total_commits":165,"total_committers":6,"mean_commits":27.5,"dds":"0.36363636363636365","last_synced_commit":"e19562019367fa530d29a2b755f2328bbdcc2ac8"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openupm%2Fopenupm-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openupm%2Fopenupm-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openupm%2Fopenupm-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openupm%2Fopenupm-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openupm","download_url":"https://codeload.github.com/openupm/openupm-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247135147,"owners_count":20889421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","hacktoberfest","openupm","openupm-cli","unity","unity-registry","upm","upm-registry"],"created_at":"2024-08-03T02:01:43.170Z","updated_at":"2025-04-04T07:09:58.256Z","avatar_url":"https://github.com/openupm.png","language":"TypeScript","readme":"# openupm-cli\n\n![npm](https://img.shields.io/npm/v/openupm-cli) ![NPM](https://img.shields.io/npm/l/openupm-cli) ![npm](https://img.shields.io/npm/dm/openupm-cli)\n\nThe command-line tool to maintain the Unity manifest file for 3rd-party upm registries, offering a similar but lighter experience like *npm* or *yarn* for Node.js.\n\nThe tool is designed to work with [the OpenUPM registry](https://openupm.com), but can also work with any upm registries, including the official Unity registry.\n\n- [openupm-cli](#openupm-cli)\n  - [How it works](#how-it-works)\n  - [Installation](#installation)\n    - [Windows platform troubleshooting](#windows-platform-troubleshooting)\n    - [Cannot find module 'node:net'](#cannot-find-module-nodenet)\n  - [Commands](#commands)\n    - [Add packages](#add-packages)\n    - [Remove packages](#remove-packages)\n    - [Search packages](#search-packages)\n    - [View package information](#view-package-information)\n    - [View package dependencies](#view-package-dependencies)\n    - [Global command options](#global-command-options)\n  - [General help pages](#general-help-pages)\n  - [Contributors](#contributors)\n\n## How it works\n\nThe command-line tool installs the 3rd-party registry as a scoped registry and maintains the `Packages/manifest.json` file when adding/removing packages. If the manifest file is modified, the *Unity Package Manager* will detect the changes and try to resolve the package dependencies.\n\n\u003e Notice: the command-line tool does not directly install/uninstall package tarballs, at least for now.\n\n## Installation\n\n- Requires [nodejs 18 or above](https://nodejs.org/en/download/).\n- Install via npm:\n\n  ```sh\n  npm install -g openupm-cli\n  ```\n\n- Or install via [yarn](https://yarnpkg.com/):\n\n  ```sh\n  yarn global add openupm-cli\n  ```\n\n### Windows platform troubleshooting\n\nIf npm is not available in your CMD/PowerShell/Git-Bash, please configure your [environment variables](https://stackoverflow.com/questions/27864040/fixing-npm-path-in-windows-8-and-10).\n\n```\n# for npm\nc:\\Program Files\\nodejs\n\n# for npm global bin\nC:\\Users\\{yourName}\\AppData\\Roaming\\npm\n```\n\n### Cannot find module 'node:net'\n\n```sh\ninternal/modules/cjs/loader.js:818\n  throw err;\n  ^\n\nError: Cannot find module 'node:net'\n```\n\nPlease install [Node.js 18 or above](https://nodejs.org/en/download/).\n\n## Commands\n\n### Add packages\n\nUse `openupm add` to add one or more dependencies to your project.\n\n```sh\nopenupm add com.my.package@1.2.3\n```\n\nCheckout [the commands doc page](./docs/cmd-add.md) for more information.\n\n### Remove packages\n\nUse `openupm remove` to remove one or more dependencies from your project.\n\n```sh\nopenupm remove com.my.package\n```\n\nCheckout [the commands doc page](./docs/cmd-remove.md) for more information.\n\n### Search packages\n\nUse `openupm search` to search for remote packages by name.\n\n```sh\nopenupm search something\n```\n\nCheckout [the commands doc page](./docs/cmd-search.md) for more information.\n\n### View package information\n\nUse `openupm view` to view detailed information about a remote package.\n\n```sh\nopenupm view com.my.package\n```\n\nCheckout [the commands doc page](./docs/cmd-view.md) for more information.\n\n### View package dependencies\n\nUse `openupm deps` to print package dependencies.\n\n```sh\nopenupm deps com.my.package\n```\n\nCheckout [the commands doc page](./docs/cmd-deps.md) for more information.\n\n### List installed packages\n\nUse `openupm ls` to print the names and versions of installed packages.\n\n```sh\nopenupm ls\n```\n\nCheckout [the commands doc page](./docs/cmd-ls.md) for more information.\n\n### Global command options\n\nThere are also some global options that work for every command. You can read about them [here](./docs/global-opts.md).\n\n## General help pages\n\nWe also have a few guide pages on specific topics if you need help:\n\n- [Working with 3rd party registries](./docs/help-registry.md)\n- [Using Windows system-user authentication](./docs/help-system-user.md)\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://littlebigfun.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/125390?v=4?s=100\" width=\"100px;\" alt=\"Favo Yang\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFavo Yang\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/commits?author=favoyang\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-favoyang\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://comradevanti.itch.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31240807?v=4?s=100\" width=\"100px;\" alt=\"Ramon Brullo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRamon Brullo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/commits?author=ComradeVanti\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-ComradeVanti\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://nowsprinting.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/117617?v=4?s=100\" width=\"100px;\" alt=\"Koji Hasegawa\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKoji Hasegawa\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/commits?author=nowsprinting\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3Anowsprinting\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://blog.xxwhite.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26868745?v=4?s=100\" width=\"100px;\" alt=\"MonoLogueChi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMonoLogueChi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3AMonoLogueChi\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://twitter.com/from2001vr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/387880?v=4?s=100\" width=\"100px;\" alt=\"Masahiro Yamaguchi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMasahiro Yamaguchi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3Afrom2001\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/maxhimmel\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20761855?v=4?s=100\" width=\"100px;\" alt=\"Max Himmel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMax Himmel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3Amaxhimmel\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Zulu-Inuoe\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1526310?v=4?s=100\" width=\"100px;\" alt=\"Wilfredo Velázquez-Rodríguez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eWilfredo Velázquez-Rodríguez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3AZulu-Inuoe\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/TGChrisRArendt\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/47191729?v=4?s=100\" width=\"100px;\" alt=\"Christopher Arendt\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristopher Arendt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3ATGChrisRArendt\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Blackclaws\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5792929?v=4?s=100\" width=\"100px;\" alt=\"Felix Winterhalter\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFelix Winterhalter\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3ABlackclaws\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/alelievr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6877923?v=4?s=100\" width=\"100px;\" alt=\"Antoine Lelievre\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAntoine Lelievre\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3Aalelievr\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://tomorrow.comes.today\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/6391063?v=4?s=100\" width=\"100px;\" alt=\"Tyler Temp\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTyler Temp\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/issues?q=author%3ATylerTemp\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://marcbernardtools.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/59966492?v=4?s=100\" width=\"100px;\" alt=\"Marc Bernard\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarc Bernard\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openupm/openupm-cli/commits?author=mbtools\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","funding_links":["https://patreon.com/openupm"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenupm%2Fopenupm-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenupm%2Fopenupm-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenupm%2Fopenupm-cli/lists"}