Made with Hope

Publishing Packages

Publish any npm or pnpm package to Bit Cloud with the workflow you already use. It is not just a registry — it understands your software.

Already building with Bit? Every component you export is automatically available as a package — npm i @owner/scope.name just works, no publishing step. This guide is for the other direction: bringing existing npm/pnpm packages into Bit as components.

Dependency graph

Published packages link as real dependencies in a live graph — see dependents, impact, and reuse.

Ripple CI

Every version builds in CI, surfacing the downstream effect of a change before you ship it.

Secure

Publishing and access are governed by scope permissions, and every version is immutable.

# 1. Log in to the Bit registry npm login --registry=https://node-registry.bit.cloud # 2. Publish from your package directory pnpm publish # 3. Install it anywhere pnpm add @my-org/design.button

bit login and npm login produce the same token. Configuring .npmrc

How package names map to components

The npm scope is the owner; the rest of the name, split on dots, becomes the Bit scope, then the component name and namespaces:

@my-org/design.button -> my-org.design/button @my-org/design.ui.button -> my-org.design/ui/button @my-org/button -> my-org.general/button

A name with no scope segment falls back to the default general scope (so @my-org/button becomes my-org.general/button). You need write access to the target scope to publish.

Publishing a single package

pnpm publish # or: npm publish

The version is mirrored as a component and built by Ripple CI. Dependencies already on Bit Cloud are linked as component dependencies and join the graph; dependencies that are not published yet stay package dependencies — so publish a package's dependencies before its dependents, or use a batch.

Publishing a monorepo (batch)

pnpm publish -r --batch

Atomic — every package publishes together, or none do.

Graph-correct — packages link to each other regardless of publish order.

One CI build — the whole set builds together, so you see the combined impact at once.

Requires a pnpm version with batch support and a registry that implements the batch endpoint — which Bit Cloud does.

New scope? Publishing to a scope that doesn't exist yet auto-creates it (with a generated name, description, and icon) when you're an owner or org admin of the account — public on free plans, private on paid. Non-admins are rejected.

What you get

A dependency graph that knows how your packages relate across your org.

Ripple CI builds for every version, surfacing downstream impact before release.

Immutable, versioned releases — installable once the build succeeds, never overwritten.

Metadata carried over from package.json: description, keywords (as labels), and deprecated.

Docs and live examples from your package — a README.md, *.docs.* files, and *.composition.* files are picked up automatically (how docs & compositions are handled).

Next steps