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

icm-walk

v1.0.2

Published

Workspace evaluation CLI — ICM walk, Cursor readiness checks, and methodology invariants.

Readme

icm-walk 🚶‍♂️

Walk your workspace. Validate the invariants. Keep your agents oriented.

icm-walk is a CLI tool that evaluates workspaces against methodology invariants. It supports multiple evaluation modes via feature flags.

Install

npm install -g icm-walk

Or run directly:

npx icm-walk

Usage

# ICM Walk — validates ICM workspace structure
icm-walk [directory] --icm

# Cursor Evaluation — checks workspace readiness for Cursor/agent coding
icm-walk [directory] --cursor

# JSON output (works with any mode)
icm-walk [directory] --cursor --json

# Verbose
icm-walk -v

# Help
icm-walk --help

Evaluation Modes

--icm — ICM Walk (default)

Validates a directory against the Interpretable Context Methodology (ICM) invariants. Runs the walk test — an agent with no memory opens the workspace cold and verifies it can orient, act, and report from the files alone.

ICM (Van Clief & McDermott, arXiv:2603.16021) replaces orchestration code with folder structure: numbered folders carry sequencing, hierarchy carries context scoping, plain markdown files carry state.

| # | Invariant | What happens if it fails | |---|-----------|--------------------------| | 1 | Entry file exists (CLAUDE.md, AGENTS.md, or .hermes.md) | Agent can't orient — fails before starting | | 2 | Entry file under ~60 lines / ~800 tokens | Bloated routing = agent loses the map | | 3 | Routing files carry no content payload | Content in routing files = context-blown entry point | | 4 | Stage folders follow NN_kebab-name convention | Pipeline sequence is guesswork | | 5 | Each stage folder has a CONTEXT.md | Agent enters a folder blind | | 6 | CONTEXT.md has Inputs, Process, Outputs, Human check | Missing sections = agent makes up the workflow | | 7 | Inputs split working vs reference | Agent can't tell fresh data from ground truth | | 8 | Factory directories exist (references/, _shared/) | Stable knowledge mingles with per-run artifacts | | 9 | Output folders exist per stage | Products have no home — next stage can't find them | | 10 | Token estimate per stage in 200–8,000 range | Bloated stages blow context windows |

--cursor — Cursor Evaluation

Evaluates a workspace's readiness for Cursor/agent-based coding. Checks that your project is configured so an AI coding agent can work effectively.

| # | Check | What it looks for | |---|-------|-------------------| | 1 | .cursorrules | Exists, sized under 2,000 tokens, covers tech stack, code style, and testing | | 2 | .cursorignore | Present when generated dirs exist (node_modules, .venv, dist) | | 3 | Entry file | Sized for Cursor's context window (target < 800 tokens) | | 4 | Cursor hints | Entry file contains Cursor-specific guidance (optional) | | 5 | README | Has setup and usage sections — Cursor uses this as primary orientation | | 6 | .gitignore | Present — Cursor respects it to skip build artifacts | | 7 | Dependency manifest | package.json, pyproject.toml, or Cargo.toml found | | 8 | Tests | Test directory or test files exist | | 9 | File size distribution | Analyzes all source files, flags anything over 3,000 tokens | | 10 | tsconfig.json | Bonus check for TypeScript projects |

# Quick read on a project
icm-walk /path/to/project --cursor

# CI pipeline check
icm-walk /path/to/project --cursor --json | jq '.status'

Exit codes

  • 0 — All checks pass. Workspace is healthy.
  • 1 — Warnings only. Workspace works but has cleanup opportunities.
  • 2 — Failures. Breaking invariants — fix before relying on this workspace.

Integrating with CI

# ICM mode CI check
icm-walk --icm --json | jq '.status'

# Cursor mode CI check
icm-walk --cursor --json | jq '.status'

License

MIT — see LICENSE.


Built with 🛸 by Zero for shift-zero