Skip to content

design.system

What the design is: the fingerprint every stylesheet carries, the identity, the type stacks, the theme contract with the pre-paint statement every surface runs, the audit widths, how many tokens of each kind, and every generated file the declaration is projected into.

What the design is: the fingerprint every stylesheet carries, the identity, the type stacks, the theme contract with the pre-paint statement every surface runs, the audit widths, how many tokens of each kind, and every generated file the declaration is projected into.

  • query
  • behaviorally_verified
  • module design
  • #design
  • #ui
  • #introspection

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_design
resource majordomus://design
HTTPGET /api/v1/design operationId design.system
command line

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · DesignReport

The design system: what it is and where it goes.

propertytyperequireddescription
design string yes The first twelve digits, as every stylesheet carries them in `--mj-design`.
fingerprint string yes SHA-256 of the declaration's canonical form.
font reference yes The two type stacks.
identity reference yes Who this is.
projections array yes Every generated file the declaration is projected into.
schema integer yes The format version of the declaration.
source string yes Where the declaration lives, repository-relative.
tallies reference yes How many of each kind of token.
theme reference yes The theme contract.
viewports array yes The widths a browser audit measures every page at.
JSON Schema
{
  "$defs": {
    "Fonts": {
      "additionalProperties": false,
      "description": "The two type stacks.",
      "properties": {
        "mono": {
          "description": "The monospace stack.",
          "type": "string"
        },
        "sans": {
          "description": "The system stack.",
          "type": "string"
        }
      },
      "required": [
        "sans",
        "mono"
      ],
      "type": "object"
    },
    "Identity": {
      "additionalProperties": false,
      "description": "Who this is.",
      "properties": {
        "logo": {
          "description": "The full logo, relative to the design directory.",
          "type": "string"
        },
        "mark": {
          "description": "The mark, relative to the design directory.",
          "type": "string"
        },
        "name": {
          "description": "The product name every surface shows.",
          "type": "string"
        },
        "social": {
          "description": "The social preview image, relative to the design directory.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "mark",
        "logo",
        "social"
      ],
      "type": "object"
    },
    "ProjectionView": {
      "description": "One generated projection of the design and what it is for.",
      "properties": {
        "path": {
          "description": "Repository-relative path.",
          "type": "string"
        },
        "read_by": {
          "description": "What reads it.",
          "type": "string"
        }
      },
      "required": [
        "path",
        "read_by"
      ],
      "type": "object"
    },
    "ThemeView": {
      "description": "The theme contract as a client reads it.",
      "properties": {
        "bootstrap": {
          "description": "The one pre-paint statement every surface runs.",
          "type": "string"
        },
        "class": {
          "description": "The class on the root element that means dark.",
          "type": "string"
        },
        "storage_key": {
          "description": "The `localStorage` key the person's choice is kept under.",
          "type": "string"
        }
      },
      "required": [
        "class",
        "storage_key",
        "bootstrap"
      ],
      "type": "object"
    },
    "TokenTallies": {
      "description": "How many of each kind of token.",
      "properties": {
        "aliases": {
          "description": "Flowbite names declared as synonyms.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "palette": {
          "description": "Raw palette entries.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "roles": {
          "description": "Semantic roles.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "states": {
          "description": "State words filed under a status.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "statuses": {
          "description": "Status meanings.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "type_steps": {
          "description": "Steps of the type scale.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "palette",
        "roles",
        "statuses",
        "states",
        "type_steps",
        "aliases"
      ],
      "type": "object"
    }
  },
  "description": "The design system: what it is and where it goes.",
  "properties": {
    "design": {
      "description": "The first twelve digits, as every stylesheet carries them in `--mj-design`.",
      "type": "string"
    },
    "fingerprint": {
      "description": "SHA-256 of the declaration's canonical form.",
      "type": "string"
    },
    "font": {
      "$ref": "#/$defs/Fonts",
      "description": "The two type stacks."
    },
    "identity": {
      "$ref": "#/$defs/Identity",
      "description": "Who this is."
    },
    "projections": {
      "description": "Every generated file the declaration is projected into.",
      "items": {
        "$ref": "#/$defs/ProjectionView"
      },
      "type": "array"
    },
    "schema": {
      "description": "The format version of the declaration.",
      "format": "uint64",
      "minimum": 0,
      "type": "integer"
    },
    "source": {
      "description": "Where the declaration lives, repository-relative.",
      "type": "string"
    },
    "tallies": {
      "$ref": "#/$defs/TokenTallies",
      "description": "How many of each kind of token."
    },
    "theme": {
      "$ref": "#/$defs/ThemeView",
      "description": "The theme contract."
    },
    "viewports": {
      "description": "The widths a browser audit measures every page at.",
      "items": {
        "format": "uint32",
        "minimum": 0,
        "type": "integer"
      },
      "type": "array"
    }
  },
  "required": [
    "fingerprint",
    "design",
    "schema",
    "source",
    "identity",
    "font",
    "theme",
    "viewports",
    "tallies",
    "projections"
  ],
  "title": "DesignReport",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directcovered1default
mcpcovered1default
httpcovered1default