AI & LLMs · Guide · AI & Prompt Tools
How to Use Rivet
Installing Rivet, graph-based prompt engineering, nodes, embedding in JS/TS apps via @ironclad/rivet-core.
Rivet is Ironclad’s open-source visual IDE for LLM graphs — build prompts as node graphs, then embed them in any JS/TS app.
Advertisement
Rivet treats LLM workflows the way Unreal treats game logic: as a graph of nodes you manipulate visually. You wire prompts, branching, loops, subgraphs, and tool calls on a canvas, debug each execution step by step, and then ship the graph as a file your production app loads at runtime.
What it is
A desktop app (Electron) for designing graphs plus a headless @ironclad/rivet-node library for running them. Graphs are JSON files you check into git. Nodes cover chat, text, code, data, logic, and I/O. The debugger steps through each node, showing inputs and outputs so you can inspect why a branch fired or didn’t.
Install / set up
# desktop app # download from https://rivet.ironcladapp.com # node runtime npm install @ironclad/rivet-node
First run
Open Rivet, create a new project, and drop a Chat node onto the canvas. Wire a Text node into its prompt input, put “Say hello” in the text, and hit Run. The execution log on the right shows each node’s input, output, and token usage.
$ node
const { runGraphInFile } = require('@ironclad/rivet-node');
await runGraphInFile('./graph.rivet-project', {
graph: 'Main', openAiKey: process.env.OPENAI_API_KEY
});Everyday workflows
- Prototype a multi-step agent visually, then check the
.rivet-projectfile into git like any other source artifact. - Use subgraphs to package reusable logic (retrieval, formatting, guardrails) and call them from a parent graph.
- Embed the graph in a Node backend with
runGraphInFileso product code stays thin and prompt logic stays in Rivet.
Gotchas and tips
Rivet is JS/TS first. The Node runtime is solid; Python users have to call the headless runner as a subprocess or reimplement the graph, because there is no official Python SDK. If your backend is Python-heavy, weigh this before adopting.
Graph files merge poorly in git. Two people editing the same graph will produce conflicts in the JSON that are hard to resolve by hand. Coordinate on who edits which graph, lean on subgraphs to split ownership, and review diffs in Rivet itself rather than in GitHub’s line-by-line view.
Who it’s for
JS/TS developers who want a designer-grade IDE for prompts, and teams where a PM or designer co-authors logic with an engineer. If you’ve outgrown plain LangChain code but don’t want a hosted platform, Rivet is the local-first sweet spot.
Advertisement