FabricFabricHarness
CLI

fh add

Browse, scaffold, or print ecosystem recipes.

fabric-harness add [kind] [name] [options]

fh add has two recipe modes:

ModeCommand shapeResult
Managed recipefh add <alias> or fh add <kind> <name>Resolves dependencies, writes implementation/environment/test files, and prints a verification command.
Connector guidefh add <connector> --printPrints Markdown for project-specific provider wiring.

Managed recipes install first-party packages from the release line current when this CLI was published. The recipe registry and generated project templates are checked together in CI; for example, CLI 4.3 emits SDK/Node 4.3 ranges and Databricks 4.10 ranges, while connectors/evals/Temporal/Cloudflare remain on their independently versioned 2.x lines. An existing incompatible first-party major fails before files are written.

The catalog labels every entry with its mode. Some connectors also have package helpers in @fabric-harness/connectors, @fabric-harness/channels, @fabric-harness/azure, or @fabric-harness/databricks.

Examples

List available recipes

fh add
fh add --json

Scaffold directly

fh add channel slack
fh add slack
fh add channel teams
fh add database postgres
fh add sandbox e2b --dir ./agent-service
fh add modal
fh add policy safe-defaults

Scaffold kinds are channel, database, sandbox, tooling, model-provider, skill, and policy. Existing files are preserved unless --force is supplied. When package.json exists, Fabric detects pnpm, npm, Yarn, or Bun and installs missing declared dependencies using recipe-owned compatible version ranges. An incompatible existing range stops before files are written. Pass --no-install to update the manifest without running the package manager.

Every recipe has a unique one-word alias. The explicit kind/name form remains useful in automation and makes ownership clear. Successful installation prints the package-manager-specific Vitest command for the generated contract test.

Every generated TypeScript or Markdown file has a marker such as:

// fabric-harness-recipe: channel/slack@1

The marker lets fh update distinguish an unchanged generated file from user customizations. Use --dry-run before applying a recipe in an existing project.

fh add channel slack --dry-run
fh add channel slack --dry-run --json
fh add daytona --print
fh add e2b --print
fh add github-mcp | codex
fh add discord --install-deps --print

For sandbox connectors, the output demonstrates the RemoteSandboxApi / SandboxEnv adapter pattern. For MCP, KB, and data connectors, it demonstrates the appropriate public primitive: connectMcpServer, FilesystemSource, scoped Command, or ToolDef.

Categories

fh add https://provider.example/docs --category sandbox --print
fh add https://provider.example/docs --category channel --print
fh add https://provider.example/docs --category mcp --print
fh add https://provider.example/docs --category kb --print
fh add https://provider.example/docs --category data --print
CategoryOutput shape
channelVerified Channel, stable conversation key, durable dispatch, governed outbound tools
sandboxSandboxEnv / SandboxFactory
mcpconnectMcpServer() wrapper
kbFilesystemSource
dataToolDef, Command, or MCP wrapper
databaseBounded data tools; unified persistence bundles are documented for every maintained backend
toolingTelemetry, evaluation, or grading integration

Options

FlagDescription
--jsonPrint the catalog, or the direct-recipe change plan when kind/name are supplied.
--dir <path>Target directory for direct scaffold recipes.
--forceReplace existing scaffold files.
--dry-runPrint files, dependency resolutions, skips, and conflicts without writing.
--no-installUpdate dependency sections without running the detected package manager.
--install-depsInstall dependencies declared by a connector guide.
--printPrint a connector guide even when stdout is a terminal.
--category <kind>Category for a provider documentation URL.
--prOpen a draft connector PR for the guide workflow.

Package helpers

Prefer package helpers when available:

  • @fabric-harness/connectors: Daytona, E2B, Modal, Vercel, Kubernetes, generic remote sandbox, S3, Azure Blob.
  • @fabric-harness/channels: 18 maintained adapters spanning chat, developer tools, support, commerce, billing, knowledge, and email.
  • @fabric-harness/databases: Postgres, MySQL, MongoDB, Redis, and SQLite governed data tools.
  • @fabric-harness/azure: Azure OpenAI, Key Vault, Blob artifacts, Foundry Agent Service, Azure ARM tools.
  • @fabric-harness/databricks: SQL, Jobs, notebooks, Unity Catalog, Agent Services, MLflow, workspace source.

See also