Docs menu

Technical

The third DNA layer — how the system is deployed and wired together.

Technical DNA describes how the system actually runs.Cells are the unit of deployment — they consume DNA from the upper layers and generate concrete artifacts (API code, database migrations, infrastructure templates).

Stability:Experimentalshape may change without noticeBetastabilizing; minor changes possibleStablesafe to build on; changes follow semverDeprecatedslated for removal; migrate off

CellStable

A Cell is a deployed unit: DNA + Adapter + wired Constructs. It is the concrete embodiment of cell-based architecture — it accepts a DNA document, applies an adapter, and produces running software or infrastructure.

Fields

FieldTypeRequiredDescription
namestringyesThe kebab-case name of the cell.
dnastringyesThe path or identifier of the DNA document this cell consumes.
adapterobjectyesThe framework/runtime adapter that interprets the DNA.
constructsstring[]—The Construct names this cell uses.
variablesvariable[]—Variables injected into this cell at runtime.
outputsoutput[]—Values this cell exports for other cells to reference.
environmentstring—If set, this cell definition is scoped to a specific Environment.
descriptionstring—A human-readable explanation of what this cell does.

Example

          {
  "name": "api",
  "dna": "product/api",
  "adapter": {
    "type": "nestjs",
    "version": "10"
  },
  "constructs": [
    "primary-db",
    "auth-provider"
  ],
  "outputs": [
    {
      "name": "api.url",
      "cell": "api",
      "value": "api-gateway.url"
    }
  ]
}
        

Related: Construct · Connection · Provider

ConstructStable

A Construct is a named infrastructure component with a category and type. Constructs are declared once and referenced by multiple Cells.

Fields

FieldTypeRequiredDescription
namestringyesThe kebab-case name of the construct, used as a reference key.
category"compute" | "storage" | "network"yesThe infrastructure category of the construct.
descriptionstring—A human-readable explanation of what this construct represents.
providerstring—The Provider name that backs this construct.
environmentstring—If set, this construct is scoped to a specific Environment.
configobject—Provider-specific configuration for this construct.

Example

          {
  "name": "primary-db",
  "category": "storage",
  "type": "database",
  "provider": "aws",
  "config": {
    "engine": "postgres",
    "version": "15"
  }
}
        

Related: Cell · Node

ConnectionStable

A directed relationship between two nodes in an architecture view. Connections represent data flow, dependencies, or communication paths.

Fields

FieldTypeRequiredDescription
idstringyesUnique identifier for this connection within the view.
sourcestringyesThe `id` of the source node.
targetstringyesThe `id` of the target node.
labelstring—Text displayed on the connection line.
verticesobject[]—Intermediate waypoints for the connection path.
metadataobject—Arbitrary key-value pairs.

Example

          {
  "id": "api-to-db",
  "source": "api-cell",
  "target": "primary-db",
  "type": "depends-on",
  "label": "reads/writes"
}
        

Related: Cell · Zone

EnvironmentStable

An Environment is a named deployment context. All Technical primitives can be scoped to an Environment.

Fields

FieldTypeRequiredDescription
name"dev" | "staging" | "prod"yesThe name of the environment.
descriptionstring—A human-readable explanation of this environment's purpose.
providersprovider[]—The Providers active in this environment.
variablesvariable[]—Variables scoped to this environment.

Example

          {
  "name": "prod",
  "description": "Live production environment.",
  "providers": [
    {
      "name": "aws",
      "type": "cloud",
      "region": "us-east-1"
    }
  ]
}
        

Related: Cell · Provider · Variable

NodeStable

A visual element representing a system component in an architecture view. Nodes can reference DNA primitives from other layers via the `source` field.

Fields

FieldTypeRequiredDescription
idstringyesUnique identifier for this node within the view.
namestringyesDisplay name shown on the diagram.
status"proposed" | "planned" | "deployed" | "running"—Lifecycle status of this component. Drives visual styling in the viewer: proposed (dashed/dim), planned (solid/greyed), deployed (full color), running (full color + pulse).
sourcestring—Reference to a DNA primitive in another layer. Format: `<layer>:<primitive-type>:<name>`. Used for cross-layer traceability and auto-derivation.
positionobject—Position on the canvas in pixels.
sizeobject—Dimensions on the canvas in pixels.
descriptionstring—A human-readable explanation of what this node represents.
metadataobject—Arbitrary key-value pairs for adapter-specific or display-specific data.

Example

          {
  "id": "api-cell",
  "name": "API Cell",
  "type": "cell",
  "status": "running",
  "source": "technical:cell:api-cell",
  "position": {
    "x": 200,
    "y": 100
  },
  "size": {
    "width": 160,
    "height": 80
  },
  "metadata": {
    "adapter": "node/express"
  }
}
        

Related: Construct

ZoneStable

A visual container that groups related nodes. Zones represent logical boundaries such as tiers, security boundaries, environments, or domain boundaries.

Fields

FieldTypeRequiredDescription
idstringyesUnique identifier for this zone within the view.
namestringyesDisplay name shown on the zone container.
nodesstring[]yesIDs of nodes contained in this zone.
positionobject—Position on the canvas in pixels. Auto-calculated if omitted.
sizeobject—Dimensions on the canvas in pixels. Auto-calculated if omitted.
descriptionstring—A human-readable explanation of what this zone represents.
metadataobject—Arbitrary key-value pairs.

Example

          {
  "id": "storage-tier",
  "name": "Storage Tier",
  "type": "tier",
  "nodes": [
    "primary-db",
    "session-cache"
  ],
  "description": "Persistent and ephemeral storage constructs."
}
        

Related: Connection · Environment

ProviderStable

A Provider is a named external platform that backs Constructs — AWS, GCP, Auth0, Stripe, etc.

Fields

FieldTypeRequiredDescription
namestringyesThe kebab-case name of the provider, used as a reference key.
descriptionstring—A human-readable explanation of what this provider supplies.
regionstring—The primary deployment region for cloud providers.
configobject—Provider-specific configuration (account IDs, project names, etc.).

Example

          {
  "name": "aws",
  "type": "cloud",
  "region": "us-east-1",
  "config": {
    "account_id": "123456789"
  }
}
        

Related: Cell · Environment

VariableStable

A Variable is an environment variable or secret reference used by Cells and Constructs.

Fields

FieldTypeRequiredDescription
namestringyesThe SCREAMING_SNAKE_CASE name of the variable.
source"env" | "secret" | "output" | "literal"yesWhere the variable value comes from.
descriptionstring—A human-readable explanation of what this variable is used for.
valuestring—The literal value when source is 'literal', or the secret/output reference path when source is 'secret' or 'output'.
requiredboolean—Whether this variable must be present for the cell to run.
environmentstring—If set, this variable is scoped to a specific Environment.

Example

          {
  "name": "DATABASE_URL",
  "source": "secret",
  "value": "arn:aws:secretsmanager:us-east-1:123:secret:db-url",
  "required": true
}
        

Related: Environment · Output

OutputStable

An Output is an exported value from one Cell that other Cells can reference via a Variable with source 'output'.

Fields

FieldTypeRequiredDescription
namestringyesThe dot-separated reference key for this output (e.g. 'api.url', 'db.connection_string').
cellstringyesThe Cell name that produces this output.
valuestringyesThe construct attribute or computed expression that produces this output value.
descriptionstring—A human-readable explanation of what this output contains.

Example

          {
  "name": "api.url",
  "cell": "api",
  "value": "api-gateway.url",
  "description": "The public URL of the API gateway."
}
        

Related: Cell · Variable

ViewStable

A named diagram perspective showing a specific aspect of the architecture. Each view contains its own set of nodes, connections, and zones.

Fields

FieldTypeRequiredDescription
namestringyesThe unique name of this view.
descriptionstring—A human-readable explanation of what this view shows.
layoutobject—Layout hints for auto-positioning.
nodesnode[]yesThe visual elements in this view.
connectionsconnection[]—The relationships between nodes in this view.
zoneszone[]—Visual groupings of nodes in this view.

Example

          {
  "name": "deployment",
  "description": "Cell deployment topology with infrastructure",
  "layout": {
    "type": "hierarchical",
    "direction": "TB"
  },
  "nodes": [
    {
      "id": "api-cell",
      "name": "API Cell",
      "type": "cell",
      "source": "technical:cell:api-cell"
    },
    {
      "id": "primary-db",
      "name": "Primary DB",
      "type": "construct",
      "source": "technical:construct:primary-db"
    }
  ],
  "connections": [
    {
      "id": "api-to-db",
      "source": "api-cell",
      "target": "primary-db",
      "type": "depends-on",
      "label": "reads/writes"
    }
  ],
  "zones": [
    {
      "id": "storage-tier",
      "name": "Storage",
      "type": "tier",
      "nodes": [
        "primary-db"
      ]
    }
  ]
}
        

Related: Cell · Environment