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

devkit-ai

v0.1.4

Published

Install the Devkit-AI plugins (typescript-rules, jsdoc-standards) into Claude Code, Cursor, or OpenCode. No model lock-in: source files are runtime-neutral, and the installer translates per-target.

Readme

Devkit-AI

A curated collection of reusable skills, agents, and hooks — typescript-rules and jsdoc-standards — installable into Claude Code, Cursor, or OpenCode with a single command. Source files are runtime-neutral; the installer translates per-target so no runtime is privileged.

Install

npx devkit-ai

What the installer prompts

  1. Editor — Claude Code, Cursor, or OpenCode.
  2. Scope — project (committed to the repo), project-local (gitignored, just for you), or user-global (every project on this machine).
  3. Plugins — multi-select; both are pre-checked. Empty selection cancels the run.
  4. Conflicts — when a destination file already exists, the installer asks per file whether to overwrite, skip (default), or abort. On the first conflict the installer also asks once whether to apply your choice to every remaining conflict in this run, so you do not have to answer the same question repeatedly.

Ctrl-C at any prompt is a clean exit — no files are written until you confirm at the end of the prompt flow.

Where files land

| Editor | project / project-local | user-global | | ----------- | ------------------------------- | ------------------------- | | Claude Code | <cwd>/.claude/ | ~/.claude/ | | Cursor | <cwd>/.cursor/ | ~/.cursor/ | | OpenCode | <cwd>/.opencode/ | ~/.config/opencode/ |

Inside each target the installer writes the standard subdirectories — skills/, commands/, agents/, and either hooks/hooks.json (Claude Code, OpenCode) or hooks.json at the root (Cursor). For project-local scope, the installer maintains a delimited block in <cwd>/.gitignore listing every file it wrote, so re-running the installer replaces the block in place and never duplicates entries:

# >>> Devkit-AI
.claude/skills/typescript-conventions/SKILL.md
.claude/commands/ts-review.md
...
# <<< Devkit-AI

Known limitations

  • OpenCode hooks are skipped. OpenCode does not consume hooks.json; it expects a TypeScript plugin instead. Skills and commands are installed; real-time enforcement hooks won't fire under OpenCode until a TypeScript port ships.
  • Cursor agents are skipped. Cursor does not currently expose a portable agent file format, so agents/*.md from typescript-rules and jsdoc-standards is not copied for Cursor targets. The skills and commands carry the relevant context.
  • Cursor user-global scope ships best-effort. Only ~/.cursor/hooks.json and ~/.cursor/hooks/ are formally documented. Commands, rules, and skills at user scope follow the same shape but are not officially documented by Cursor.
  • OpenCode agents and commands are translated at install time. The source files use Claude Code's frontmatter format (model: sonnet, ${CLAUDE_PLUGIN_ROOT}). For OpenCode targets, the installer drops the model line (so the agent inherits the user's opencode.json model — any provider), adds mode: subagent, removes Claude Code's allowed-tools: [Agent], and rewrites plugin-root paths to ... The body of every agent and command reads the same in both runtimes.

Flags

| Flag | Effect | | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | --dry-run | Print every file that would be written, without touching disk. Existing destinations are listed as would write (overwrites existing) — no prompts fire. | | --help | Show usage and exit. | | --version | Print the installer version and exit. |

Releasing (maintainer note)

Releases are managed by release-please. On every push to main, release-please opens (or updates) a PR that bumps the version in package.json and .claude-plugin/marketplace.json and appends a changelog entry. Merging that PR creates a GitHub release with a vX.Y.Z tag, which triggers the publish job in .github/workflows/release-please.yml. That job runs npm pack --dry-run (sanity check) and then npm publish to the public npm registry, authenticated by an NPM_TOKEN secret (an npm access token with publish permissions, stored in the repository's GitHub secrets).


typescript-rules

A plugin that enforces TypeScript coding conventions with automatic validation, code review, and a dedicated reviewer agent.

Overview

This plugin provides opinionated TypeScript conventions and enforces them automatically as you code. It includes a comprehensive conventions guide, shell hooks that block non-compliant patterns, prompt-based validation on file writes, and an agent-powered code reviewer.

Features

  • Conventions skill — full TypeScript style guide covering types, error handling, imports, naming, and dependencies
  • Code review agent — AI-powered reviewer that checks files against the conventions and reports issues with severity levels (Claude Code and OpenCode)
  • /ts-review command — run a code review on specific files, directories, or your uncommitted changes
  • Enforcement hooks — automatically blocks any, enum, export default, manual package.json edits, and non-pnpm package managers (Claude Code and Cursor; OpenCode does not consume hooks.json)

Installation

The recommended path is the cross-runtime installer:

npx devkit-ai

It prompts for editor, scope, and plugins. To target a specific editor without prompts, see npx devkit-ai --help.

Claude Code (direct)

Requires Claude Code v1.0.33 or later.

From within Claude Code, add the marketplace and install:

/plugin marketplace add pau-vega/Devkit-AI
/plugin install typescript-rules@pau-vega-Devkit-AI

Then run /reload-plugins to activate without restarting.

To load a local clone directly:

git clone https://github.com/pau-vega/Devkit-AI.git
claude --plugin-dir ./Devkit-AI

OpenCode

Use the installer (npx devkit-ai) and pick opencode. The agent is translated at install time: the model: sonnet line is dropped (the agent inherits your opencode.json model — Anthropic, OpenAI, Google, local, anything OpenCode supports), mode: subagent is added, and ${CLAUDE_PLUGIN_ROOT} paths are rewritten to relative .. references.

Cursor

Use the installer (npx devkit-ai) and pick cursor. Agents are skipped (Cursor has no portable agent format); skills, commands, and hooks are installed. Restart Cursor to load the new files.

Usage

Review your code

/typescript-rules:ts-review              # reviews uncommitted changes or last commit
/typescript-rules:ts-review src/utils    # reviews a specific directory
/typescript-rules:ts-review src/app.ts   # reviews a specific file

Reference conventions

The assistant consults the typescript-conventions skill automatically when writing or reviewing TypeScript code. On Claude Code and Cursor, the prompt-based hooks also validate writes against the conventions in real time.

Hooks

On Claude Code and Cursor, hooks activate automatically once the plugin is installed — they block non-compliant patterns and suggest the correct alternative. OpenCode does not currently consume hooks.json.


jsdoc-standards

A plugin that enforces consistent JSDoc documentation across TypeScript projects, with three configurable enforcement levels.

Overview

This plugin provides opinionated JSDoc documentation rules and warns about missing documentation as you code. It includes a full conventions reference, a PreToolUse hook that warns (never blocks) on missing JSDoc, an on-demand review command, and a dedicated reviewer agent.

Features

  • Conventions skill — full JSDoc style guide covering format, tag usage, and the three enforcement levels (Minimal, Standard, Strict)
  • JSDoc review command — run a documentation audit at a chosen level
  • Reviewer agent — autonomous JSDoc coverage checker with Error/Warning/Suggestion severity (Claude Code and OpenCode)
  • PreToolUse hook — warns (never blocks) when exported TypeScript constructs are missing JSDoc (Claude Code and Cursor; OpenCode does not consume hooks.json)

Installation

The recommended path is the cross-runtime installer:

npx devkit-ai

Claude Code (direct)

From within Claude Code:

/plugin marketplace add pau-vega/Devkit-AI
/plugin install jsdoc-standards@pau-vega-Devkit-AI

Then run /reload-plugins to activate without restarting.

OpenCode

Use the installer (npx devkit-ai) and pick opencode. The reviewer's model line is dropped at install time (inherits your opencode.json model), and plugin-root paths are rewritten to relative references.

Cursor

Use the installer (npx devkit-ai) and pick cursor. The reviewer agent is skipped (Cursor has no portable agent format); the command, skill, and warning hook are installed.

Usage

Review your JSDoc coverage

/jsdoc-standards:jsdoc-review                 # standard level, changed files
/jsdoc-standards:jsdoc-review strict          # strict level, changed files
/jsdoc-standards:jsdoc-review minimal src/utils  # minimal level, specific path

Reference conventions

The assistant consults the jsdoc-conventions skill automatically when writing or documenting TypeScript code. On Claude Code and Cursor, the prompt-based hook validates writes against the conventions in real time.

Hooks

On Claude Code and Cursor, hooks activate automatically once the plugin is installed — they warn about missing JSDoc on every write. OpenCode does not currently consume hooks.json.