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

enkeon

v0.13.2

Published

Enkeon CLI — `npx enkeon connect` wires Enkeon MCP and its rules into every AI tool (Claude Code, Cursor, Antigravity, OpenClaw, Hermes, Codex, Windsurf) plus SDK/terminal. JSON-first for humans and agents.

Readme

enkeon — Enkeon CLI

Enkeon was called ThinkingRoot; the thinkingroot command, @thinkingroot/* packages and THINKINGROOT_* variables keep working.

One command covers everything — sign in, create your ThinkingMemory, connect Cursor / Claude / Codex / SDK / terminal, and see it working.

npx enkeon connect

That’s the whole product surface in one ritual. Built for humans and AI agents: --json everywhere, non-interactive flags, env-var auth, stable exit codes.

Setup (the hero path)

npx enkeon connect                       # picker → finishes that path (+ SDK/CLI)
npx enkeon connect --agent claude-code   # Claude Code scenario
npx enkeon connect --agent everything    # all tools
npx enkeon connect --prompt              # paste into Claude/Cursor — agent integrates you
npx enkeon connect --yes                 # no prompts; full ground
npx enkeon connect --json --yes          # agent / CI contract
npx enkeon connect --name "Acme ThinkingMemory"
npx enkeon connect --token <jwt>
npx enkeon connect --rename              # move an entry older versions named `thinkingroot` to `enkeon`

What setup does:

  1. Which agent? — Claude Code · Cursor · Codex · Windsurf · Cline · Aider · OpenCode · Goose · Amp · Desktop · App · Everything
  2. You — browser device-flow login (or --token / --email)
  3. Your ThinkingMemory — create or select a project + mint tr_sk_
  4. Connect — wire that agent + SDK + CLI (or everything)
  5. Try it — remember + ask so you feel it working

tip: AI agents can use enkeon connect --prompt

Install

npm i -g enkeon            # or use npx enkeon

Binaries: enkeon, plus thinkingroot and the short alias trc. Requires Node ≥ 22. Zero runtime dependencies (native fetch + node:util).

How context reaches your tools

connect adds one MCP entry per tool. Nothing else runs on your machine: no hooks, no background process. The Enkeon server brings the context itself:

  • When a session opens — the rules, then a short note on where things stand: what is still open, your branches, who you are, where the last session stopped. Claude Code, ChatGPT, Codex and VS Code show it to the model from the first message.
  • On the first Enkeon answer — the full brief, for tools that do not show a server's opening note.
  • While you work — what a teammate or another tool saved since the session opened, once each.

Older versions of connect installed session hooks for Claude Code, Cursor and Codex. connect and disconnect now remove them (only ours — any other hook is left alone), and doctor flags any that are left.

See it in the terminal

enkeon statusline install     # Claude Code's status line (connect offers it)

Status line. Claude Code shows one line under the prompt:

enkeon ● this session: 6 recalled (3 Gmail, 1 Codex) · 2 saved · 1 conflict settled

What Enkeon handed this session, and where the ones that did not come from this tool came from (a connected app, or another AI tool that saved them); what this session saved; and conflicts with a team decision that were caught and settled (the AI tool settles them; nobody is asked). The counts are read from this session's own transcript, so two windows never mix. 0 recalled means your AI is working without your context. When something needs you — an app that stopped syncing, a sign-in never finished, credits running out — a warning is added at the end. A status line you already have is kept and runs first; enkeon statusline uninstall (or disconnect) puts it back. The line is printed from a local cache and refreshed in the background, so it never waits on the network.

Auth (also used by setup)

enkeon login                              # browser device-flow (default)
enkeon login --email [email protected] --password '…'
enkeon login --token <jwt-or-tr_sk_>      # CI / agents

| Env var | Purpose | | --- | --- | | ENKEON_TOKEN | account session token (control-plane ops) | | ENKEON_PROJECT_KEY | tr_sk_ project key (engine ops) | | ENKEON_PROJECT | current project id | | ENKEON_GATEWAY_URL | override gateway (default https://api.thinkingroot.com) | | ENKEON_JSON=1 | force --json output |

Each also works under its old THINKINGROOT_ name; the ENKEON_ one wins when both are set.

Other commands

login | logout | whoami
setup                      ← start here
init                       scaffold a Brain-as-Code /brain folder
project list | create | use <id> | status
key list | create | revoke
push | compile | deploy
ask "<question>"
memory remember | recall | profile
agent | fn | branch | prompt | user | route
logs | status | usage
mcp                        print MCP client config

Agent contract

  • --json → one JSON document on stdout.
  • --yes / non-TTY → never prompts.
  • Exit codes: 0 ok · 2 usage · 3 auth · 4 not-found · 5 rate-limit · 6 unavailable.

Architecture

One operation core (src/api.mjs) behind three faces: the human CLI, the --json agent surface, and @enkeon/mcp. Pure modules are unit-tested with node --test.