FabricFabricHarness
Getting Started

Installation

Install Fabric Harness from npm and verify the CLI works.

Fabric Harness ships as a set of npm packages under the @fabric-harness/* scope. The CLI installs a fabric-harness (alias fh) binary; the SDK is added per-workspace.

Prerequisites

  • Node.js 22+
  • npm 10+, pnpm 10+, or yarn 4+
  • (optional) Docker for the Docker sandbox
  • (optional) Temporal (local dev server) for the Temporal worker target
  • An LLM provider API key (e.g. OPENAI_API_KEY) when you want real model calls.

1. Install the CLI

Install globally so fabric-harness and fh are on your PATH:

npm install -g @fabric-harness/cli
pnpm add -g @fabric-harness/cli
yarn global add @fabric-harness/cli
fh --help

2. Bootstrap a workspace

A Fabric Harness workspace is any directory with a .fabricharness/ folder.

mkdir my-agents
cd my-agents
npm init -y
mkdir -p .fabricharness/agents

3. Add the SDK

The bare @fabric-harness/sdk is enough for most agents. Add the deploy-target package only if you need it.

npm install @fabric-harness/sdk
npm install @fabric-harness/sdk @fabric-harness/cloudflare
npm install @fabric-harness/sdk @fabric-harness/temporal
npm install @fabric-harness/sdk @fabric-harness/azure

Strict mode (@fabric-harness/sdk/strict) is a sub-path export of the same package — no separate install needed.

All published packages

PackagePurpose
@fabric-harness/cliThe fh / fabric-harness binary.
@fabric-harness/sdkCore SDK. Default + /strict entry points.
@fabric-harness/nodeNode deploy target, HTTP server, SQLite/Postgres session stores.
@fabric-harness/temporalTemporal worker target + activities.
@fabric-harness/cloudflareCloudflare Worker target, R2 sources, Cloudflare Sandbox helpers.
@fabric-harness/azureAzure OpenAI provider, Key Vault secret resolver, Foundry hosted agent target.
@fabric-harness/connectorsSandbox connectors (Daytona, E2B, Modal), object-storage sources (S3, Azure Blob).
@fabric-harness/databricksDatabricks SQL Warehouse / Jobs adapter.
@fabric-harness/evalsEvaluation harness.

4. Verify

Run the doctor command from your workspace:

fh doctor --tools

To verify a real model end-to-end:

echo 'OPENAI_API_KEY=sk-...' > .env.local
fh doctor --live --model openai/gpt-5.5

5. Write your first agent

.fabricharness/agents/echo.ts
import { agent } from '@fabric-harness/sdk';

export default agent<{ message: string }>({
  name: 'echo',
  model: 'openai/gpt-5.5',
  triggers: { webhook: true },
  run: async ({ init, input }) => {
    const session = await (await init()).session();
    return { reply: await session.prompt<string>(input.message) };
  },
});
fh agents
fh describe echo
fh run echo --message "What is Temporal?"

If the configured model responds, you're ready for your first agent.

Updating

npm update -g @fabric-harness/cli                # CLI
npm update @fabric-harness/sdk                   # SDK + add-ons in your workspace

Releases follow semver. Each package ships a CHANGELOG.md; release notes also appear on the GitHub releases page.