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

mewkit

v2.3.1

Published

MeowKit CLI — scaffold, upgrade, and manage your AI agent toolkit

Downloads

1,862

Readme

mewkit

CLI for MeowKit — scaffold, migrate, upgrade, and manage your AI-agent toolkit. Requires Node.js ≥ 24.

Install

npx mewkit init                  # provider picker (Claude Code / Codex / Cursor), then scaffold
npx mewkit init --target codex   # skip the picker — scaffold a Codex-native toolkit
npx mewkit <command>             # runtime commands (see below)

Commands

| Command | Description | | --- | --- | | mewkit init | Scaffold or update a project. --target <provider>, --profile, --dry-run, --force, --beta | | mewkit upgrade | Update to the latest release; auto-refreshes installed provider toolkits. --check, --beta, --list | | mewkit migrate <tool> | Export the .claude/ setup to Codex or Cursor. --dry-run, --force, --global, … | | mewkit pack | Manage install packs: list / add <pack> / remove <pack> | | mewkit providers | Show the supported-tool matrix. --json, <provider> | | mewkit memory | View/manage .meowkit/memory: --show, --stats, --clear, capture | | mewkit doctor | Diagnose environment (Node, Python, Git, .meowkit/ / .claude/ layout) | | mewkit validate | Verify .claude/ structure integrity. --packs | | mewkit setup | Guided configuration (Python venv, MCP, .env, .gitignore) | | mewkit budget | Token usage + cost. --monthly; budget context for per-profile size | | mewkit capabilities | Resolve installed skills/commands for an intent: list, explain, resolve, projections | | mewkit visual-plan | Structured visual plan: validate / approve / edit / view + feedback loop | | mewkit task | new / list — structured task files | | mewkit status | Print version, channel, and config |

Init & targets

On a fresh install, mewkit init opens a provider multiselect — Claude Code (preselected), Codex, Cursor — and provisions each picked toolkit (Claude Code installs .claude/ from the latest GitHub release). --target skips the picker.

  • mewkit init --target codex — create a Codex-only project by copying the authored Codex bundle (AGENTS.md, .codex/{config.toml,agents,hooks.json,hooks}, .agents/skills/). No .claude/, no conversion.
  • mewkit init --target cursor — unpack .claude/, then export to Cursor.
  • mewkit init --profile <name> — install a right-sized subset (see Profiles).

Migrate

mewkit migrate <tool> converts a Claude Code setup (agents, commands, skills, config, rules, hooks) into the target's native surfaces. Supported targets: codex, cursor. Idempotent — re-running over an unchanged source is a no-op, user-edited targets are kept unless --force, and every run previews with --dry-run.

npx mewkit migrate codex --dry-run     # plan + reference report, writes nothing
npx mewkit migrate codex               # migrate into the current project
npx mewkit migrate codex --include-mcp # also convert .mcp.json → [mcp_servers]

What migrates where for Codex:

| Source | Codex target | | --- | --- | | .claude/agents/*.md | .codex/agents/*.toml | | .claude/commands/**/*.md, .claude/skills/** | .agents/skills/*/SKILL.md | | CLAUDE.md, .claude/rules/*.md | AGENTS.md (merged, 32 KiB budget) | | .claude/hooks/*.cjs | .codex/hooks/ + hooks.json | | .mcp.json (opt-in) | config.toml [mcp_servers] (--include-mcp) |

Markdown references are rewritten with a fence-aware classifier: inline refs are repointed, runnable fenced commands are rewritten only when the referenced asset migrates in the same run (otherwise preserved and listed in the dry-run report), and citations stay verbatim. Generated files carry no toolkit branding.

Memory

Project memory lives in the runtime-neutral .meowkit/ state root (memory/, telemetry/, state/, cache/), so the same state works across providers. Every structured write goes through one validated contract (schema → secret scrub → injection scan → lock → atomic replace). mewkit migrate safely relocates any legacy .claude/memory/, and mewkit memory capture routes a ##pattern / ##decision / ##note prompt into the right store.

Profiles & Packs

init --profile <name> installs a right-sized subset. Every profile ships the safety base (gate/privacy hooks, security rules, settings, statusline, core commands).

| Profile | Contents | | --- | --- | | core | base + lifecycle essentials + memory + utility | | developer | core + testing + git + docs | | product | developer + product / autobuild | | atlassian | developer + Jira / Confluence | | security | core + security audit | | research | core + research / brainstorming | | full | everything (default) |

Add or drop domains with mewkit pack add|remove (remove preserves shared, base-covered, and user-edited files). mewkit budget context estimates each profile's loadable context size; mewkit validate --packs checks manifest coherence and the safety invariant.

Visual Plan

Structured visual review for UI-bearing plans. A plan's visual-plan/plan.json is a coverage ledger + canvas (lanes, artboards, semantic-HTML wireframes, connectors, annotations); the CLI validates and gates it, and a transient 127.0.0.1 React studio renders and edits it.

npx mewkit visual-plan validate <plan-dir> [--json]      # schema + coverage + refs + safe-HTML + hashes
npx mewkit visual-plan approve <plan-dir> --revision <n> # single writer of review.status (Gate 1)
npx mewkit visual-plan view <plan-dir>                   # read-only studio
npx mewkit visual-plan edit <plan-dir>                   # editable (single-editor lock)

Security: the studio binds 127.0.0.1 only, is Host-header guarded against DNS rebinding, blocks path traversal, and enforces a strict CSP (script-src 'self'). Wireframe HTML is DOMPurify-sanitized at save and render. The loopback primitives in src/local-web/ are ported in part from patoles/agent-flow under Apache-2.0 — see NOTICE.

Related

License

MIT