~/ralvarez.dev (main)$ whoami
~/ralvarez.dev (main)$ cat about.md
~/ralvarez.dev (main)$ cat robotics.md
~/ralvarez.dev (main)$ cat facts.md
~/ralvarez.dev (main)$ ls -la ~/projects/
~/ralvarez.dev (main)$ cat thesis.md
~/ralvarez.dev (main)$ ./diagram --illustrative
field bus ⬡ application boundary · hexagonal consumers inbound port ↓ outbound port ↑ ┌───────────────┐ ┌┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┐ ┌───────────────┐ ▸ OPC UA ├─┐ ┆ ┆ └─┤ MCP ├───────────────┤ │ ┆ ┌───────────┐ ┌──────────┐ ┌───────────┐ ┆ │ ├───────────────┤ ▸ Modbus ├─┼─┼ │ │─│ │─│ │ ┼─┼─┤ REST ├───────────────┤ │ ┆ │ ADAPTER │ │ DOMAIN │ │ ADAPTER │ ┆ │ ├───────────────┤ ▸ MQTT ├─┘ ┆ └─────│─────┘ └──────────┘ └─────│─────┘ ┆ ┌─┤ gRPC └───────────────┘ ┆ │ NATS │ ┆ └───────────────┘ ┆ └──────────────────────────┘ ┆ └┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┘
86 columns · 11 rows · scrolls sideways on narrow screens
Hover or focus a node to find it in the diagram. Press to keep it highlighted.
| Node | Role | What it is | Receives from | Sends to |
|---|---|---|---|---|
| OPC UA | driven adapter | Industrial protocol the core consumes. | none | Inbound port |
| Modbus | driven adapter | Industrial protocol the core consumes. | none | Inbound port |
| MQTT | driven adapter | Industrial protocol the core consumes. | none | Inbound port |
| Inbound port | port | One entry point. Every inbound protocol plugs in here. | OPC UA, Modbus, MQTT | Inbound adapter |
| Inbound adapter | adapter on the bus | Receives from the port; talks to the domain and to the NATS bus. | Inbound port | Domain, NATS |
| Domain | domain | The business logic. Knows nothing about protocols or transports. | Inbound adapter | Outbound adapter |
| Outbound adapter | adapter on the bus | Receives from the domain or the NATS bus; sends out through the port. | Domain, NATS | Outbound port |
| NATS | bus | The messaging backbone running beneath the core. Both adapters are clients of it. | Inbound adapter | Outbound adapter |
| Outbound port | port | One exit point. Every consumer is served from here. | Outbound adapter | MCP, REST, gRPC |
| MCP | driving adapter | One of three interfaces the data is exposed through. | Outbound port | none |
| REST | driving adapter | One of three interfaces the data is exposed through. | Outbound port | none |
| gRPC | driving adapter | One of three interfaces the data is exposed through. | Outbound port | none |
~/ralvarez.dev (main)$ tail -n 3 ~/activity.log
~/ralvarez.dev (main)$ cat memoriam.md
~/ralvarez.dev (main)$