Documentation menu
On this page
The NMSh handbook

Context Engine and modules

Facts become native modules, then route to the surfaces you choose.

From a fact to a useful detail

The pipeline is Capability → Fact → Module → Surface Router. A trusted capability collects bounded context; a module turns it into presentation; the router chooses where it belongs. Context is collected on demand for visible modules, with deadlines, cancellation and caching.

Examples include project identity, runtimes, environment managers, local cloud profiles, infrastructure context, system information and Git facts. Local cloud configuration does not mean NMSh calls a cloud API or reads credential values.

Choose a surface

/modules opens the manager; /prompt exposes native module routing and details. Main Prompt, Right Context and Context Rail serve different reading needs. /strip composes the Status Strip with top/bottom placement and left/center/right groups. Width fitting is deliberate; a narrow terminal cannot display everything.

Context Packs

NMSh includes bundled declarative packs and the nmsh.context-pack/v1 format. nmsh packs manages local pack files with integrity checks and optional SHA-256 pinning. Packs name core capabilities and presentation; they cannot carry arbitrary commands, hooks, includes or executable code.

There is no remote pack registry in this release. Installing a pack does not grant new execution authority, and opening a repository does not install its suggestions.

More project and runtime context

Native facts include .NET, Swift, Zig, Deno, Elixir, Dart, Flutter, Ruby and PHP. The shared build module recognizes Bazel, Gradle, Maven, CMake, Meson and Make. Version-control extras include Mercurial and Jujutsu. Requested versions come from project files; active versions come from supported install metadata, without executing a project-controlled runtime binary to ask its version.

Discovery must not execute the project

Context discovery does not source .envrc, run PATH binaries to discover versions, execute kubeconfig credential plugins or run repository scripts. It uses bounded local parsing and a shell-reported environment allowlist. Display-only sensitive facts do not enter exported settings or historical prompt data.

Read the canonical module reference for the capability inventory, what each reads and the exact security boundaries.

Reviewed against v0.20.0 · source 65e4de55 · 2026-10-18
Sources: context-modules.md · SECURITY.md · privacy.md
Suggest a correction ↗

Documentation

Try “sessions” or “Theme Bridge”. Search runs in your browser.