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

drift-watch

v0.2.0

Published

Drift and repetitive error analyzer for AI agentic coding sessions

Readme

drift-watch

Drift and repetitive error analyzer for AI agentic coding sessions.

Detects behavioral patterns, recurring mistakes, and suggests corrective strategies across Claude Code, Codex, and Gemini CLI.

Concept

Agentic AI coding creates emergent behaviors that didn't exist before. drift-watch monitors these behaviors over time, identifies patterns, and feeds corrections back into the system (linter rules, test cases, CLAUDE.md updates, documentation) - creating a self-improving feedback loop.

Prerequisites

Installation

npm install -g drift-watch

Quick Start

# Initialize the database and check prerequisites
drift-watch init

# Scan conversations for drift patterns
drift-watch scan

# View a report of detected patterns
drift-watch report

# Get corrective strategy suggestions
drift-watch suggest

Commands

drift-watch init

Initialize the drift-watch data directory (~/.drift-watch), start the Dolt database server, and apply schema migrations.

drift-watch scan

Discover new AI conversations from Claude Code, Codex, and Gemini CLI. Analyze them for behavioral patterns and store findings in the database.

drift-watch status

Show the current state of the drift-watch server and database.

drift-watch report [options]

Display detected patterns and findings.

| Option | Description | | -------------------- | ---------------------------------------------------------------- | | --by-model | Group findings by AI model | | --by-project | Group findings by project | | --since <date> | Filter findings after date (e.g. 7d, 2w, 1m, 2026-01-01) | | --category <cat> | Filter by category | | --limit <n> | Max rows (default: 20) | | --with-suggestions | Show suggestions alongside each pattern |

drift-watch suggest [options]

Generate corrective strategies for detected patterns using Claude. Each run is tracked for longitudinal analysis.

| Option | Description | | ---------------- | -------------------------------------------------- | | --pattern <id> | Target a specific pattern | | --limit <n> | Max patterns to process (default: 5) | | --refresh | Re-generate suggestions for patterns with new data | | --since <date> | Only process patterns seen since date |

drift-watch suggest history [options]

View past suggest runs and their outputs.

| Option | Description | | ------------ | ------------------------------- | | --run <id> | Show details for a specific run |

drift-watch config show

Display the current configuration.

drift-watch config set <key> <value>

Update a configuration value. Available keys:

| Key | Default | Description | | ------------------- | ----------------- | -------------------------------------- | | scan_interval | 0 3 * * 0 | Cron expression for scheduled scans | | claude_model | sonnet | Claude model fallback | | scan_model | haiku | Claude model for scan analysis | | suggest_model | claude-opus-4-6 | Claude model for suggestion generation | | categories | all | Comma-separated category filter | | excluded_projects | (none) | Comma-separated project paths to skip | | dolt_port | (auto) | Override the Dolt server port |

drift-watch cron install [--interval <cron-expr>]

Add a crontab entry for periodic scanning. Default: weekly on Sunday at 3am (0 3 * * 0).

drift-watch cron remove

Remove the drift-watch crontab entry.

drift-watch cron status

Show whether the cron job is installed and the last run date.

Development

pnpm install
pnpm test          # run tests
pnpm test:watch    # tests in watch mode
pnpm lint          # ESLint
pnpm format        # Prettier auto-format
pnpm build         # compile TypeScript
pnpm check         # type-check + lint + format check

Architecture

See docs/architecture.md for layers, modules, and data flow.

Decisions

Architectural decisions are recorded in docs/adr/.

License

ISC