@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
- Detect — LLM-level concept detection identifies what you're working with from conversation context
- Decide — Bayesian mastery tracking decides if a probe makes sense given your knowledge profile
- Probe — A question gets woven in naturally, scored on a 0-3 comprehension rubric
- Teach — Low scores trigger a 4-phase Socratic tutor (assess, guide, correct, verify)
- 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 initAuto-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.shCommands
| 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 pluginThe 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
