open-index/open-npm huggingface dataset:
npm package: @flowforgejs/cli
Description: FlowForge CLI — Developer tools for building and managing workflows
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/cli"><img src="https://img.shields.io/npm/v/@flowforgejs/cli?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/cli

Developer CLI for scaffolding, running, and managing FlowForge workflows from the terminal.

**Key commands:**

| Command                   | Description                          |
| ------------------------- | ------------------------------------ |
| `flowforge init`          | Scaffold a new FlowForge project     |
| `flowforge dev`           | Start the dev server with hot reload |
| `flowforge emit <event>`  | Emit an event to trigger a workflow  |
| `flowforge runs`          | List recent workflow runs            |
| `flowforge node validate` | Validate a custom node definition    |
| `flowforge node test`     | Run tests for a custom node          |

## Install

```bash
npm install -g @flowforgejs/cli
```

## Quick Example

```bash
# Scaffold a new project
flowforge init my-project && cd my-project

# Start the dev server
flowforge dev

# Trigger a workflow by emitting an event
flowforge emit user.signup --data '{"userId": "usr_abc123"}'

# Inspect recent runs
flowforge runs --limit 5

# Validate a custom node
flowforge node validate ./src/nodes/my-node.ts
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/dashboard
Description: FlowForge monitoring dashboard API server
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/dashboard"><img src="https://img.shields.io/npm/v/@flowforgejs/dashboard?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/dashboard

Monitoring and management API for FlowForge. Provides HTTP endpoints for inspecting workflows, runs, events, and metrics, with real-time updates via Server-Sent Events (SSE).

**Endpoints:** workflows, runs, events, metrics, SSE streaming

## Install

```bash
npm install @flowforgejs/dashboard
```

## Quick Example

```typescript
import { createDashboard } from '@flowforgejs/dashboard';

const dashboard = await createDashboard({
  database: process.env.DATABASE_URL,
  port: 4000,
});

await dashboard.start();
// Dashboard API available at http://localhost:4000
// SSE stream at http://localhost:4000/events/stream
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/engine
Description: FlowForge workflow execution engine
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/engine"><img src="https://img.shields.io/npm/v/@flowforgejs/engine?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/engine

The execution engine that powers FlowForge workflows. Handles node scheduling, dependency resolution, retries, and AI model orchestration.

**Key exports:** `Engine`, `nodeAsAgentTool()`, `ModelRegistry`, `createAIProvider()`

## Install

```bash
npm install @flowforgejs/engine
```

## Quick Example

```typescript
import { Engine } from '@flowforgejs/engine';
import { myWorkflow } from './workflows/onboarding';

const engine = new Engine();

engine.registerWorkflow(myWorkflow);

const result = await engine.trigger('onboarding', {
  userId: 'usr_abc123',
});

console.log(result.status); // "completed"
console.log(result.output); // { message: "Welcome, Alice!" }
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/integrations
Description: Third-party integration service for FlowForge
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/integrations"><img src="https://img.shields.io/npm/v/@flowforgejs/integrations?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/integrations

38+ third-party integrations for FlowForge, backed by Composio. Provides a unified interface for connecting to external services with built-in circuit breakers and rate limiting for production resilience.

**Features:** Composio-backed adaptors, circuit breakers, rate limiting, unified auth

## Install

```bash
npm install @flowforgejs/integrations
```

## Quick Example

```typescript
import { IntegrationService } from '@flowforgejs/integrations';
import { composioAdaptors } from '@flowforgejs/integrations/composio';

const service = new IntegrationService({
  rateLimiting: { maxConcurrent: 10 },
  circuitBreaker: { threshold: 5, resetTimeout: 30_000 },
});

service.register(
  composioAdaptors({
    apiKey: process.env.COMPOSIO_API_KEY,
    services: ['github', 'slack', 'notion', 'jira'],
  }),
);

await service.start();
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/sdk
Description: FlowForge SDK — Define type-safe workflows in TypeScript
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/sdk"><img src="https://img.shields.io/npm/v/@flowforgejs/sdk?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/sdk

The core workflow DSL for FlowForge. Define nodes with typed inputs and outputs using Zod schemas, then compose them into declarative workflows with the fluent builder API.

**Key exports:** `defineNode()`, `defineAgentNode()`, `workflow()`

## Install

```bash
npm install @flowforgejs/sdk
```

## Quick Example

```typescript
import { defineNode, workflow } from '@flowforgejs/sdk';
import { z } from 'zod';

const fetchUser = defineNode({
  name: 'fetch-user',
  input: z.object({ userId: z.string() }),
  output: z.object({ name: z.string(), email: z.string() }),
  async run(ctx) {
    // node implementation
  },
});

const greetUser = defineNode({
  name: 'greet-user',
  input: z.object({ name: z.string() }),
  output: z.object({ message: z.string() }),
  async run(ctx) {
    // node implementation
  },
});

const myWorkflow = workflow('onboarding')
  .addNode(fetchUser)
  .addNode(greetUser)
  .connect('fetch-user', 'greet-user')
  .build();
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/shared
Description: Shared types, utilities, and constants for FlowForge
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/shared"><img src="https://img.shields.io/npm/v/@flowforgejs/shared?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/shared

Shared types, error classes, and constants used across the FlowForge monorepo. This package provides the foundational type system that all other packages depend on.

**Key exports:** `NodeDefinition`, `NodeContext`, `RunRecord`, `WorkflowDefinition`, `FlowForgeError`, `NodeExecutionError`, `ValidationError`

## Install

```bash
npm install @flowforgejs/shared
```

## Quick Example

```typescript
import type { NodeDefinition, NodeContext, WorkflowDefinition } from '@flowforgejs/shared';
import { NodeExecutionError } from '@flowforgejs/shared';

// Use shared types when building a custom node
const myNode: NodeDefinition = {
  name: 'custom-node',
  category: 'tools',
  async run(ctx: NodeContext) {
    if (!ctx.input.data) {
      throw new NodeExecutionError('custom-node', 'Missing required data');
    }
    return { result: ctx.input.data };
  },
};
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/test-utils
Description: Testing utilities for FlowForge node authors
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/test-utils"><img src="https://img.shields.io/npm/v/@flowforgejs/test-utils?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/test-utils

Testing utilities for FlowForge nodes and workflows. Provides mock contexts, loggers, and a test runner that integrates with Vitest.

**Key exports:** `createMockContext()`, `mockLogger`, `TestRunner`

## Install

```bash
npm install -D @flowforgejs/test-utils
```

## Quick Example

```typescript
import { describe, it, expect } from 'vitest';
import { createMockContext, mockLogger } from '@flowforgejs/test-utils';
import { myCustomNode } from '../src/nodes/my-custom-node';

describe('myCustomNode', () => {
  it('transforms input correctly', async () => {
    const ctx = createMockContext({
      input: { text: 'hello world' },
      logger: mockLogger,
    });

    const result = await myCustomNode.run(ctx);

    expect(result.output).toBe('HELLO WORLD');
    expect(mockLogger.info).toHaveBeenCalled();
  });
});
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>
npm package: @flowforgejs/worker
Description: BullMQ-based worker service with Hono HTTP API for FlowForge
Latest version: 0.1.4

<p align="center">
  <img src="../../docs/assets/banner.svg" alt="FlowForge" width="100%"/>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@flowforgejs/worker"><img src="https://img.shields.io/npm/v/@flowforgejs/worker?color=7c3aed" alt="npm"/></a>
</p>

# @flowforgejs/worker

Production-grade worker process for executing FlowForge workflows. Built on BullMQ for job queuing, Hono for the HTTP API, Drizzle/Postgres for persistence, and OpenTelemetry for observability. Supports cron-based scheduling out of the box.

**Features:** job queuing (BullMQ), HTTP API (Hono), persistence (Drizzle/Postgres), tracing (OpenTelemetry), cron scheduling

## Install

```bash
npm install @flowforgejs/worker
```

## Quick Example

```typescript
import { createWorker } from '@flowforgejs/worker';

const worker = await createWorker({
  redis: { host: 'localhost', port: 6379 },
  database: process.env.DATABASE_URL,
  workflows: './src/workflows',
  telemetry: { enabled: true },
  cron: [{ pattern: '0 9 * * *', workflow: 'daily-report' }],
});

await worker.start();
// Worker listening on http://localhost:3000
```

---

<p align="center">Part of <a href="../../README.md">FlowForge</a></p>