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/clipnpm add -g @fabric-harness/cliyarn global add @fabric-harness/clifh --help2. 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/agents3. 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/sdknpm install @fabric-harness/sdk @fabric-harness/cloudflarenpm install @fabric-harness/sdk @fabric-harness/temporalnpm install @fabric-harness/sdk @fabric-harness/azureStrict mode (
@fabric-harness/sdk/strict) is a sub-path export of the same package — no separate install needed.
All published packages
| Package | Purpose |
|---|---|
@fabric-harness/cli | The fh / fabric-harness binary. |
@fabric-harness/sdk | Core SDK. Default + /strict entry points. |
@fabric-harness/node | Node deploy target, HTTP server, SQLite/Postgres session stores. |
@fabric-harness/temporal | Temporal worker target + activities. |
@fabric-harness/cloudflare | Cloudflare Worker target, R2 sources, Cloudflare Sandbox helpers. |
@fabric-harness/azure | Azure OpenAI provider, Key Vault secret resolver, Foundry hosted agent target. |
@fabric-harness/connectors | Sandbox connectors (Daytona, E2B, Modal), object-storage sources (S3, Azure Blob). |
@fabric-harness/databricks | Databricks SQL Warehouse / Jobs adapter. |
@fabric-harness/evals | Evaluation harness. |
4. Verify
Run the doctor command from your workspace:
fh doctor --toolsTo verify a real model end-to-end:
echo 'OPENAI_API_KEY=sk-...' > .env.local
fh doctor --live --model openai/gpt-5.55. Write your first agent
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 workspaceReleases follow semver. Each package ships a CHANGELOG.md; release notes also appear on the GitHub releases page.