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

@entendi/cli

v0.12.0

Published

Comprehension accountability layer for AI-assisted work

Readme

Entendi

Comprehension accountability for AI-assisted work.

"entendí" means "I understood" in Italian and Spanish, from intendere.

Why

Software engineering with LLMs moves faster than humans learn. Code assistants generate abstractions, design patterns, and infrastructure in seconds. Work that used to take days of learning now takes one prompt.

People stop understanding what they ship. When an LLM writes your Bayesian update function, sets up your CI pipeline, and deploys it all in one session, there's no pressure to understand any of it. Junior developers ship patterns they can't debug. Researchers use statistical methods they can't explain. The code works. The human didn't grow.

The solution isn't to slow down the AI. It's to make sure the human keeps up.

How it works

Entendi sits in your AI coding environment, detects technical concepts from your code and conversation, and checks whether you understand them.

You: "deploy to Cloudflare Workers"

Claude: [completes the deployment]
        "By the way, Workers run on V8 isolates, not containers.
         How does that affect what Node APIs you can use?"

You: "I'm not sure"

Claude: [offers a Socratic tutor session]
        "Let's work through it. What runtime does Node.js normally use,
         and why would V8 isolates be different?"

It finishes your request first, then asks. If you know the material, it leaves you alone. If you don't, it teaches you.

Pipeline

  1. Detect — LLM-level concept detection identifies what you're working with from conversation context
  2. Decide — Bayesian mastery tracking decides if a probe makes sense given your knowledge profile
  3. Probe — A question gets woven in naturally, scored on a 0-3 comprehension rubric
  4. Teach — Low scores trigger a 4-phase Socratic tutor (assess, guide, correct, verify)
  5. Track — Mastery updates go through a Graded Response Model with spaced repetition scheduling

Supported platforms

| Platform | Setup method | |----------|-------------| | Claude Code | Plugin install (richest integration — hooks + MCP) | | Cursor | MCP App with inline views (status dashboard, probes, ZPD frontier) | | VS Code / GitHub Copilot | MCP server via .vscode/mcp.json | | JetBrains | AI Assistant MCP integration | | Windsurf | MCP server config | | Zed | Context server config | | OpenCode | MCP server config |

Install

npx @entendi/cli init

Auto-detects your editor (Claude Code, Cursor, VS Code, JetBrains, Windsurf, Zed, OpenCode) and writes the correct config. Use --platform <name> to configure a specific platform, or --platform generic to print raw MCP config JSON.

Link your account

Inside any AI coding session:

You: "entendi login"

This opens a browser window. Sign in (or create an account), click Confirm Link, and tell your AI you're done. Your API key is saved to ~/.entendi/config.json automatically.

Dashboard

View your knowledge profile at entendi.dev. Sign in with the same account you used during entendi login.

The dashboard includes:

  • Mastery overview — concept-level understanding with confidence intervals
  • Analytics — learning velocity, retention curves, time-series progression
  • Integrity — response authenticity scoring, anomaly detection
  • Codebases — GitHub-linked repos with tiered concept extraction
  • Syllabi — custom learning paths from PDFs, URLs, or markdown
  • Organization — team management with custom roles and permissions

The model

Entendi's knowledge tracing engine combines three techniques:

  • Bayesian mastery state — Gaussian belief (mu, sigma) over understanding, updated via Graded Response Model with Laplace approximation
  • FSRS-4.5 spaced repetition — power-law forgetting curve R(t, S) = (1 + F·t/S)^(-0.5) for scheduling probe timing
  • Information-theoretic probe selection — maximizes Fisher information weighted by memory decay to ask the most useful question

Probes are secured with HMAC-SHA256 signed tokens (single-use, 30-minute TTL, concept-bound). Response integrity is scored via anomaly detection with per-user and population-level baselines.

Stack

  • TypeScript / Node 22 / Vitest
  • Hono on Cloudflare Workers
  • Drizzle ORM + Neon PostgreSQL
  • Better Auth (email/password, API keys, orgs)
  • MCP (Model Context Protocol) with MCP App views for Cursor
  • Claude Code hooks (SessionStart, UserPromptSubmit)
  • ECharts for analytics visualization
  • Stripe for billing

Development

git clone https://github.com/LemonThyme/entendi.git
cd entendi
./setup.sh

Commands

| Command | What it does | |---------|-------------| | npm run api:dev | Local API server (port 3456) | | npm run build | Build hooks, MCP, plugin, dashboard, content | | npm run plugin:reinstall | Build + clear cache + reinstall Claude Code plugin | | npm test | Run tests (930 tests across 88 files) | | npx wrangler deploy | Deploy to Cloudflare Workers |

After code changes

npm run plugin:reinstall    # build + reinstall plugin

The build stamps each plugin version with the git hash, so Claude Code always picks up your latest changes.

Debug

All hooks, MCP tools, and API calls log to ~/.entendi/debug.log.

License

MIT