JSPM

  • Created
  • Published
  • Downloads 327
  • Score
    100M100P100Q121107F
  • License UNLICENSED

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

Package Exports

  • @trymesh/cli/dist/local-tools.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@trymesh/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Mesh — terminal-first AI engineering agent

npm version weekly downloads node license Gemini

A terminal-first AI engineering agent. Zero-config, multi-model, verifiable.

Website · Docs · Quickstart · Benchmarks


Mesh is what happens when an engineering agent is built to prove its work instead of perform it. Every code change is gated by an exact verification command extracted from your package.json. Every workspace lookup is an AST-precise capsule, not a regex guess. Every turn is classified into a complexity tier so trivial requests don't drag the full machinery of a multi-file refactor.

npm install -g @trymesh/cli
mesh /start

That's it. No API keys. No config. The shared Mesh gateway routes you to Gemini 2.5 by default.


Why Mesh

Most AI agents Mesh
Send the whole file to the LLM AST-precise capsules: exports, generics, JSDoc — not the bodies
Trust the model said "tests pass" Required-verify gate runs the exact command from package.json and fails the turn if it doesn't exit 0
Edit, edit, edit, ship Anti-thrash hard-block: 3 consecutive edits without a verify pass blocks writes until you diagnose
Same prompt for every task Adaptive scaffolding tiers — trivial / small / complex — drive prompt size, tool budget, capsule depth
Forget what worked last time Task memory — fingerprints similar past tasks, surfaces which tools succeeded vs failed

Quick start

# Interactive REPL in your project
mesh

# One-shot turn
mesh "explain how the cost router decides between models"

# Force a model
mesh --model pro "refactor invoice.ts to use async/await"

# Inspect the tier + capsule + system prompt WITHOUT spending a token
mesh scaffold inspect "rename Status to JobState across all files"

# Health check
mesh doctor

# Re-index workspace capsules
mesh /index

What you get on install

  • 🧠 The mesh interactive REPL (and aliases mesh-agent, mesh-daemon)
  • 71+ slash commands (/change, /index, /doctor, /scaffold, /usage, …)
  • 🔧 100+ workspace tools the agent can call (read, write, grep, run-command, AST refactors, timeline, …)
  • 📊 A reproducible bench suite (static-bench.mjs + llm-bench.mjs + median runner)
  • 💾 Persistent .mesh/capsules/v1/ AST capsule store with fs.watch invalidation
  • 🎯 Tier-aware adaptive scaffolding tuned over 18 fixture tasks
  • 🔄 Zero-config Gemini access via the shared Mesh gateway

Adaptive scaffolding (the secret sauce)

Mesh classifies every turn into one of three tiers and only spins up the machinery that tier actually needs:

Tier When it fires What's active
trivial ≤ 2 files, ≤ 300 LOC, QA or single-edit intent Minimal system prompt (~900 bytes), no capsule, no workflow state, 4-step budget
small ≤ 10 files, single-intent task Compact path+signatures capsule, evidence ledger in-memory, 8-step budget
complex Refactor / ship / risk=high / ≥ 8 files Full capsule + reverse-index, workflow state machine, edit-session tracking, 18-step budget, optional ensemble sampling

Want to see what Mesh is thinking before spending a token?

mesh scaffold inspect "fix the null deref in parse.ts" --capsule --system-prompt

Force a tier for power-user sessions:

MESH_FORCE_TIER=complex mesh

Configuration

Mesh works out of the box. To customize:

# Your own Google API key (bypasses shared gateway)
export GOOGLE_API_KEY=your_key_here

# Your own NVIDIA NIM key
export NVIDIA_API_KEY=your_key_here

# Override default model
export MESH_MODEL_ID=google/gemini-2.5-pro

# Force scaffolding tier
export MESH_FORCE_TIER=complex

# Ensemble sampling for variance reduction (1–3)
export MESH_ENSEMBLE_SIZE=2

# Cap session cost in USD (BudgetExceededError fires above this)
export MESH_MAX_COST_USD=1.00

# Hide the per-turn cost footer in the REPL
export MESH_HIDE_COST=1

Or run /start inside Mesh to walk through setup interactively.


Models

Default: google/gemini-2.5-flash via the Mesh shared gateway. Override with --model <alias>:

Google Gemini

Alias Model Notes
flash / default google/gemini-2.5-flash 1M context, fast, default
pro google/gemini-2.5-pro Reasoning-heavy tasks
lite google/gemini-2.5-flash-lite Max throughput
3-flash google/gemini-3-flash-preview Next-gen preview
3-pro google/gemini-3-pro-preview Next-gen powerful preview

NVIDIA NIM

Alias Model
qwen3-coder qwen/qwen3-coder-480b-a35b-instruct
kimi moonshotai/kimi-k2.6
mistral-large mistralai/mistral-large-3-675b-instruct-2512
deepseek deepseek-ai/deepseek-v4-pro
llama4 meta/llama-4-maverick-17b-128e-instruct
nemotron nvidia/llama-3.1-nemotron-ultra-253b-v1

Benchmarks

# Deterministic compression-ratio bench (no LLM, no auth)
node $(npm root -g)/@trymesh/cli/bench/static-bench.mjs

# Live LLM bench against Vertex AI Gemini (requires gcloud auth)
node $(npm root -g)/@trymesh/cli/bench/llm-bench.mjs

Current floors on a 151-file TypeScript codebase:

Tier Compression vs raw
compact (small-tier capsule) ~39×
full (complex-tier capsule) ~21×
trivial-tier system prompt ~936 bytes

Reproducible via node bench/static-bench.mjs — same files in, same numbers out.


License

Proprietary — © Edgar Baumann. All rights reserved.

For licensing inquiries: edgar.baumann@try-mesh.com