Organizations & Teams

So far you've published under your personal org — the one matching your GitHub username, created for you on first sign-in. To publish with other people — a team, a company, an open-source project — you publish under a shared organization instead.

Create an organization

On the account page, under Organizations, create one. The name becomes the namespace for its packages (acme/widget), so names are first-come, first-served. They're limited to lowercase letters, digits, and hyphens, and a handful (kestrel, std, …) are reserved. You're automatically the new org's first owner.

Roles

Every membership has a role:

  • member — can publish packages under the org.
  • owner — everything a member can, plus manage the team: add and remove members and change roles.

Any member can publish; only owners manage membership. The registry won't let you remove or demote the last owner, so an org always has someone who can administer it.

Add members

As an owner, open the org on the account page and add someone by their username, then pick their role. They need to have signed in at least once so they have an account to add.

Publish under the org

Point your package's org at the shared org:

[package] name = "widget" version = "0.1.0" org = "acme"

Now flock publish uploads acme/widget — as long as you're a member of acme. If you're not, the registry refuses:

{"error":"Not a member of this organization"}

Personal vs shared

Your personal org is always yours and needs no setup — ideal for solo libraries. Reach for a shared org when more than one person needs to publish, or when a project wants a neutral name independent of any one account.

Next: Publishing from CI.