JSPM

  • Created
  • Published
  • Downloads 327
  • Score
    100M100P100Q121012F
  • 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

Mesh is a terminal-first AI engineering agent built to prove its work, not perform it.

Most agents stop when they sound done. Mesh keeps going until the change is verified — it runs your build and tests, scopes its own edits, and bundles the proof. Zero config: it ships with a shared LLM gateway, so there are no API keys to wire up.

npm install -g @trymesh/cli
mesh login        # opens a browser, hands the session back to your terminal
mesh              # start an interactive session

mesh login routes to Gemini 3.5 Flash through the shared Mesh gateway by default — no AWS/Google credentials needed. Requires Node 20+.

Why Mesh

  • Proves its work. A convergence gate stops the model from spinning on read/search loops, an edit-scope guard blocks writes outside the task's directories (and never touches .git/, node_modules/, build output), and mesh pr turns a diff into a verifiable proof bundle.
  • Zero-config auth. One mesh login, no keys. The shared gateway brokers every model call server-side.
  • Token-efficient. Tool-spec compaction and transcript capsules keep prompts lean — typically far fewer tokens than a raw LLM loop for the same task.
  • Codebase-aware. /index builds a workspace index; ask architecture, bug, or ownership questions across the repo with semantic + keyword search.
  • Model-flexible. Swap between Gemini, Grok, GLM, Kimi, DeepSeek, Qwen, Llama and more with /model or --model <alias> — same session, same gateway.

Benchmarks

Head-to-head on a real multi-turn task (nextjs-full, 3 turns, Gemini 3.5 Flash) — Mesh vs a raw LLM loop on the same model and prompts. Both modes passed every turn; the difference is how many tokens reach the model and how long it takes.

nextjs-full · 3 turns · Gemini 3.5 Flash · identical pass outcomes

Input tokens sent to the model   (lower is better)
  Mesh   ██████████                            27.4K
  Raw    ████████████████████████████████████  94.6K     −71%

Wall-clock time
  Mesh   ██████████████████████                60.0s
  Raw    ████████████████████████████████████  96.7s     −38%

Per-turn input tokens — the gap widens as the session grows and a raw transcript balloons, while Mesh keeps the prompt lean:

Turn Mesh Raw Reduction
1 4.6K 7.6K −39%
2 8.9K 56.0K −84%
3 13.9K 31.1K −55%
Total 27.4K 94.6K −71%

Same answers, 71% fewer input tokens and 38% less wall-clock time. The savings come from tool-spec compaction and transcript capsules that trim the prompt instead of re-sending the whole history each turn. (Replay any time with mesh eval; raw figures use provider prompt-caching, so Mesh's true token savings are conservative here.)

Quickstart

mesh                      # interactive session
mesh "fix the failing auth test"   # one-shot: run a single task and exit
mesh init                 # first-run setup + repo briefing

Inside a session, type /help to list every command.

Commands

Command What it does
mesh Start an interactive session
mesh "<task>" One-shot: run a single task, then exit
mesh resume [--resume <id>] Resume a previous session
mesh init First-run setup + repo briefing
mesh login / mesh logout / mesh whoami Manage your session
mesh doctor [fix] Diagnose the install; fix applies safe repairs
mesh pr [--intent ...] Build a PR proof bundle from the working diff
mesh live [--verify <cmd>] Foreground watcher that flags breakage (no LLM)
mesh eval [--since <ISO>] Replay past turns and score pass/fail
mesh daemon <start|status|digest|stop> Background daemon control
mesh support Print debug info for bug reports

Useful in-session commands (full list via /help):

Command What it does
/model Switch model
/plan Read-only "think first" mode — edits & commands disabled
/index · /synthesize Build / refresh the workspace index
/fix · /tribunal · /sheriff Verification & quality gates
/undo Revert the last file change
/cost · /compact · /memory Inspect tokens, compact context, manage memory
/status · /dashboard Session info & live view
/approvals Review/adjust tool-approval settings

Models

Default is Gemini 3.5 Flash. Select any with --model <alias> or /model.

Model Alias Notes
Gemini 3.5 Flash default, 3.5-flash Newest fast GA — recommended default
Gemini 3.1 Pro Preview 3.1-pro Top reasoning, slower
Gemini 2.5 Pro pro Stable high-quality reasoning
Gemini 2.5 Flash-Lite lite Cheapest — auto-routed for trivial turns
Grok 4.20 (Reasoning / Fast) grok-reasoning / grok xAI
GLM 5 glm Z.ai reasoning
Kimi K2.6 kimi Moonshot deep reasoning
DeepSeek V4 Pro deepseek Strong generalist
Qwen 3 Coder qwen 480B code specialist
Llama 4 Maverick llama Meta MoE
GPT-OSS 120B gpt-oss OpenAI open-weights

If the primary model fails, Mesh falls back automatically (Gemini 2.5 Pro → Kimi K2.6).

How verification works

Mesh treats "done" as something to demonstrate, not assert:

  • Convergence gate — if the model loops on read/search tools without making progress, Mesh nudges it to converge, and ultimately forces a concrete answer or edit instead of endless exploration.
  • Edit-scope guard — edits are confined to the paths your task implies; writes to .git/, node_modules/, .mesh/, and build directories are rejected outright.
  • Proof bundlesmesh pr packages the diff with its verification result so a reviewer sees what changed and that it passed, not just a claim.
  • Live watchermesh live --verify "<cmd>" runs your command on every change and flags regressions, no model in the loop.

Configuration

Most things work out of the box. Common knobs:

mesh --model pro "<task>"   # pick a model for this run
mesh --classic              # legacy scrollback UI
mesh --no-browser           # password login instead of browser flow
Env var Effect
MESH_DEBUG=1 Verbose diagnostics (e.g. skipped MCP servers)
MESH_SKIP_FIRST_INDEX=1 Skip the first-run workspace index

Auth & privacy

mesh login opens a browser to a Mesh-hosted page — the CLI never sees your password. On success, your session (a Supabase JWT) is stored in your OS keychain (with a ~/.config/mesh file fallback) and refreshed automatically. Every model request goes through the shared Mesh gateway, which injects provider credentials server-side; your prompts and code context are sent to the selected model provider to generate responses. Run mesh logout to clear stored credentials.

Requirements

  • Node.js 20+
  • A Mesh account (free tier available) — created during mesh login

Website · Docs · Changelog

Contact

Questions, feedback, or partnership inquiries — reach the team:

License

See LICENSE.