EnterpriseTypeScript

Rivet

by IroncladUpdated Jun 15, 2025

Desktop IDE for visually building, debugging, and testing AI agent graphs with a node-based editor. Rivet was built by Ironclad for their own AI needs and open-sourced as a tool for teams to collaborate on AI agent development. It focuses on the development experience: visual debugging, real-time execution tracing, and team-friendly project management.

Architecture Overview

Rivet uses a node-graph architecture where each node represents an operation (LLM call, text processing, conditional logic, subgraph, etc.). Graphs are defined visually in the desktop IDE and can be exported as JSON project files. The execution engine processes nodes in dependency order, supporting loops, conditionals, and subgraph invocation. A TypeScript runtime library (rivet-node) allows executing Rivet graphs programmatically in Node.js applications, bridging visual design and code deployment.

When to Use Rivet

  • Visual agent prototyping and design
  • Debugging complex AI agent logic step by step
  • Team collaboration on AI prompt engineering
  • Testing and validating AI workflows before deployment
  • Building reusable AI graph components

Strengths & Weaknesses

Strengths

  • Excellent visual IDE for agent development and debugging
  • Real-time execution tracing shows data flow through the graph
  • Team-friendly with shareable project files
  • rivet-node library enables production deployment of visual graphs
  • Open-source with Ironclad's production backing

Weaknesses

  • Desktop-only application (Electron-based)
  • Smaller community compared to web-based alternatives
  • Less suited for code-first developers who prefer pure TypeScript
  • Limited integration ecosystem outside the core nodes

Quick Start

typescript
// Use rivet-node to execute Rivet graphs programmatically
import * as Rivet from "@ironclad/rivet-node";

// Load a Rivet project file
const project = await Rivet.loadProjectFromFile("./my-agent.rivet-project");

// Create a processor to run the graph
const processor = Rivet.createProcessor(project, {
  graph: "Main Agent Graph",
  inputs: {
    userMessage: {
      type: "string",
      value: "What are the benefits of AI agents?",
    },
  },
  context: {},
  // Provide model configuration
  openAiKey: process.env.OPENAI_API_KEY,
});

// Run and get results
const result = await processor.run();
console.log(result.output.value);

Features at a Glance

DeveloperIronclad
LanguageTypeScript
LicenseMIT
GitHub Stars3k+
MCP SupportNo
Multi-AgentYes

Notable Users

IroncladLegal tech companies

Resources

Explore Related Content