A frontend.
Not a replacement.
NMSh improves the interaction around your commands. The shell still interprets them, and your terminal still owns the window.
- Terminal hostWindow, fonts, cells, protocols
- NMSh frontendComposer, transcript, context
- ShellAdapter + PTYBootstrap, transport, lifecycle
- Real shellzsh · Bash 4.4+ · Fish
One shell.
Between commands, too.
A ShellSession owns a pseudo-terminal running a real persistent shell. Normally a separate local session service owns that PTY; the frontend attaches as a client. An in-process fallback exists.
Working directory, aliases, functions, environment and jobs persist because the shell persists. Closing a frontend window is different from terminating the service or shell. A saved transcript is a record, not a running process.
For fullscreen and interactive applications, NMSh suspends its presentation and uses passthrough. The program's real terminal interaction remains authoritative.
Read the runtime architecture →What belongs where.
Each layer has a job. Keeping those boundaries clear helps explain both the capabilities and the compatibility limits.
The terminal host
Owns its window, font rendering, terminal protocols, keyboard forwarding and standard text selection.
Host compatibility →NMSh
Owns the composer, completion menu, transcript presentation, panels, native context and frontend preferences.
Core concepts →Your shell
Owns parsing, expansion, aliases, functions, command execution, environment and shell jobs.
ShellAdapter →Your configuration
stays yours.
No account, cloud typing service or telemetry. Local session records can still hold sensitive command output, so review what you export or share.
- Configuration is executable.
Shell rc files and framework code are not silently sourced, merged or edited by an import workflow. Offered edits are exact diffs behind confirmation.
- Discovery is not execution.
Context inspection uses bounded local data. Opening a repository must not run its scripts or credential helpers.
- Ownership is evidence.
Managed files are removed or replaced only while NMSh can prove they still match what it wrote.
Independent. Open source.
notMyShell is made by raiseCatError and licensed GPL-3.0-only. No fictional company, commercial tiers or adoption claims. Just a public project, with its decisions and limitations in the open.