npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@devinnn/docdrift

v0.2.3

Published

Detect and remediate documentation drift with Devin sessions

Readme

Devin Doc Drift (Client E: DataStack)

Docs that never lie: detect drift between merged code and docs, then open low-noise, evidence-grounded remediation via Devin sessions.

Table of contents


Deliverables

  • npm package: @devinnn/docdrift — TypeScript CLI (docdrift)
    • validate — Validate docdrift.yaml
    • detect --base <sha> --head <sha> — Check for drift
    • run --base <sha> --head <sha> — Full run with Devin
    • status --since 24h — Show run status
    • sla-check — Check for doc-drift PRs open 7+ days and open a reminder issue
    • baseline set [SHA] — Update lastKnownBaseline in docdrift.yaml (default: GITHUB_SHA or HEAD)
    • setup — Interactive setup (Devin analyzes repo, generates v2 docdrift.yaml)
    • generate-yaml — Generate config from repo fingerprint [--output path] [--force]
    • export — Export DeepWiki to static MDX [--repo owner/name] [--out path] [--fail-on-secrets]
  • GitHub Action: .github/workflows/devin-doc-drift.yml
  • Repo-local config: docdrift.yaml
  • Demo API + OpenAPI exporter + driftable docs
  • PR template + Loom script

Quick start

# Interactive setup (requires DEVIN_API_KEY; add repo in Devin Machine first)
npx @devinnn/docdrift setup

# Or generate config only (scriptable)
npx @devinnn/docdrift generate-yaml --output docdrift.yaml --force

Setup guide — Setup options, prerequisites


Modes & spec providers

| Mode | When it runs | | ---- | -------------- | | strict (default) | Only when spec drift is detected (OpenAPI, GraphQL, etc.). No spec drift → no Devin session. | | auto | Also when pathMappings match (file changes hit match patterns). |

| Spec formats | openapi3, swagger2, graphql, fern, postman |

Configuration — Modes, spec providers, full config


Guides

| Guide | What’s inside | | ----- | -------------- | | Setup | setup vs generate-yaml, prerequisites | | Configuration | Modes, spec providers; links to full schema | | How it works | Detection, gate, core flow, low-noise design | | Ecosystems | OpenAPI, FastAPI, Fern, GraphQL, Mintlify, Postman, monorepos | | Local development | Local usage, demo without GitHub | | CI & GitHub | GitHub Actions, secrets, demo on GitHub | | Using in another repo | Published package, CLI, GitHub Actions | | Publishing | Publishing the npm package | | Export | DeepWiki static snapshot to MDX | | Loom script | Recording script for demos |

Reference


Project docs layout (this repo)

| Path | Purpose | | ---- | ------- | | apps/docs-site/openapi/openapi.json | Published OpenAPI spec (docdrift updates when drift detected) | | apps/docs-site/docs/api/ | API reference MDX (npm run docs:gen) | | apps/docs-site/docs/guides/ | Conceptual guides (auth, etc.) |

Generated spec from code: openapi/generated.json (npm run openapi:export). Drift = generated vs published differ.


Why low-noise

  • Single branch strategy — One branch for all runs; Devin updates the existing PR when present (default branchStrategy: single)
  • Single session, single PR — One Devin session for the whole docsite
  • Gate on spec diff — No session when no drift (strict mode)
  • Baseline drift (lastKnownBaseline) — Compare to last known sync; no drift since then → no session
  • requireHumanReview — Issue when PR touches guides/prose
  • 7-day SLA — Reminder issue for stale doc-drift PRs
  • Confidence gating — Allowlist, exclude, idempotency

How it works — Detection, flow, evidence bundle