Work SDK documentation
One typed interface for reading and safely writing work across GitHub Issues, Linear, Jira Cloud, and Azure DevOps. Start with a provider, then adopt the prepare → inspect → commit protocol where side effects matter.
Work SDK is a local TypeScript library. Credentials stay in your process and requests go directly to the configured tracker.
Choose a path
Build your first integration
Install the package, configure a provider, read an item, and commit a safe update.
02Add Azure DevOps
Configure Entra or PAT auth, custom processes, WIQL search, priorities, and parent links.
03Give it to an agent
Design narrow tools, approval gates, stable idempotency keys, and conflict recovery.
04Look up the API
Review every client method, normalized type, capability, and commit receipt.
05Run a real example app
Try an approval CLI or signed webhook bot locally with safe fake credentials.
Your first safe write
Provider adapters are separate subpath exports. Your application gets one normalized client without pulling unused provider code into the bundle.
npm install work-sdkimport { createWorkClient } from "work-sdk";
import { github } from "work-sdk/github";
const work = createWorkClient({
adapter: github({
owner: "acme",
repo: "api",
token: process.env.GITHUB_TOKEN!,
}),
});
const change = await work.prepareUpdate("481", {
state: "closed",
});
console.log(change.changes, change.warnings);
const result = await work.commit(change, {
idempotencyKey: "merge:acme/api#481",
});prepareUpdate reads the current item and creates an integrity-protected plan. No provider mutation occurs until commit.
The mental model
- Prepare intent.Validate input, read current state, calculate an exact diff, and capture the expected revision.
- Inspect consequences.Evaluate field changes and provider warnings in code, an approval UI, or an agent policy.
- Commit once.Verify the plan fingerprint and revision, then write with a stable idempotency key.
Provider support
| Provider | Import | Protocol | Distinctive behavior |
|---|---|---|---|
| GitHub Issues | work-sdk/github | REST | Open/closed state reasons, multiple assignees |
| Linear | work-sdk/linear | GraphQL | Cursor pagination, team workflow resolution |
| Jira Cloud | work-sdk/jira | REST v3 | ADF rich text, workflow transitions |
| Azure DevOps | work-sdk/azure-devops | REST + WIQL | JSON Patch revisions, custom processes, parent relations |