> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lovable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Managed registry

> Set up a managed npm registry inside your Lovable workspace to publish and install packages without exposing them publicly.

Managed registry provides your workspace with its own npm registry, hosted privately inside Lovable. You can publish npm packages directly to it without making them public, and any project in your workspace can install those packages.

Setting up the managed registry is limited to workspace owners and admins. Any editor can view the published packages in the registry.

## Why use a managed registry

Internal teams often maintain private npm packages for shared code like design systems, utility libraries, or proprietary API clients that shouldn't be published publicly. With a managed registry in Lovable, you can:

* Install internal packages in Lovable projects without workarounds.
* Keep proprietary code private and secure.
* Reuse versioned internal libraries consistently across your workspace's projects.

## Common use cases

* **Internal UI component libraries**: install your organization's design system as a private package and use it in Lovable projects.
* **Shared utilities**: use internal validation, formatting, or data-fetching packages across multiple projects.
* **Proprietary integrations**: install internal SDKs or API clients that can't be published publicly.

## Prerequisites

* A **Lovable Enterprise plan**
* **Workspace owner or admin role**

## Set up the managed registry

Setting up the managed registry consists of two parts:

1. **Enable the registry and create a service account key** in Lovable workspace settings.
2. **Configure your code project** by adding the `.npmrc` file, adding the service account key as an `npm-key.json` file, and running authentication against the managed registry using the service account key.

### Part 1: Enable the registry

<Steps>
  <Step title="Open the settings">
    Go to [Managed registry](https://lovable.dev/settings/managed-registry) (**Settings → Build & deploy → Managed registry**).
  </Step>

  <Step title="Provision the registry">
    Select **Provision registry**. Lovable sets up a managed npm registry for your workspace.
  </Step>

  <Step title="Create a service account key">
    When the registry is provisioned, you can create a service account key. Enter a name for the key, and select **Create key**.

    <Warning>
      Save the service account key file immediately after creating it. You will not be able to retrieve it again.
    </Warning>
  </Step>
</Steps>

### Part 2: Configure your code project

<Steps>
  <Step title="Configure the .npmrc file">
    In your code project's root directory, add the managed registry details to the `.npmrc` file.
  </Step>

  <Step title="Add the service account key">
    Add the service account key you downloaded in Part 1 as an `npm-key.json` file in your project.
  </Step>

  <Step title="Authenticate against the registry">
    Run the authentication command using the service account key to authorize your code project to publish to the managed registry.
  </Step>
</Steps>

## View published packages

Once packages are published to your managed registry, you can view them in [Managed registry](https://lovable.dev/settings/managed-registry) (**Settings → Build & deploy → Managed registry**). For each package, you can see the name, the latest published version, and when it was last updated.

## Use a private package

To install a private package in a Lovable project, prompt Lovable with the package name just as you would for any public npm package. For example:

```text wrap theme={null}
Install @my-org/ui-components and use it to replace the current button component.
```

Lovable resolves the package from your configured managed registry automatically.

## Limitations

* Only one managed registry can be configured per workspace.
* Only workspace owners and admins can configure the registry. Editors and viewers cannot access registry settings.

## FAQ

<AccordionGroup>
  <Accordion title="Who can see the registry configuration?">
    Only workspace owners and admins can view and manage the managed registry settings. The authentication token is not shown after it is saved.
  </Accordion>

  <Accordion title="Do all projects in my workspace have access to the registry?">
    Yes. Once configured, the managed registry is available to all projects in the workspace. There is no per-project configuration required.
  </Accordion>

  <Accordion title="Can I use scoped packages from my managed registry?">
    Yes. Scoped packages (for example, `@my-org/package-name`) are supported. Reference the package by its full scoped name when prompting Lovable.
  </Accordion>

  <Accordion title="What if my packages live in an external registry?">
    If your packages are hosted on npmjs, GitHub Packages, GitLab, Artifactory, or another registry you already run, you do not need the managed registry. Add your registry token as a [build secret](/features/build-secrets) instead, and your projects authenticate against the external registry during installs.
  </Accordion>
</AccordionGroup>
