> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spreadjam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# jam-nodes

> An extensible, type-safe workflow node framework for building automation pipelines in TypeScript.

## What is jam-nodes?

jam-nodes is a modular framework for building automation workflows in TypeScript. It provides typed node definitions with Zod schema validation, a registry for managing nodes, an execution context with variable interpolation, and a playground for testing nodes.

## Architecture

```
@jam-nodes/core       -> Types, NodeRegistry, ExecutionContext, defineNode utility
@jam-nodes/nodes      -> Built-in node definitions (logic, transform, AI, integrations)
@jam-nodes/playground -> CLI tool for testing nodes interactively
```

core is dependency-free (except Zod + jsonpath-plus). nodes depends on core. playground provides a CLI and web interface for testing.

## Explore the Docs

<CardGroup cols={2}>
  <Card title="Quick Start" href="/quickstart">
    Install packages, create a registry, and run your first node in minutes.
  </Card>

  <Card title="Core API" href="/core/types">
    Types, registry, execution context, and utility functions.
  </Card>

  <Card title="Built-in Nodes" href="/nodes/overview">
    16 ready-to-use nodes for logic, transforms, integrations, and AI.
  </Card>

  <Card title="Playground" href="/playground/overview">
    Test nodes interactively with the CLI or web playground.
  </Card>

  <Card title="Create Custom Nodes" href="/creating-nodes">
    Build your own nodes with Zod schemas and register them with the editor.
  </Card>

  <Card title="MCP Integration" href="/mcp-integration">
    Connect AI agents to jam-nodes documentation via MCP servers.
  </Card>
</CardGroup>

## Key Features

* **Type-safe** -- Zod schemas for all inputs and outputs with full TypeScript inference
* **Extensible** -- Create custom nodes with `defineNode` and register them
* **Playground** -- CLI and web interface for testing nodes interactively
* **Variable interpolation** -- `{{variable}}` syntax with JSONPath and nested path resolution
* **Credentials injection** -- Nodes receive API credentials via context and make direct HTTP calls
* **Approval workflows** -- Built-in support for human-in-the-loop approval
* **Notifications** -- Nodes can emit notifications through configurable channels
