Riggr

Nodes

What nodes are, how they behave, and which families exist.

Nodes

Every block on the canvas is a node — a specialized mini-app. Terminal opens a real terminal. Code opens a Monaco editor. HTTP Client is what an Insomnia or Postman is. Riggr's whole point is having all of these on the same screen.

There are 16 types in total. The full reference has details for each.

Anatomy

Every node has three parts:

  • Header — editable name + icon. Double-click the title to rename.
  • Main content — varies by type. Editor in Code, query result in Database, terminal in Terminal.
  • Handles — the dots on the edges where you start connections.

Drag any edge to resize; the content reflows. Default size is 520×400px, but it varies (Webview starts at 800×400, Group has no fixed size).

Families

Family Nodes
Content Text, Code, JSON, Webview
Terminal Terminal, Agent Terminal
APIs HTTP Client, Database
Filesystem File Explorer, Environment
DevTools Git, Docker, NPM Manager, Process Manager
Structural Group, Task

Full description of each in Node catalog.

Adding a node

Always through quick search. Ctrl K, type part of the name, pick it. The node appears near the mouse. Ctrl+Shift+P shows the same list alongside every other command.

Bonus shortcut: Ctrl P opens the File Picker — pick a file and Riggr creates the right node (Text, JSON, or Code based on extension).

How they talk to each other

There are two paths between two nodes:

  1. Agent permission. The connection exposes the target node as a tool in the Agent Terminal. The agent decides when to use it.
  2. Typed port. Two nodes with compatible ports exchange data on their own, without going through the agent. Terminal logs flow into the text. Selected file in the explorer opens in the editor.

Both systems share a connection. More about permissions in Connections and permissions, and about ports in Typed ports.

State and persistence

Each node persists its config in the .riggr (Webview URL, Database connection config, Task schedule, etc.). Heavy content (Code's text, JSON node's JSON) also lives in the .riggr — fat workspaces grow in size but still open fast because the JSON is straightforward.

Some nodes have runtime state that isn't saved — Terminal buffer, Docker container list, Database last result. That state disappears when you close the app; it's by design.