Docs

Work SDK documentation

One typed interface for reading and safely writing work across GitHub Issues, GitLab, 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

  1. Build your first integration — Install the package, configure a provider, read an item, and commit a safe update.
  2. Add Azure DevOps — Configure Entra or PAT auth, custom processes, WIQL search, priorities, and parent links.
  3. Give it to an agent — Design narrow tools, approval gates, stable idempotency keys, and conflict recovery.
  4. Look up the API — Review every client method, normalized type, capability, and commit receipt.
  5. Run 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.

Terminal
npm install work-sdk
safe-update.ts
import { 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

  1. Prepare intent. Validate input, read current state, calculate an exact diff, and capture the expected revision.
  2. Inspect consequences. Evaluate field changes and provider warnings in code, an approval UI, or an agent policy.
  3. Commit once. Verify the plan fingerprint and revision, then write with a stable idempotency key.

Provider support

ProviderImportProtocolDistinctive behavior
GitHub Issueswork-sdk/githubRESTOpen/closed state reasons, multiple assignees
GitLabwork-sdk/gitlabREST v4Self-Managed, guarded labels, explicit type maps
Linearwork-sdk/linearGraphQLCursor pagination, team workflow resolution
Jira Cloudwork-sdk/jiraREST v3ADF rich text, workflow transitions
Azure DevOpswork-sdk/azure-devopsREST + WIQLJSON Patch revisions, custom processes, parent relations
NextGetting started →Install Work SDK and complete the full read-to-write flow.

On this page