Prerequisites#

Warning

Project Neo is currently in Technical Preview. Features described in this section may change before general availability.

Before creating your first extension project, make sure you have everything listed below.

Node.js 22 or Later#

Check your installed version:

node -v

If you need to install or upgrade Node.js, use the official installer or a version manager such as nvm.

A Squirro Instance#

You need access to a running Squirro instance and a refresh token to authenticate API requests during development.

How to Get a Refresh Token#

  1. Log in to your Squirro instance.

  2. Click your profile picture in the top-right corner.

  3. Navigate to My Account → API Access.

  4. Generate a User Token and copy it. You will paste it during nextgen create project.

The token is stored in the project .env file and is used by the local development server to authenticate API calls on your behalf.

GitHub Packages Access#

The @squirro/nextgen-cli and @squirro/nextgen-core packages are published to the GitHub Packages registry under the @squirro scope. Installing them requires a GitHub personal access token with permission to read packages.

Step 1: Create a GitHub Personal Access Token (Classic)#

  1. Go to GitHub → Settings → Developer Settings → Personal access tokens → Tokens (classic).

  2. Click Generate new token → Generate new token (classic).

  3. Give it a name (for example, squirro-packages-read) and an expiry.

  4. Under Select scopes, tick read:packages. Nothing else is required.

  5. Click Generate token and copy it.

Note

A classic token with read:packages is the simplest reliable option. Fine-grained tokens can also work, but reading organization-owned packages requires the squirro organization to allow fine-grained tokens. That is an organization policy you do not control. The read:packages scope on a classic token does not grant access to source code, only to package downloads.

Step 2: Write the Token to Your Global .npmrc#

Replace YOUR_TOKEN with the token from Step 1, then run:

npm config set @squirro:registry=https://npm.pkg.github.com //npm.pkg.github.com/:_authToken=YOUR_TOKEN

npm config set writes to ~/.npmrc automatically. No need to edit the file by hand. To verify:

npm config get @squirro:registry
# → https://npm.pkg.github.com

After npm config set writes the file, restrict its permissions so that only your user account can read it:

chmod 600 ~/.npmrc

Tip

On a corporate machine with a company-wide .npmrc that routes all requests through an internal registry, your user-level ~/.npmrc (written by the command above) takes precedence. If you customize the file by hand later, make sure the @squirro:registry line is not overridden by any catch-all registry settings.

Installing the CLI#

With the .npmrc configured, install the CLI globally:

npm install -g @squirro/nextgen-cli

Verify the installation:

nextgen

You should see the CLI welcome message and a list of available commands.

Updating the CLI#

To update to a newer version, run the same install command with the @latest tag:

npm install -g @squirro/nextgen-cli@latest

To check which version is installed:

npm list -g @squirro/nextgen-cli

Summary Checklist#

  • Node.js 22 or later installed.

  • Squirro instance URL (for example, https://your-instance.example.com).

  • Squirro refresh token.

  • GitHub Packages token added to ~/.npmrc.

  • @squirro/nextgen-cli installed globally.