Operazioni sul design system

20 operazioni di nome designSystem.*. Ognuna si esegue in un batch con apply_ops, dry_run_ops, la CLI o l’admin.

Aggiornato il
OperationWhat it doesPermissionConfirmation
designSystem.promoteVariantPromote authored component overrides to a reusable variant and reattach the node.designSystem.promotenone
designSystem.setTokenWrite one token ({ set, path, type, value }), under the AA contrast gate and the token group rules.designSystem.operationnone
designSystem.setTokensWrite many tokens as one change, gated once for AA contrast on the end state, so one undo restores the lot.designSystem.operationnone
designSystem.setComponentCellSet cells of one design-system component in one save: each { cell, value }, the cell key <variant>.<size>.<state>.<part>.<breakpoint>.<property> (primary.all.hover.container.base.background: all when the value does not vary by size, base or a breakpoint id).designSystem.operationnone
designSystem.createVariantAdd a variant to a design-system component, such as a light or a small button, a pill tag or a dark card: variant (its key, kebab case), label, and from, the variant whose cells it copies as the same aliases, so the new one follows the system until one of its cells changes.designSystem.operationnone
designSystem.createThemeAdd a theme ({ key, label, sets in precedence order, activation? }) as a draft, under the AA contrast gate: the previews show it, and a publish ships it only where a node names it (node theme, an instance's $theme, a data-theme attribute; the publish answer lists it in draftThemes).designSystem.operationnone
designSystem.activateSetAdd a token set to the sets of a theme (theme, set): the set takes its place in the precedence order the sets follow, so there is no position to choose, and its tokens apply wherever the theme does.designSystem.operationnone
designSystem.setSchemeSet the design-system theme a page node and its subtree draw in (pageId, nodeId, theme; null makes the node inherit its parent's again), as tree.commit set_theme does: the write goes through the tree commit's gates and needs the page's tree:<pageId> base revision.designSystem.operationnone
designSystem.resetToBlueprintRemove site overrides so the blueprint's values apply again, in one revision.designSystem.operationdestructive
designSystem.importTokensImport tokens from DTCG files in the Tokens Studio layout (one file per set plus $themes, loose or zipped as base64) or from a Figma variables export (collections become sets, modes themes); mapping renames imported paths to existing ones.designSystem.operationnone
designSystem.diffRead every override the draft holds over its blueprint (tokens, cells, variants, themes, sets, mixins).designSystem.operationnone
designSystem.lintCheck the draft design system: every contrast pair below AA or AAA, the pairs that cannot be judged, the missing media assets and the lint rules' findings, with the draft's overrides.designSystem.operationnone
designSystem.createSetAdd an empty token set key after set after in the precedence order.designSystem.operationnone
designSystem.updateThemeEdit a theme: its label, its sets in precedence order, its activation rule, isDefault (the former default stops being it; a default takes no rule and is never a draft) or draft.designSystem.operationnone
designSystem.updateVariantRelabel a component variant or hide it (hidden: true): a hidden variant still draws wherever a node uses it, and the pickers leave it out.designSystem.operationnone
designSystem.deleteVariantDelete a variant the site added, with its cells.designSystem.operationdestructive
designSystem.setMixinCreate or update a mixin, a surface nodes apply by key with tree.commit set_mixins (a pattern background, a card surface): key, label and sheet, CSS property to value in the order written, with tokens as {path}.designSystem.operationnone
designSystem.deleteMixinDelete a mixin the site added.designSystem.operationdestructive
designSystem.readRead the draft design system's index: its revision, sets, themes, every component with its variant keys, and every token group with its number of paths.designSystem.operationnone
designSystem.readComponentRead the cells of one design-system component, filtered and paged: variant, size, state, part, breakpoint and property keep the cells whose key segment equals them (a cell key is <variant>.<size>.<state>.<part>.<breakpoint>.<property>), and own: true keeps only the cells set at their own key, leaving out the inherited ones.designSystem.operationnone

designSystem.promoteVariant

Promote authored component overrides to a reusable variant and reattach the node.

permission: designSystem.promotewrites: designSystem, tree:{pageId}class: transactionundo: yes

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f",
  "nodeId": "claim001",
  "variant": "claim",
  "label": "Claim"
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.
nodeIdstringyes
variantstringyes
labelstringyesAt least 1 character. At most 120 characters.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.promoteVariant '{"pageId":"6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f","nodeId":"claim001","variant":"claim","label":"Claim"}' --dry-run

designSystem.setToken

Write one token ({ set, path, type, value }), under the AA contrast gate and the token group rules. A dimension token (a type.*.fontSize, a space step, a radius) may be fluid: its value may be a clamp(), calc(), min() or max(), such as clamp(2.125rem, 1.2rem + 3.9vw, 6.4rem). A fluid size suits pages on a breakpoint frame; on a page whose frame scales (responsiveMode: "scale") the canvas already scales, so a vw size there scales twice. To scale spacing, write a scale factor instead of every step: a number token named scale in a space group multiplies every dimension of that group and its subgroups (space.section-y.scale: 0.75 makes every section spacing 25 % tighter, space.scale scales all spacing; above 0).

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "set": "core",
  "path": "radius.md",
  "type": "dimension",
  "value": "9px"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
setstringyesAt least 1 character.
pathstringyesAt least 1 character.
typestringyesAt least 1 character.
valuevalueyes
descriptionstringno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.setToken '{"set":"core","path":"radius.md","type":"dimension","value":"9px"}' --dry-run

designSystem.setTokens

Write many tokens as one change, gated once for AA contrast on the end state, so one undo restores the lot. A dimension token (a type.*.fontSize, a space step, a radius) may be fluid: its value may be a clamp(), calc(), min() or max(), such as clamp(2.125rem, 1.2rem + 3.9vw, 6.4rem). A fluid size suits pages on a breakpoint frame; on a page whose frame scales (responsiveMode: "scale") the canvas already scales, so a vw size there scales twice. To scale spacing, write a scale factor instead of every step: a number token named scale in a space group multiplies every dimension of that group and its subgroups (space.section-y.scale: 0.75 makes every section spacing 25 % tighter, space.scale scales all spacing; above 0).

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "writes": [
    {
      "set": "core",
      "path": "color.palette.neutral.900",
      "type": "color",
      "value": "#4a4a4a"
    },
    {
      "set": "semantic-dark",
      "path": "color.text.faint",
      "type": "color",
      "value": "rgba(255, 255, 255, 0.7)"
    }
  ]
}

Input

FieldTypeRequiredNotes
writesarray of objectyesAt least 1 item.
writes[].layerstringnoOne of "site", "blueprint".
writes[].setstringyesAt least 1 character.
writes[].pathstringyesAt least 1 character.
writes[].typestringyesAt least 1 character.
writes[].valuevalueyes
writes[].descriptionstringno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.setTokens '{"writes":[{"set":"core","path":"color.palette.neutral.900","type":"color","value":"#4a4a4a"},{"set":"semantic-dark","path":"color.text.faint","type":"color","value":"rgba(255, 255, 255, 0.7)"}]}' --dry-run

designSystem.setComponentCell

Set cells of one design-system component in one save: each { cell, value }, the cell key <variant>.<size>.<state>.<part>.<breakpoint>.<property> (primary.all.hover.container.base.background: all when the value does not vary by size, base or a breakpoint id). A value is a token alias such as {color.bg.accent} (a semantic or foundation token, never a palette step or a raw literal), a bare keyword for a property whose values are modes (a link underline's none, always, hover), or { component, variant } for a part that embeds another component. Read the cell keys of a component with the component/<key> resource (designSystem.readComponent) and the segments with designSystem.read components: true. The menu dialog's drawer is the drawer-nav component: its overlay cells (background, opacity, blur), panel cells (background, width, padding, shadow, z, radius, offset-x, offset-y, fit) and motion cells (delay, duration, easing, fade) style it, such as full.all.default.overlay.base.blur. Every save runs the AA contrast gate.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "component": "button",
  "cells": [
    {
      "cell": "primary.all.hover.container.base.background",
      "value": "{color.bg.accent-strong}"
    }
  ]
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
componentstringyesAt least 1 character.
cellsarray of objectyesAt least 1 item.
cells[].cellstringyesAt least 1 character.
cells[].valuestring | objectyes

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.setComponentCell '{"component":"button","cells":[{"cell":"primary.all.hover.container.base.background","value":"{color.bg.accent-strong}"}]}' --dry-run

designSystem.createVariant

Add a variant to a design-system component, such as a light or a small button, a pill tag or a dark card: variant (its key, kebab case), label, and from, the variant whose cells it copies as the same aliases, so the new one follows the system until one of its cells changes. Change its cells with setComponentCell and draw it on a node with tree.commit set_variant { id, variant }. Under the AA contrast gate.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "component": "button",
  "variant": "ghost",
  "label": "Ghost",
  "from": "primary"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
componentstringyesAt least 1 character.
variantstringyesAt least 1 character.
labelstringyesAt least 1 character.
fromstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.createVariant '{"component":"button","variant":"ghost","label":"Ghost","from":"primary"}' --dry-run

designSystem.createTheme

Add a theme ({ key, label, sets in precedence order, activation? }) as a draft, under the AA contrast gate: the previews show it, and a publish ships it only where a node names it (node theme, an instance's $theme, a data-theme attribute; the publish answer lists it in draftThemes). A draft's activation rule never applies on the public site: clear the draft flag with updateTheme to make the theme live by its rule.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "key": "night",
  "label": "Night",
  "sets": [
    "core",
    "semantic-dark"
  ]
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
keystringyesAt least 1 character.
labelstringyesAt least 1 character.
setsarray of stringyesAt least 1 item.
activationobjectno
activation.prefersColorSchemestringnoOne of "light", "dark".
activation.hostnamestringno
activation.pathPrefixstringno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.createTheme '{"key":"night","label":"Night","sets":["core","semantic-dark"]}' --dry-run

designSystem.activateSet

Add a token set to the sets of a theme (theme, set): the set takes its place in the precedence order the sets follow, so there is no position to choose, and its tokens apply wherever the theme does. Under the AA contrast gate.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "theme": "night",
  "set": "semantic-dark"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
themestringyesAt least 1 character.
setstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.activateSet '{"theme":"night","set":"semantic-dark"}' --dry-run

designSystem.setScheme

Set the design-system theme a page node and its subtree draw in (pageId, nodeId, theme; null makes the node inherit its parent's again), as tree.commit set_theme does: the write goes through the tree commit's gates and needs the page's tree:<pageId> base revision.

permission: designSystem.operationwrites: tree:{pageId}class: transactionundo: yes

Esempio di input

{
  "pageId": "6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f",
  "nodeId": "claim001",
  "theme": "night"
}

Input

FieldTypeRequiredNotes
pageIdstringyesAt least 1 character.
nodeIdstringyes
themestring | nullyes

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.setScheme '{"pageId":"6f1d2c3b-4a59-4e8d-9c7b-1a2b3c4d5e6f","nodeId":"claim001","theme":"night"}' --dry-run

designSystem.resetToBlueprint

Remove site overrides so the blueprint's values apply again, in one revision. scope names what: { kind: "all" }, one token ({ set, path }), every token under a path prefix, a component, some cells of a component, a variant, a theme, a site set, or many of these. A token the site added is deleted, which is refused (409) while a cell still aliases it.

permission: designSystem.operationwrites: designSystemclass: transactionconfirm: destructiveundo: yes

Esempio di input

{
  "scope": {
    "kind": "prefix",
    "prefix": "color.brand"
  }
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
scopeobject | object | object | object | object | object | object | object | objectyes

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Vuole confirmed: ["destructive"] sul batch, che la forma della CLI per una sola operazione non imposta: mettila in un file di batch ed esegui yarn splash apply <file> --dry-run.

designSystem.importTokens

Import tokens from DTCG files in the Tokens Studio layout (one file per set plus $themes, loose or zipped as base64) or from a Figma variables export (collections become sets, modes themes); mapping renames imported paths to existing ones. Run it as a dry run first: the answer's report lists the adds, the changes, the type conflicts and the unknown names, and nothing is written. A confirmed import lands as one revision under the AA contrast gate.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "format": "dtcg",
  "files": [
    {
      "name": "tokens.json",
      "text": "{\"color\":{\"brand\":{\"$type\":\"color\",\"$value\":\"#1e3d4f\"}}}"
    }
  ]
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
formatstringyesOne of "dtcg", "figma".
filesarray of object | objectyesAt least 1 item.
mappingrecord of stringnoDefault {}.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.importTokens '{"format":"dtcg","files":[{"name":"tokens.json","text":"{\"color\":{\"brand\":{\"$type\":\"color\",\"$value\":\"#1e3d4f\"}}}"}]}' --dry-run

designSystem.diff

Read every override the draft holds over its blueprint (tokens, cells, variants, themes, sets, mixins). Over MCP it answers a summary (their count and names, the stylesheet's size); pass full: true for every override with its blueprint and site values, and the stylesheet.

permission: designSystem.operationreads onlyclass: read

Esempio di input

{}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
fullbooleanno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.diff '{}' --dry-run

designSystem.lint

Check the draft design system: every contrast pair below AA or AAA, the pairs that cannot be judged, the missing media assets and the lint rules' findings, with the draft's overrides. Over MCP it answers a summary (counts by severity and reason, the worst findings first, the override names, the stylesheet's size); pass full: true for every finding, every override and the stylesheet.

permission: designSystem.operationreads onlyclass: read

Esempio di input

{}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
fullbooleanno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.lint '{}' --dry-run

designSystem.createSet

Add an empty token set key after set after in the precedence order. No theme uses it until activateSet or updateTheme lists it.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "key": "brand-sub",
  "label": "Sub-brand",
  "after": "semantic-light"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
keystringyesAt least 1 character.
labelstringyesAt least 1 character.
afterstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.createSet '{"key":"brand-sub","label":"Sub-brand","after":"semantic-light"}' --dry-run

designSystem.updateTheme

Edit a theme: its label, its sets in precedence order, its activation rule, isDefault (the former default stops being it; a default takes no rule and is never a draft) or draft. draft: false makes the theme live: published wherever its rule applies or a node names it. A draft theme is published only where a node names it.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "key": "night",
  "label": "Night",
  "isDefault": false
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
keystringyesAt least 1 character.
labelstringnoAt least 1 character.
setsarray of stringnoAt least 1 item.
isDefaultbooleanno
draftbooleanno
activationobjectno
activation.prefersColorSchemestringnoOne of "light", "dark".
activation.hostnamestringno
activation.pathPrefixstringno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.updateTheme '{"key":"night","label":"Night","isDefault":false}' --dry-run

designSystem.updateVariant

Relabel a component variant or hide it (hidden: true): a hidden variant still draws wherever a node uses it, and the pickers leave it out.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "component": "button",
  "variant": "ghost",
  "label": "Ghost, quiet"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
componentstringyesAt least 1 character.
variantstringyesAt least 1 character.
labelstringnoAt least 1 character.
hiddenbooleanno

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.updateVariant '{"component":"button","variant":"ghost","label":"Ghost, quiet"}' --dry-run

designSystem.deleteVariant

Delete a variant the site added, with its cells. A variant the blueprint ships is refused (hide it with updateVariant), and so is one a cell or a node uses (409, with the usage).

permission: designSystem.operationwrites: designSystemclass: transactionconfirm: destructiveundo: yes

Esempio di input

{
  "component": "button",
  "variant": "ghost"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
componentstringyesAt least 1 character.
variantstringyesAt least 1 character.

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Vuole confirmed: ["destructive"] sul batch, che la forma della CLI per una sola operazione non imposta: mettila in un file di batch ed esegui yarn splash apply <file> --dry-run.

designSystem.setMixin

Create or update a mixin, a surface nodes apply by key with tree.commit set_mixins (a pattern background, a card surface): key, label and sheet, CSS property to value in the order written, with tokens as {path}. The sheet takes the properties of the style catalogue, no !important, and semantic or foundation tokens of a group the property takes, each defined in some theme of the draft.

permission: designSystem.operationwrites: designSystemclass: transactionundo: yes

Esempio di input

{
  "key": "band",
  "label": "Band",
  "sheet": {
    "padding-block": "{space.md}",
    "border-top": "1px solid {color.border.default}"
  }
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
keystringyes
labelstringyesAt least 1 character.
sheetrecord of stringyes

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.setMixin '{"key":"band","label":"Band","sheet":{"padding-block":"{space.md}","border-top":"1px solid {color.border.default}"}}' --dry-run

designSystem.deleteMixin

Delete a mixin the site added. A mixin the blueprint ships is refused, and so is one a draft node applies (the refusal names the nodes).

permission: designSystem.operationwrites: designSystemclass: transactionconfirm: destructiveundo: yes

Esempio di input

{
  "key": "band"
}

Input

FieldTypeRequiredNotes
layerstringnoOne of "site", "blueprint".
keystringyes

Output

FieldTypeRequiredNotes
treeobjectno
tree.pageIdstringyes
tree.revisionintegeryes
tree.inversearray of object | object | object | object | object | object | object | object | object | object | object | object | objectyes
findingsarray of object | object | object | object | objectyes
diffarray of object | object | object | object | object | objectyes
changesarray of objectno
changes[].changestringyesOne of "added", "changed", "removed".
changes[].overrideobject | object | object | object | object | objectyes
changedbooleanyes
revisionintegeryes
dryRunbooleanyes
cssstring | nullyes
reportobjectno
report.addsarray of objectyes
report.changesarray of objectyes
report.typeConflictsarray of objectyes
report.unknownNamesarray of objectyes

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Vuole confirmed: ["destructive"] sul batch, che la forma della CLI per una sola operazione non imposta: mettila in un file di batch ed esegui yarn splash apply <file> --dry-run.

designSystem.read

Read the draft design system's index: its revision, sets, themes, every component with its variant keys, and every token group with its number of paths. Ask for more with tokens (the groups whose paths and values to include, such as ["color.palette", "space"]), components: true (each component's sizes, states and parts, the segments of a setComponentCell key), css: true (the compiled stylesheet, about 240 KB on a large site) or embeds: true. The default answer stays small; read one component's cells with designSystem.readComponent.

permission: designSystem.operationreads onlyclass: read

Esempio di input

{
  "tokens": [
    "color.palette"
  ]
}

Input

FieldTypeRequiredNotes
indexbooleanno
tokensarray of stringnoAt most 32 items.
componentsbooleannoDefault false.
cssbooleannoDefault false.
embedsbooleannoDefault false.

Output

FieldTypeRequiredNotes
revisionintegeryes
detachedarray of objectno
detached[].componentstringyes
detached[].countintegeryesAt least 0.
setsarray of objectno
sets[].keystringyes
sets[].labelstringyes
sets[].positionintegeryes
sets[].siteAddedbooleanyes
themesarray of objectno
themes[].keystringyes
themes[].labelstringyes
themes[].setsarray of stringyes
themes[].isDefaultbooleanno
themes[].draftbooleanno
themes[].activationobjectno
componentsarray of objectno
components[].keystringyes
components[].labelstringyes
components[].groupstringyes
components[].variantsarray of stringyes
components[].hiddenVariantsarray of stringyes
tokenGroupsarray of objectno
tokenGroups[].groupstringyes
tokenGroups[].countintegeryesAt least 0.
tokensarray of objectno
tokens[].groupstringyes
tokens[].tokensarray of objectyes
componentSpecsarray of objectno
componentSpecs[].keystringyes
componentSpecs[].labelstringyes
componentSpecs[].groupstringyes
componentSpecs[].variantsarray of objectyes
componentSpecs[].sizesarray of stringyes
componentSpecs[].statesarray of stringyes
componentSpecs[].partsarray of object | objectyes
cssstringno
embedsrecord of record of objectno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.read '{"tokens":["color.palette"]}' --dry-run

designSystem.readComponent

Read the cells of one design-system component, filtered and paged: variant, size, state, part, breakpoint and property keep the cells whose key segment equals them (a cell key is <variant>.<size>.<state>.<part>.<breakpoint>.<property>), and own: true keeps only the cells set at their own key, leaving out the inherited ones. Each cell has its own value (null when it inherits), the key it inherits from and the blueprint's value; resolved: true adds its value in every theme, css: true the blueprint's baseline stylesheet. limit cells (100 by default) from cursor; total counts every match and nextCursor names the next page. A large component has thousands of cells: filter by variant and state first.

permission: designSystem.operationreads onlyclass: read

Esempio di input

{
  "component": "button",
  "variant": "primary",
  "state": "hover",
  "own": true
}

Input

FieldTypeRequiredNotes
componentstringyesAt least 1 character.
variantstringnoAt least 1 character.
sizestringnoAt least 1 character.
statestringnoAt least 1 character.
partstringnoAt least 1 character.
breakpointstringnoAt least 1 character.
propertystringnoAt least 1 character.
ownbooleannoDefault false.
resolvedbooleannoDefault false.
cssbooleannoDefault false.
limitintegernoAt least 1. At most 1000. Default 100.
cursorintegernoAt least 0. Default 0.

Output

FieldTypeRequiredNotes
revisionintegeryes
componentstringyes
totalintegeryesAt least 0.
nextCursorinteger | nullyes
cellsarray of objectyes
cells[].cellstringyes
cells[].valuestring | object | nullyes
cells[].sourceobjectyes
cells[].blueprintstring | object | nullyes
cells[].resolvedrecord of valueno
blueprintobjectyes
blueprint.variantsarray of stringyes
blueprint.cssstringno
blueprint.embedsrecord of record of objectno

I campi più annidati sono nello schema di output che risponde discover_operations con outputSchemas: true.

Provala

yarn splash designSystem.readComponent '{"component":"button","variant":"primary","state":"hover","own":true}' --dry-run

Generato dal registro delle operazioni e dal catalogo degli strumenti MCP (sorgente 49d903577e51777f).

Qualcosa non va in questa pagina? Scrivi a docs@librettocms.com.

Guida di Libretto

Colophon. Questa guida è un sito Libretto: 70 pagine in due lingue, 21 pagine della guida importate da Markdown e 42 pagine di riferimento generate dal registro delle operazioni. Composta in Softcore, il codice in IBM Plex Mono. La sua struttura:

/it/ Guida di Libretto /it/start Per iniziare /it/start/request-access Richiedere l'accesso /it/start/workspace Il tuo spazio di lavoro /it/start/first-site Il tuo primo sito /it/start/invite-a-client Invitare un cliente /it/start/connect-claude Connettere Claude a Libretto /it/build Costruire /it/build/first-page Costruire una pagina /it/build/layers-and-canvas Livelli e canvas /it/build/site-components Componenti del sito /it/design-system Design system /it/design-system/tokens Colori, spazi e temi /it/design-system/components Componenti e varianti /it/design-system/fonts Tipografia e font /it/motion Movimento /it/motion/scenes Scene e ricette /it/motion/image-sequences Sequenze di immagini /it/motion/reduced-motion Movimento ridotto /it/publish Pubblicazione /it/publish/languages Le lingue del sito /it/publish/versions Pubblicazione e versioni /it/publish/members-and-forms Iscritti e moduli /it/publish/domains Domini /it/publish/redirects Reindirizzamenti /it/handover Consegnare un sito al cliente /it/glossary Glossario /it/agents Agenti e API /it/agents/mcp Server MCP /it/agents/cli CLI /it/agents/batches Batch /it/agents/errors Errori e segnalazioni /it/agents/operations Operazioni /it/search Cerca