DCS Request Demo

DSL Format (.dcs.yaml)

Reference for the DCS domain-specific language.

DCS uses .dcs.yaml files as the single source of truth for lab setup data. Files are plain text, git-friendly, and validated by the built-in linter.

File types

Device (type: device)

version: 1
type: device
id: pump-01
name: HPLC Pump
category: analytics
deviceType: hplc_pump
ports:
  - id: outlet
    direction: output
    signalType: fluid
    label: Outlet
parameters:
  - key: flow_rate
    value: 0.3
    unit: mL/min
    min: 0
    max: 10
notes: "Shimadzu LC-20AD. Installed 2022."

Preset (type: preset)

Entry point. Imports devices and connections, sets node positions.

version: 1
type: preset
name: LC-MS Setup
imports:
  - ./devices/pump.dcs.yaml
  - ./connections/flow-path.dcs.yaml
nodes:
  - deviceRef: pump-01
    position: { x: 100, y: 200 }

Connections (type: connections)

version: 1
type: connections
connections:
  - id: pump-to-oven
    sourceNodeId: pump-01
    sourcePortId: outlet
    targetNodeId: oven-01
    targetPortId: inlet
    connectionType: tube
    isActive: true

Signal types

electrical · optical · fluid · gas · data · thermal · mechanical

Lint rules

Run dcs-lint setup.dcs.yaml to validate. Rules: DCS001–DCS010 cover missing fields, type mismatches, direction violations, duplicate IDs, and circular imports.