SDKDrift

Getting Started

Run SDKDrift in CI with one command

SDKDrift compares your OpenAPI contract with real SDK surfaces and returns both actionable drift findings and coverage notes.

1. Local scan

npx @sdkdrift/cli scan \
  --spec ./openapi.yaml \
  --sdk ./sdk/python \
  --lang python \
  --format json \
  --out ./sdkdrift.report.json \
  --min-score 90

2. Read output

  • `actionableFindings`: items to fix before release (missing endpoint, required fields, type issues)
  • `coverageNotes`: informational items (unsupported resource buckets, extra SDK methods)
  • `unmatchedReasons`: diagnostics for why operations did not map
  • `deductions`: category counts (human-readable)
  • `weightedDeductions`: weighted score internals

3. CI gate pattern

name: sdkdrift
on: [pull_request]
jobs:
  sdkdrift:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci
      - run: npx @sdkdrift/cli scan --spec ./openapi.yaml --sdk ./sdk/python --lang python --min-score 90 --format json --out ./sdkdrift.report.json
      - uses: actions/upload-artifact@v4
        with:
          name: sdkdrift-report
          path: ./sdkdrift.report.json