Mishell is an Electron desktop shell with a custom editor-first workflow, PTY-backed execution, SQLite history/search, and a raw terminal compatibility surface for interactive TUIs.
- Custom shell editor with syntax highlighting, multiline input, cwd recall, and history/path completion
- Structured command cards with exit status, timing, output preview, and copy actions
- SQLite-backed history search on
Cmd/Ctrl+R - Automatic terminal-mode fallback for interactive tools such as
vim,lazygit,codex, and shell REPLs - Dark theme system with multiple V1 palettes
- Typed Electron main/preload/renderer boundaries
./vp installpnpm rebuild:nativepnpm rebuild:node./vp devpnpm sync:completion-specs./vp check./vp test./vp build./vp packpnpm pack:dir
./vp devrebuilds native modules for Electron before launching the app../vp testrebuilds native modules for the local Node runtime before running Vitest.pnpm sync:completion-specsrefreshes the vendored command-spec registry documented in electron/completion/README.md.- Local completion overrides in
.fig/autocomplete/buildmust be JSON specs; executable local Fig.jsspecs are not loaded. ./vp devexpects port5173to be free and fails fast if it is occupied.- In packaged builds Mishell starts in the user home directory. In local dev it starts in the current repo cwd.
./vp packcreates platform installers/artifacts inrelease/with signing auto-discovery disabled for local unsigned builds.pnpm pack:diris the faster unpacked packaging path when you only need a local smoke build.
electron/Electron main process, preload bridge, execution service, and SQLite bootstrap.electron/db/Database initialization, migrations, and history query helpers.src/React renderer, shell chrome, and UI primitives.src/shared/IPC contracts and shared API types.plan/Phase docs and agent handoffs.
- Run
./vp dev. - Run
pwdand confirm it stays in the card flow and updates cwd context. - Run
git status --shortand confirm output previews/copy actions work. - Run
falseormissing-commandand confirm failure cards render clearly. - Press
Tabon a recent command prefix and confirm history autocomplete appears. - Press
Tabon a filesystem token such as./src/maorC:\Usand confirm path completion appears. - Press
ArrowUpin the editor on the first line and confirm cwd-scoped recall works. - Press
Cmd/Ctrl+R, search history, and reuse a prior command. - Run
vim README.mdorlazygitand confirm Mishell switches into terminal mode. - Exit the interactive app and confirm focus returns to the editor and a terminal summary card is recorded.
- Switch themes and confirm chrome plus terminal mode update coherently.
- Run
./vp buildand./vp packto validate the production and packaging paths.
- macOS:
dmg,zip - Windows:
nsis,portable
electron-builder currently falls back to Electron defaults for app icons because repo branding assets are still minimal.