Read SDK
Onboarding

Install, build, and initialize.

KeeperKit ships as a TypeScript package that targets Node 18 or later. You can install it directly, build the local dist output, and use either the flat API or the namespaced client depending on how much surface area your project needs.

To work with the KeeperHub SDK, clone this repository first: git clone https://github.com/PhAnToMxSD/KeeperKit. Then move into SDK/, install dependencies, and build the package before importing it into your own project.

git clone https://github.com/PhAnToMxSD/KeeperKit
cd KeeperKit/SDK
pnpm install
pnpm build
Step 1

Install dependencies

Run pnpm install inside the SDK/ folder to install the package dependencies and test tooling.

Step 2

Build the distribution

The build produces dist/index.js, dist/index.mjs, and dist/index.d.ts.

Step 3

Initialize the client

Create a KeeperKit instance with your API key and optional base URL, timeout, and retry policy.

Install and build

These are the exact commands a developer needs to start using the SDK locally.

cd SDK
pnpm install
pnpm build
pnpm type-check
pnpm test
Initialization

Create a client

The SDK accepts an organization API key and optional overrides for the KeeperHub base URL, timeout, and retry behavior.

import { KeeperKit } from "keeperkit";

const client = new KeeperKit({
  apiKey: process.env.KEEPERHUB_API_KEY,
  baseUrl: "https://app.keeperhub.com/api",
  timeout: 30000,
  retry: {
    maxAttempts: 5,
    baseDelayMs: 1000,
    maxDelayMs: 30000,
    retryWrites: false,
  },
});
Local linking

Use the SDK from another repo

Because the package builds to a standard dist/ directory, you can link it locally or reference it with a file dependency.

cd SDK
pnpm link --global

cd /path/to/consumer-project
pnpm link --global keeperkit

Flat API vs namespaced API

The README exposes both styles. Use the flat API for common operations and the namespaced client when you need direct access to every module.

Flat API

Recommended for most apps

Methods like listWorkflows, executeWorkflow, and waitForExecution cover the common workflow lifecycle.

Namespaced API

Full access to every module

Access client.workflows, client.executions, client.directExecute, and more for advanced integrations.

import { KeeperKit, createKeeperHubClient } from "keeperkit";

const flat = new KeeperKit({ apiKey: process.env.KEEPERHUB_API_KEY });
const namespaced = createKeeperHubClient({ apiKey: process.env.KEEPERHUB_API_KEY });

const workflows = await flat.listWorkflows();
const logs = await namespaced.executions.getLogs("exec_123");

KeeperHub API keys start with kh_. The auth provider rejects keys that do not match that prefix, which helps catch configuration errors early.