Use Supernova analyze to scan your design system and usage code, then push snapshots to Supernova for processing. The output becomes a shared, LLM-optimized knowledge layer used by both:
- Portal Create (prototyping agent)
- MCP/CLI workflows (engineering)
This keeps prototyping and implementation aligned with the same source of truth.
What analyze does
Supernova analyze processes:
- TypeScript definitions
- JSDoc
- Markdown documentation
- Storybook stories
- real usage/adoption signals in consumer code
It creates snapshot artifacts and uploads them for backend processing.
Analysis modes
Full pipeline
supernova analyze
Runs both analyzers:
- Components: what exists and how to use it
- Adoption: how it is used in real code
supernova analyze --package @design-system-package
If packages are already configured in supernova.config.json:
supernova analyze
For multiple packages:
supernova analyze --package @design-system-package --package @icons-package
Components flow
supernova analyze components
Use this for a structural design system refresh.
Scans:
- DS package source
- exports/APIs
- TS types, JSDoc, markdown, stories
Produces:
- component metadata
- usage semantics and constraints
- component-level guidance for generation
supernova analyze components --package @design-system-package --package @icons-package
Adoption flow
supernova analyze adoption
Use this for real-world usage refresh.
Scans:
- consumer/workspace packages
- import + usage occurrences
- usage distribution patterns
Produces:
- adoption snapshots
- practical usage patterns
- real-world grounding signals
supernova analyze adoption --package @design-system-package
Integration topologies
Unified monorepo (single root scan)
Use this when design system packages and consumer apps live in one monorepo.
How to run:
- Execute from monorepo root
- Provide all DS packages as -package (or persist in config)
- Run full pipeline for complete context
# one-off run
supernova analyze \\
--package @company/design-system \\
--package @company/icons \\
--package @company/primitives
# after packages are saved in supernova.config
supernova analyze
When to use:
- centralized platform ownership
- easiest operational model
- best end-to-end visibility in a single run
Distributed multi-repo
Use this when teams run separate CI pipelines in separate repositories.
How to run:
- Run Analyze independently in each repo
- Keep package naming and target designSystemId consistent
- Use async mode in CI and monitor centrally
# repo A pipeline
supernova analyze --package @company/design-system --no-wait
# repo B pipeline
supernova analyze adoption --package @company/design-system --no-wait
# monitor processing
supernova analyze status --designSystemId <id>
When to use:
- federated orgs
- autonomous team pipelines
- repo-level rollout control with shared DS identity
Typical flows
Full data refresh
supernova analyze --package @design-system-package
DS API/docs changed
supernova analyze components --package @design-system-package
Consumer rollout changed
supernova analyze adoption --package @design-system-package
CI async run
supernova analyze --package @design-system-package --no-wait
Preflight without upload
supernova analyze --package @design-system-package --dryRun
Monitor processing
supernova analyze status --designSystemId <id>
Command reference
supernova analyze [components|adoption] --package <package-name> [--package <package-name>...]
supernova analyze status [--designSystemId <id>]
Arguments
|
Name |
Required |
Description |
|---|---|---|
|
[components\|adoption] |
No |
Optional targeted mode. Omit to run full pipeline. |
Flags
|
Flag |
Short |
Required |
Description |
|---|---|---|---|
|
--package <value> |
-p |
Conditionally |
Repeatable. Required only when analyze.packages is not configured. |
|
--designSystemId <id> |
-d |
No |
Uses provided design system ID; otherwise from config/prompt. |
|
--exclude <path> |
|
No |
Repeatable path exclusion for analyzers. |
|
--dryRun |
|
No |
Write local snapshots only; skip upload. |
|
--no-wait |
|
No |
Upload and start processing, do not wait for completion. |
Configuration
Analyze reads/writes supernova.config.json in the current directory.
Example:
{
"designSystemId": "123",
"analyze": {
"repoId": "7c8e9b6b-4c0a-4dbd-8f78-2d5c3d6a9f10",
"packages": ["@design-system-package", "@icons-package"],
"excludedPackages": ["excluded-package"]
}
}
Stored fields:
- designSystemId
- analyze.repoId
- analyze.packages
- analyze.excludedPackages
Output artifacts
Snapshots are written under:
<package>/.supernova/snapshots/<snapshotId>/
Primary files:
- raw/*.json analyzer outputs
Upload and processing lifecycle
- CLI uploads snapshot archives
- CLI finalizes snapshots
- CLI starts processing runs
- CLI waits for completion (default)
Use --no-wait to skip step 4 in CI.
Best practices
- Run full pipeline regularly (for example after releases).
- Use targeted modes for faster incremental updates.
- Keep analyze.packages explicit and versioned.
- Use -dryRun before widening analysis scope.
- Use -exclude to reduce noise.
- In CI, use -no-wait plus supernova analyze status.