fh add
Browse, scaffold, or print ecosystem recipes.
fabric-harness add [kind] [name] [options]fh add has two recipe modes:
| Mode | Command shape | Result |
|---|---|---|
| Managed recipe | fh add <alias> or fh add <kind> <name> | Resolves dependencies, writes implementation/environment/test files, and prints a verification command. |
| Connector guide | fh add <connector> --print | Prints 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 --jsonScaffold 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-defaultsScaffold 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@1The 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 --jsonPrint a connector recipe
fh add daytona --print
fh add e2b --print
fh add github-mcp | codex
fh add discord --install-deps --printFor 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| Category | Output shape |
|---|---|
channel | Verified Channel, stable conversation key, durable dispatch, governed outbound tools |
sandbox | SandboxEnv / SandboxFactory |
mcp | connectMcpServer() wrapper |
kb | FilesystemSource |
data | ToolDef, Command, or MCP wrapper |
database | Bounded data tools; unified persistence bundles are documented for every maintained backend |
tooling | Telemetry, evaluation, or grading integration |
Options
| Flag | Description |
|---|---|
--json | Print the catalog, or the direct-recipe change plan when kind/name are supplied. |
--dir <path> | Target directory for direct scaffold recipes. |
--force | Replace existing scaffold files. |
--dry-run | Print files, dependency resolutions, skips, and conflicts without writing. |
--no-install | Update dependency sections without running the detected package manager. |
--install-deps | Install dependencies declared by a connector guide. |
--print | Print a connector guide even when stdout is a terminal. |
--category <kind> | Category for a provider documentation URL. |
--pr | Open 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
- Connector catalog
- fh update
- Ecosystem catalog
- Sandbox connectors
- Capability matrix — which connectors are first-class today.