@suluk/builder - v0.1.11
    Preparing search index...

    Interface DslNode

    @suluk/builder — the tiered contract-narrowing DSL (components → blocks → sections → pages), bound to the Suluk cycle. The mechanism is ported from ~/apps/multivendorbuilder's DSL and rebuilt with the Suluk discipline (typed, tested, projected from live entities instead of hand-authored). The load-bearing idea is the contract: a document's params is EXACTLY and ONLY what the tier above may set — the narrowing is the safety surface, the same discipline as Suluk's per-viewer doc projection.

    The Suluk twist: a SECTION is a full-stack vertical slice (data → contract → docs → state → ui) and a PAGE composes sections — so buildApp emits the backend (routes + v4) AND the frontend (components + page TSX) from one spec. Each slice can also be packaged as a shadcn REGISTRY ITEM (toShadcnRegistry) bundling its frontend + backend files into one installable unit. CANDIDATE tooling — NOT official OAS.

    interface DslNode {
        type: string;
        variant?: string;
        props?: Record<string, unknown>;
        children?: DslChild | DslChild[];
    }
    Index

    Properties

    type: string

    A component (leaf) name, or a block/section doc name.

    variant?: string

    Pick a named preset (variant) on the referenced document.

    props?: Record<string, unknown>

    Inputs for the referenced doc, or props for a component. A value may be a {$bind} into the current doc.

    children?: DslChild | DslChild[]