Container authentication & security
Supernova handles authentication automatically in sandboxes and production on the system level and you should not attempt to build any kind of authentication to them yourself — it is not necessary.
Sandboxes and production microVMs automatically adhere to the access rules team can set on workspace or project level.
1. What does the Docker image do exactly during supernova container push ?
When CLI template upload command is used, it takes the current execution folder, links private NPM dependencies as file system dependencies and creates a docker image with the files added to the container template + private dependencies
2. How credentials for the private npm registry are handled?
Supernova CLI uses docker secrets to inject NPM token. To make sure you are passing NPM token via docker secrets, make sure to pass in NPM token via command’s --npmToken argument and then consume it in the .npmrc file like this: //registry.npmjs.org/:_authToken={NPM_TOKEN}.
This way the NPM token doesn’t get baked into the image and is never transmitted to Supernova (we only upload private dependencies that the user chose to install in the template).
3. Communication is outbound-only from us to Supernova, correct?
Correct, only outbound communication happens during template upload. Once the template is uploaded, Supernova stores the image and only has access to what is in the image, Supernova system never need to reach customer’s systems. The image can be subsequently updated by using the same CLI command whenever customer decides to do so.
MCP
1. Can Supernova’s MCP also streamline design system data?
Yes! You can find a list of available tool calls dedicated to design system data here.
2. Where does the MCP server run?
It runs in Supernova’s infrastructure, not locally.
Selection mode
Enabling Selection Mode in Code Containers
If your code container was created before March 26, 2026, it does not support Selection Mode by default. To enable it, you must update the container with the required tooling and configuration.
Overview of Required Changes
Selection Mode support depends on three core updates:
- Install the prototyping tooling package
- Register the Vite plugin
- Initialize the client in your app entry point
Prerequisite: Supernova CLI Version
Selection Mode requires a minimum version of the Supernova CLI.
- Required version: 2.0.44 or newer
Check your current version:
supernova --version
If your version is older, update it globally:
npm install -g @supernovaio/cli
Using an older CLI version will result in the container not being properly processed.
1. Install Required Dependency
Add the Supernova prototyping tooling package to your project:
npm install @supernovaio/prototyping-tooling
2. Update Vite Configuration
Modify your vite.config.ts to include the Supernova plugin.
Before
plugins: [errorMonitorPlugin(), react()],
After
import { supernovaDesignPlugin } from "@supernovaio/prototyping-tooling/build";
export default defineConfig({
base: "./",
plugins: [supernovaDesignPlugin(), errorMonitorPlugin(), react()],
...
});
This plugin enables communication between the design tooling and your runtime.
3. Initialize the Client in main.tsx
- Go to /[your-code-container]/src/main.tsx
Import the client package in your entry file:
import "@supernovaio/prototyping-tooling/client";
Your file should look similar to this:
import "./index.css";
import App from "./app.tsx";
import { SnPrototype } from "../supernova/helpers/snPrototype";
import "@supernovaio/prototyping-tooling/client";
This step activates Selection Mode at runtime.
4. Rebuild and Publish the Container
After making the changes:
- Upload the updated code container to Supernova
- Update the prototyping context with the new version of the container
- Publish the updated context to your workspace