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

@trymesh/cli

v0.3.99

Published

Mesh terminal agent CLI. Zero-config: ships with a shared Mesh LLM proxy so no AWS credentials are needed.

Downloads

9,826

Readme

npm downloads node

Website · Docs


A terminal-first AI engineering agent. Built to prove its work, not perform it.

npm install -g @trymesh/cli
mesh login
mesh

mesh login opens a browser and hands the session back to your terminal. The shared Mesh gateway routes to Gemini 3.5 Flash by default. Requires Node 20+.

Headline behaviours

| | | | --- | --- | | Verifies | Every edit-turn runs pnpm test / pnpm typecheck / cargo check (auto-detected). No "tests pass" without an exit-0. | | Anti-thrash | After 3 consecutive edits without a passing verify, write tools are hard-blocked. The agent has to diagnose. | | Adaptive | Each prompt is classified — trivial gets a 900-byte prompt + 4 steps; complex gets the full scaffolding. | | Pre-fetch | Vague audits ("is X safe?") auto-read the top-3 relevant files before the LLM call. | | AST capsules | ts-morph for TS/JS, structured regex for Python/Rust/Go. Cached + invalidated on file change. | | OOM-safe | Pre-stat gate at 256 KB, slim-write fallback on huge indexes, 8 GB default heap. |

Models

Default is Gemini 3.5 Flash. Switch with /model inside the CLI or --model <alias> on the command line.

| Provider | Model | Alias | | --- | --- | --- | | Google | gemini-3.5-flash | flash, default | | Google | gemini-3.1-pro-preview | pro, gemini-pro | | Google | gemini-2.5-flash | 2.5-flash | | Google | gemini-2.5-pro | 2.5-pro | | Moonshot | kimi-k2.6 | kimi | | NVIDIA NIM | qwen / mistral / deepseek / llama variants | per-model alias | | Anthropic (via proxy) | claude-* | claude |

Commands

mesh                          # start interactive TUI
mesh --classic                # legacy scrollback REPL
mesh "<task>"                 # one-shot
mesh init                     # first-run setup + repo briefing
mesh doctor [fix]             # diagnose; --fix applies safe repairs
mesh /index                   # build the workspace index
mesh /tokens                  # context breakdown of the current session
mesh /undo                    # restore last file backup
mesh bench [--task id]        # run benchmark suite
mesh eval [--since ISO]       # replay historical turns; pass/fail scoring
mesh live                     # foreground watcher (verify + AI! triggers)
mesh pr [--intent …]          # build a PR proof bundle from current diff
mesh logout
mesh --version

Inside the interactive CLI, /help lists command groups.

Configuration

Environment variables. All optional — the defaults work.

| Variable | Default | Purpose | | --- | --- | --- | | MESH_FAST_PATH | off | Strict one-shot subprocess mode: minimal tool set, 4-step budget, 60 s wallclock. | | MESH_FORCE_TIER | auto | Pin scaffolding tier: trivial / small / complex. | | MESH_BENCH_RAW | off | Strip mesh's scaffolding for A/B comparison against a raw LLM. | | MESH_INDEX_TIMEOUT_MS | 8000 | Wallclock cap on ensureIndex. | | MESH_FIRST_INDEX_TIMEOUT_MS | 20000 | Wallclock cap on the first-run workspace index. | | MESH_TURN_TIMEOUT_MS | 60000 (fast-path only) | Hard kill on a single turn. | | MESH_DEBUG_LLM | off | Stream raw LLM request/response summaries to stderr. |

How a turn runs

prompt
  → classify complexity (trivial / small / complex)
  → maybe pre-fetch top-3 relevant files
  → build system prompt + capsule per tier
  → LLM call (streaming where supported)
    ↻ tool dispatch (read / grep / patch / run …)
  → verify command (extracted from package.json)
  → final answer with file:line citations

Workspace state

<project>/.mesh/
├── workspace.json        # meta marker; "indexed" | "partial" | "deferred"
├── index/                # ContextBudget + token-usage history
├── capsules/v1/          # AST capsule cache (mtime + content-hash keyed)
├── artifacts/            # tool-result artifacts (auto-pruned)
├── history/              # session transcripts
└── config.json           # workspace overrides

User-level state lives in ~/.config/mesh/. Both are size-capped (50 MB hard limit) and auto-recoverable.

Develop

pnpm --filter @trymesh/cli dev          # tsx watch
pnpm --filter @trymesh/cli build        # tsc + vite + minify
pnpm --filter @trymesh/cli typecheck
pnpm --filter @trymesh/cli test         # node:test, 276 tests
pnpm --filter @trymesh/cli smoke:release
pnpm --filter @trymesh/cli verify:release  # typecheck + build + test + smoke

License

Proprietary. See the root LICENSE.