ShellDE is a lightweight desktop IDE shell built with Electron, React, TypeScript, Monaco Editor, and xterm.js. It is designed as a practical foundation for building custom coding environments with an integrated editor, terminal, workspace tree, and Language Server Protocol (LSP) support.
- Frameless, modern desktop UI powered by Electron + React
- Monaco-based code editor with tabbed editing
- Integrated terminal tabs using
node-ptyandxterm.js - Workspace explorer with file/folder create, rename, delete, copy, and move
- Find/replace across files in the active workspace
- Built-in Python language support through
pyrightandruffLSP servers - Save current file and save-all workflows with unsaved-changes confirmation dialogs
- Desktop runtime: Electron
- Frontend: React + TypeScript + Vite (
electron-vite) - Editor: Monaco Editor
- Terminal: xterm.js + node-pty
- LSP transport: JSON-RPC over stdio
- Packaging: electron-builder
- Node.js 20+ (LTS recommended)
- npm 10+
- For full Python tooling support:
pyrightis included as an npm dependency- Install
ruffand ensure it is available on yourPATH(or bundle it underresources/rufffor packaged builds)
First run
python3 custom-setup.py <your_new_ide_name>then
npm install
npm run devThis starts the Electron app in development mode with hot reload.
If install fails during electron-builder install-app-deps with:
error MSB8040: Spectre-mitigated libraries are required for this project
install the required Visual Studio Build Tools components:
- Open Visual Studio Installer -> Build Tools 2022 (or 2026) -> Modify
- In Individual components, install:
MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)Windows 10/11 SDK(latest available)
- Re-run:
npm ciOptional quick check:
npx electron-builder install-app-depsnpm run dev- Start app in development modenpm run start- Preview built appnpm run build- Type-check and build production assetsnpm run build:unpack- Build and generate unpacked Electron outputnpm run build:win- Build Windows packagenpm run build:mac- Build macOS packagenpm run build:linux- Build Linux packagenpm run lint- Run ESLintnpm run format- Format repository with Prettiernpm run typecheck- Run Node + web TypeScript checks
src/
main/ # Electron main process (window, filesystem, terminal, LSP bridge, menus)
preload/ # Secure API bridge exposed to renderer
renderer/ # React UI, Monaco integration, terminal panes, dialogs, LSP client logic
resources/ # Static assets (icons, optional bundled binaries such as ruff)
ShellDE includes built-in Python language support:
- Pyright for completions, diagnostics, navigation, and symbol intelligence
- Ruff for diagnostics and formatting support
If ruff is not installed or not found on PATH, Ruff-backed features will be unavailable, but the rest of the application remains functional.
ShellDE is intentionally minimal and focused on core IDE shell capabilities. It provides a clean base for further extensions such as additional language servers, richer debugging flows, extension systems, and advanced workspace operations.
Copyright (C) 2026 I-A-S. Licensed under the Apache License, Version 2.0.
