Drift extracts the real API surface and checks that JSDoc, examples, and markdown still describe it.
bun add -D @driftdev/cli
drift
drift list --undocumented
No config. Entry auto-detects from package.json (types, exports, main, module, bin). Pass an entry if the layout is custom: drift src/index.ts.
JSON when piped: {ok, data, meta}. Exit 0 clean, 1 findings, 2 error.
- uses: ryanwaits/drift/action@v1
with:
min-coverage: 80
Same check as local drift. Floor cannot drop. No model.
Or: drift --min 80 in any CI.
drift docs init contents/docs
drift docs propose # optional, needs TYPESAFE_API_KEY
# review + commit drift.docs.json
drift # key coverage now on
drift docs baseline
Ghosts fail. Gaps above baseline fail. Inversions warn.
drift mcp
drift get createClient --json
One get per claim. Never from memory.
drift --spec openapi.json
drift token.clar --abi token.abi.json