This is a top-level introduction to Orgs. If you already know what Orgs are and want to get up and running, jump ahead to "Getting Started".
Orgs is a tool for managing packages and teams of developers. It was created to enable package publishers to handle large numbers of contributors over a set of many packages.
When you create an Organization, you are granted an Organization scope, a unique namespace for packages. The Organization scope will match the name that you give your Organization. For example, if your organization is called "the best", you would register
as "the-best" and get a scope,
@the-best. From there, you can name
your packages whatever you want (according to our guidelines, which are similar to the general package name guidelines.
Use scopes to, for example:
- Maintain a fork of a package, e.g.
- Avoid name disputes with popular names, e.g.
- Improve internal discovery of Organization-supported packages (they're all in a single namespace!)
While you are granted a scope by default when registering as an Org, that doesn't
mean you have to use it. In fact, you can use Orgs to manage unscoped
packages, or even packages under a different scope, such as a user scope,
isaacs is an npm user.
The real benefit of Orgs is that it makes it easier, and in some cases, simply possible, to manage access and visibility of packages across a large team of contributors.
To get the biggest benefit from Orgs:
- Organize your developers into teams.
- Grant team permissions (read/write) to packages you govern, which then cascades to all Members of that team.
This way, certain teams can develop a package (write access) while other teams can use the pacakge but can't modify it (read access). You can set the access that makes sense for your project, for all of the packages that the Organization governs, public unscoped packages and public/private scoped packages alike.
Orgs are free if your Organization only has public packages.
If your Organization needs to also publish and install private packages, an Org will cost you $7/month/user, for each user, including yourself.