Screen
Defined in: packages/core/src/types.ts:49
Screen metadata definition for the screen catalog.
Example
Section titled “Example”const screen: Screen = { id: "billing.invoice.detail", title: "Invoice Detail", route: "/billing/invoices/:id", owner: ["billing-team"], tags: ["billing", "invoice"], dependsOn: ["InvoiceAPI.getDetail"], next: ["billing.invoice.edit"],}Properties
Section titled “Properties”allowCycles?
Section titled “allowCycles?”
optionalallowCycles:boolean
Defined in: packages/core/src/types.ts:115
Allow circular navigation involving this screen. When true, cycles that include this screen will not trigger warnings.
Default
Section titled “Default”falseExample
Section titled “Example”truedependsOn?
Section titled “dependsOn?”
optionaldependsOn:string[]
Defined in: packages/core/src/types.ts:93
APIs or services this screen depends on for impact analysis
Examples
Section titled “Examples”["InvoiceAPI.getDetail", "PaymentAPI.getStatus"]["UserAPI.getProfile"]description?
Section titled “description?”
optionaldescription:string
Defined in: packages/core/src/types.ts:121
Optional description explaining the screen’s purpose
Example
Section titled “Example”"Displays detailed invoice information including line items and payment status"entryPoints?
Section titled “entryPoints?”
optionalentryPoints:string[]
Defined in: packages/core/src/types.ts:100
Screen IDs that can navigate to this screen (incoming edges)
Examples
Section titled “Examples”["billing.invoice.list"]["dashboard.home", "nav.sidebar"]id:
string
Defined in: packages/core/src/types.ts:56
Unique identifier for the screen using dot notation
Examples
Section titled “Examples”"billing.invoice.detail""auth.login""settings.profile"links?
Section titled “links?”
optionallinks:ScreenLink[]
Defined in: packages/core/src/types.ts:127
Links to external resources like Storybook, Figma, or documentation
Example
Section titled “Example”[{ label: "Figma", url: "https://figma.com/file/..." }]
optionalmock:ScreenMock
Defined in: packages/core/src/types.ts:134
Wireframe-level mock definition for UI documentation.
When defined, navigation targets (navigateTo, itemNavigateTo, rowNavigateTo)
are automatically extracted and merged into the next array.
optionalnext:string[]
Defined in: packages/core/src/types.ts:107
Screen IDs this screen can navigate to (outgoing edges)
Examples
Section titled “Examples”["billing.invoice.edit", "billing.payment.start"]["billing.invoice.list"]owner?
Section titled “owner?”
optionalowner:string[]
Defined in: packages/core/src/types.ts:79
Team(s) or domain(s) that own this screen
Examples
Section titled “Examples”["billing-team"]["platform", "billing"]route:
string
Defined in: packages/core/src/types.ts:72
Route path pattern with optional dynamic segments
Examples
Section titled “Examples”"/billing/invoices/:id""/auth/login""/settings/profile"
optionaltags:string[]
Defined in: packages/core/src/types.ts:86
Tags for categorization and filtering in the catalog
Examples
Section titled “Examples”["billing", "invoice"]["auth", "security"]title:
string
Defined in: packages/core/src/types.ts:64
Human-readable title displayed in the screen catalog
Examples
Section titled “Examples”"Invoice Detail""Login""User Profile Settings"