Overview
PeaBox IDE is a lightweight, local-first desktop code editor built with Electron. It focuses on the everyday loop: open a folder, edit, search, review Git changes, run code, and use a real terminal — without sending your source anywhere. It uses the Monaco editor (VS Code engine) for syntax highlighting, bracket-pair colouring, minimap, word wrap, and adjustable font/tab size.
Features
- Monaco editor (VS Code engine) with 40+ language support, bracket-pair colouring, minimap, word wrap
- Lazy-loaded folder tree explorer
- Full-text search with match-case and whole-word options
- Quick open (Ctrl+P) and command palette (Ctrl+Shift+P)
- Multi-runtime execution (Python, Node, Go, PowerShell, shell)
- Integrated terminal with tabs and auto-resize
- Git integration with staging, diff, commit, push/pull
- GitHub CLI integration for PRs and releases
- Customizable themes, typography, tabs, wrapping, minimap
- Session restore on crash
- Recovery of unsaved buffers
Requirements
- Windows 10/11 (current target), macOS 13+, Linux (glibc) with Node.js 20+ and npm 10+
- Node-pty prebuilt binary (verified against Electron 38 runtime)
- Tkinter (included with standard Python installations)
Installation
# Manual install
git clone https://github.com/PeaBox-Lab/Code-Editor-IDE.git
cd Code-Editor-IDE
python -m venv .venv
.\\.venv\\Scripts\\activate
pip install -r requirements.txt
python app.py
Usage
Open a folder (Ctrl+O) or file (Ctrl+O), edit files, use Ctrl+P to quickly open files, Ctrl+F/Ctrl+H for search, F5 to run current file, Shift+F5 to stop, Ctrl+` to toggle terminal, and Ctrl+Shift+E/F/G for Explorer/Search/Git panels.
Troubleshooting
- Terminal says node-pty could not be loaded: install "Desktop development with C++" from Visual Studio Build Tools, then run npx electron-builder install-app-deps and restart.
- Editor is blank: delete node_modules and dist, then reinstall dependencies and restart.
- Git commands time out: ensure Git is installed and on PATH, and configured for non-interactive use.
- Packaged build fails: ensure npm install completes successfully before npm run build.