https://npm.stackra.figentra.com/
(ADR 0453). It
holds two scopes:
The registry never proxies npmjs: it answers only for these scopes, so every other dependency keeps coming from your
usual registry.
Status, 2026-10-29: the registry is built and the release workflow publishes to it. Version
0.1.0 is not released
yet, so latest is absent; prereleases go out under the next dist-tag (the tooling presets first). Check what is
there with npm view @stackra/<name> dist-tags --registry https://npm.stackra.figentra.com/.Requirements
- Node.js 24 or later (
enginesin every package). - npm, pnpm or Yarn. Packages are ESM only (
dist/*.mjswith.d.mtstypes); there is no CommonJS build (0025 decision 3).
Install the free packages
1
Map the scope
Add one line to the
.npmrc at the root of your project and commit it:2
Install
@stackra is ignored, so a wrong or revoked token never breaks a free install.Install Pro packages
1
Get a licence token
A Pro licence is issued by Figentra when you buy it; each licence carries one or more tokens. A token looks like
stkl_ followed by 43 characters. It is shown once, when it is issued; Figentra keeps only its hash, so a lost
token is replaced, never recovered.Ask for one token per machine or CI system and give each a label. A licence holds up to 20 live tokens (the
registry’s default setting), and each can be revoked on its own.2
Map both scopes and name the token
stackra add) reads the same name.3
Check the token
{ holder, grants, expiresAt, status }: the scopes and names the licence may read, and until when.
npm whoami --registry https://npm.stackra.figentra.com/ prints the holder.4
Install
In CI
Store the token as a secret of your CI system namedSTACKRA_LICENCE_TOKEN and expose it to the install step. Use a
token issued for that CI system, not a developer’s. GitHub Actions:
@stackra/* needs no secret.
What the registry answers
Licence lifecycle
- A revoked token or licence stops working everywhere within about a minute (the registry caches a token check for 60 seconds by default).
- After
expiresAtthe licence keeps reading for a grace period (14 days by default), then reads stop. - Suspension, revocation and expiry never touch what you already installed: nothing in a package calls home (0076).
- An expired licence does not keep access to versions released before it expired (0453, “Decided, with triggers” 2).
- To rotate a token: get the new one, switch your secret, then ask for the old one to be revoked.
Check what you installed
Every version carries a registry signature, and the registry publishes its keys in npm’s format, so npm can check them:https://npm.stackra.figentra.com/-/npm/v1/attestations/@scope%2fname@<version>. See
Security overview for the whole chain.