Code-First Definition
Define screen metadata in TypeScript alongside your routes. Type-safe, version-controlled, and always in sync with your code.
Declare screens in code, auto-generate screen catalog, navigation graph, and impact analysis.
Code-First Definition
Define screen metadata in TypeScript alongside your routes. Type-safe, version-controlled, and always in sync with your code.
Navigation Graph
Visualize how users flow through your application with auto-generated Mermaid diagrams.
Impact Analysis
Know which screens are affected when APIs change. Analyze PR impact before merging.
CI Integration
Prevent documentation drift with lint checks. Fail CI when screens are missing metadata.
import { defineScreen } from "screenbook"
export const screen = defineScreen({ id: "billing.invoice.list", title: "Invoice List", route: "/billing/invoices", owner: ["billing-team"], tags: ["billing", "invoice"], dependsOn: ["InvoiceAPI.list"], next: ["billing.invoice.detail", "billing.invoice.create"],})