2 min read

Getting Started with Boundaries

Use Boundaries to define how teams share and collaborate on code.
Table of Contents

Boundaries are available on Enterprise plans

To set up Boundaries in your repository, you must:

If you've already set up Code Owners or Conformance, you may have already completed some of these steps.

To enable Boundaries for your Enterprise team, you'll need to request access through your Vercel account administrator.

Note: Boundaries is available for Enterprise teams. To add it to your contract or upgrade to Enterprise, contact us

Contact Sales

Vercel distributes packages with the @vercel-private scope through our private npm registry, and requires that each user using the package authenticates through a Vercel account.

To use the private npm registry, you'll need to follow the documentation to:

This section guides you through setting up Boundaries for your repository.

The Boundaries CLI is separate to the Vercel CLI, however it uses the Vercel CLI for authentication.

Before continuing, please ensure that the Vercel CLI is installed and that you are logged in.

Use the CLI to automatically install and Boundaries in your project, and to set up a script. Start by running this command in your workspace root:

pnpm
yarn
npm

pnpm --package=@vercel-private/boundaries dlx vercel-boundaries init

After running, check the installation success by executing:

pnpm
yarn
npm

pnpm boundaries

The Boundaries init command creates the following changes:

  • First, it adds the CLI package to the root package.json (at the root of the workspace) and installs it.
  • It also adds a boundaries script to the scripts in that package.json.

Once you've reviewed these, open a pull request with the changes and merge it.

You can integrate Boundaries in your CI to avoid merging issues into your main branch. To learn more, see Setting up your CI provider.

With certain IDEs, like VS Code, JSON schemas enable autocompletion, documentation, and validation when working with JSON configuration files. Boundaries provides JSON schemas for both boundaries.config.jsonc and boundaries.definitions.jsonc.

In VS Code, you can easily apply these schemas to all supported files by adding these to json.schemas in your .vscode/settings.json file.

.vscode/settings.json
{
  "json.schemas": [
    {
      "fileMatch": ["boundaries.config.json*"],
      "url": "./node_modules/@vercel-private/boundaries/dist/schemas/config.schema.json"
    },
    {
      "fileMatch": ["boundaries.definitions.json*"],
      "url": "./node_modules/@vercel-private/boundaries/dist/schemas/definitions.schema.json"
    }
  ]
}

In the example above, we list both as json* as Boundaries supports both .json and .jsonc file extensions, however, jsonc is recommended for a better experience in IDEs like VS Code.

Last updated on February 22, 2024