Skip to main content

SDK Packaging Workflow

SDK Packaging Workflow

Last updated: 2026-02-18

Bounded Health provides an enterprise TypeScript SDK package scaffold for partner integrations.

1. Package location

  • sdks/typescript
  • Package name: @Bounded Health/enterprise-sdk

2. What is included

  • Typed client wrapper: sdks/typescript/src/client.ts
  • Shared type definitions: sdks/typescript/src/types.ts
  • Package entrypoint: sdks/typescript/src/index.ts
  • Build and type-check scripts in package package.json

3. Build and validation

Build SDK package:

bash
npm run sdk:ts:build

Type-check SDK package:

bash
npm run sdk:ts:typecheck

Regenerate SDK OpenAPI metadata from pinned snapshot:

bash
npm run sdk:ts:generate

4. Contract snapshot export

Export OpenAPI and AsyncAPI snapshots:

bash
npm run contracts:export

Outputs:

  • docs/integration-opportunities/contracts/openapi.enterprise.v1.json
  • docs/integration-opportunities/contracts/asyncapi.webhooks.v1.json

5. Release recommendation

  1. Export contracts for release candidate build.
  2. Build and test SDK package against that snapshot.
  3. Tag SDK with matching API version metadata.
  4. Publish package to partner registry.
  5. Publish release notes in docs/integration-opportunities/releases/.

Optional GitHub Actions publish workflow:

  • .github/workflows/publish-enterprise-sdk.yml
  • Supports dry_run=true and real publish (dry_run=false) using NPM_TOKEN.

6. Snapshot pinning and CI automation

  • SDK tests pin against committed OpenAPI snapshot:
    • docs/integration-opportunities/contracts/openapi.enterprise.v1.json
  • Workflow .github/workflows/sdk-contracts.yml automatically:
    1. Regenerates OpenAPI/AsyncAPI contracts.
    2. Regenerates SDK OpenAPI metadata (sdks/typescript/src/generated/contract.ts).
    3. Fails if snapshot/generated diffs are uncommitted.
    4. Rebuilds SDK and runs snapshot tests.