Skip to content

Package Entrypoints

Duclaw SDK exposes three public package entrypoints.

duclaw-cli/sdk

Use this entrypoint for generic SDK integration.

ts
import { createAgent, memoryStorage, tool, type LLMClient, type Storage } from "duclaw-cli/sdk";

It exports the friendly agent facade, tool builder, model helper, memory storage, and public types without CLI or server startup side effects.

duclaw-cli/sdk/core

Use this entrypoint for low-level runtime composition.

ts
import { createCoreAgent, createToolRegistry, createRuntimeEventBus } from "duclaw-cli/sdk/core";

This subpath contains core contracts, registries, runtime event primitives, channel contracts, and storage factories for applications that assemble their own runtime.

duclaw-cli/sdk/duclaw

Use this entrypoint only when you want Duclaw's product composition.

ts
import { duclawPreset } from "duclaw-cli/sdk/duclaw";

This subpath includes the duclawPreset() adapter for callers that explicitly want Duclaw product defaults.

Some lower-level Duclaw composition helpers remain exported for one compatibility window, but new integrations should start with duclawPreset().

Boundary Rule

Generic integrations should depend on duclaw-cli/sdk.

Runtime authors may opt into duclaw-cli/sdk/core when they need low-level composition.

Application or product layers may opt into duclaw-cli/sdk/duclaw when they intentionally want Duclaw defaults.

Released as part of the duclaw-cli package.