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).
Cell Stable
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
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The kebab-case name of the cell. |
| dna | string | yes | The path or identifier of the DNA document this cell consumes. |
| adapter | object | yes | The framework/runtime adapter that interprets the DNA. |
| constructs | string[] | — | The Construct names this cell uses. |
| variables | variable[] | — | Variables injected into this cell at runtime. |
| outputs | output[] | — | Values this cell exports for other cells to reference. |
| environment | string | — | If set, this cell definition is scoped to a specific Environment. |
| description | string | — | 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
Construct Stable
A Construct is a named infrastructure component with a category and type. Constructs are declared once and referenced by multiple Cells.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The kebab-case name of the construct, used as a reference key. |
| category | "compute" | "storage" | "network" | yes | The infrastructure category of the construct. |
| description | string | — | A human-readable explanation of what this construct represents. |
| provider | string | — | The Provider name that backs this construct. |
| environment | string | — | If set, this construct is scoped to a specific Environment. |
| config | object | — | Provider-specific configuration for this construct. |
Example
{
"name": "primary-db",
"category": "storage",
"type": "database",
"provider": "aws",
"config": {
"engine": "postgres",
"version": "15"
}
}
Connection Stable
A directed relationship between two nodes in an architecture view. Connections represent data flow, dependencies, or communication paths.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Unique identifier for this connection within the view. |
| source | string | yes | The `id` of the source node. |
| target | string | yes | The `id` of the target node. |
| label | string | — | Text displayed on the connection line. |
| vertices | object[] | — | Intermediate waypoints for the connection path. |
| metadata | object | — | Arbitrary key-value pairs. |
Example
{
"id": "api-to-db",
"source": "api-cell",
"target": "primary-db",
"type": "depends-on",
"label": "reads/writes"
}
Environment Stable
An Environment is a named deployment context. All Technical primitives can be scoped to an Environment.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | "dev" | "staging" | "prod" | yes | The name of the environment. |
| description | string | — | A human-readable explanation of this environment's purpose. |
| providers | provider[] | — | The Providers active in this environment. |
| variables | variable[] | — | Variables scoped to this environment. |
Example
{
"name": "prod",
"description": "Live production environment.",
"providers": [
{
"name": "aws",
"type": "cloud",
"region": "us-east-1"
}
]
}
Node Stable
A visual element representing a system component in an architecture view. Nodes can reference DNA primitives from other layers via the `source` field.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Unique identifier for this node within the view. |
| name | string | yes | Display 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). |
| source | string | — | Reference to a DNA primitive in another layer. Format: `<layer>:<primitive-type>:<name>`. Used for cross-layer traceability and auto-derivation. |
| position | object | — | Position on the canvas in pixels. |
| size | object | — | Dimensions on the canvas in pixels. |
| description | string | — | A human-readable explanation of what this node represents. |
| metadata | object | — | 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
Zone Stable
A visual container that groups related nodes. Zones represent logical boundaries such as tiers, security boundaries, environments, or domain boundaries.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Unique identifier for this zone within the view. |
| name | string | yes | Display name shown on the zone container. |
| nodes | string[] | yes | IDs of nodes contained in this zone. |
| position | object | — | Position on the canvas in pixels. Auto-calculated if omitted. |
| size | object | — | Dimensions on the canvas in pixels. Auto-calculated if omitted. |
| description | string | — | A human-readable explanation of what this zone represents. |
| metadata | object | — | 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
Provider Stable
A Provider is a named external platform that backs Constructs — AWS, GCP, Auth0, Stripe, etc.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The kebab-case name of the provider, used as a reference key. |
| description | string | — | A human-readable explanation of what this provider supplies. |
| region | string | — | The primary deployment region for cloud providers. |
| config | object | — | Provider-specific configuration (account IDs, project names, etc.). |
Example
{
"name": "aws",
"type": "cloud",
"region": "us-east-1",
"config": {
"account_id": "123456789"
}
}
Related: Cell · Environment
Variable Stable
A Variable is an environment variable or secret reference used by Cells and Constructs.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The SCREAMING_SNAKE_CASE name of the variable. |
| source | "env" | "secret" | "output" | "literal" | yes | Where the variable value comes from. |
| description | string | — | A human-readable explanation of what this variable is used for. |
| value | string | — | The literal value when source is 'literal', or the secret/output reference path when source is 'secret' or 'output'. |
| required | boolean | — | Whether this variable must be present for the cell to run. |
| environment | string | — | 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
Output Stable
An Output is an exported value from one Cell that other Cells can reference via a Variable with source 'output'.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The dot-separated reference key for this output (e.g. 'api.url', 'db.connection_string'). |
| cell | string | yes | The Cell name that produces this output. |
| value | string | yes | The construct attribute or computed expression that produces this output value. |
| description | string | — | 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."
}
View Stable
A named diagram perspective showing a specific aspect of the architecture. Each view contains its own set of nodes, connections, and zones.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The unique name of this view. |
| description | string | — | A human-readable explanation of what this view shows. |
| layout | object | — | Layout hints for auto-positioning. |
| nodes | node[] | yes | The visual elements in this view. |
| connections | connection[] | — | The relationships between nodes in this view. |
| zones | zone[] | — | 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