Aplikasi desktop modern berbasis Electron + TypeScript yang dirancang untuk mengelompokkan, mengelola, dan menjalankan multi-terminal service dalam satu workspace terpadu.
- 📁 Project & Service Grouping: Kelompokkan beberapa service (misal Frontend, Backend API, Worker, Database) dalam satu project tanpa membuka puluhan jendela terminal terpisah.
▶️ One-Click Command Execution: Jalankan executable utama atau sub-commands kustom secara langsung dari kartu service.- 🟢 Live Process & Status Tracking: Deteksi real-time apakah command sedang berjalan (
running) atau berhenti (stopped), termasuk saat dihentikan viaCtrl+Cdi terminal maupun saat proses selesai otomatis. - 💻 Smart Responsive Terminal (XTerm.js + FitAddon):
- Auto-fit ukuran baris & kolom terminal mengikuti ukuran window/container secara dinamis.
- Scrollback buffer hingga 10.000 baris dengan scrolling yang halus tanpa terpotong.
- Tombol Clear Terminal untuk membersihkan layar secara instan.
- ⛶ Terminal Focus / Maximize Mode: Maksimalkan tampilan terminal hingga 100% layar dengan tombol maximize atau cukup Double-Click pada header terminal.
- 💾 Local SQLite Storage: Semua konfigurasi project, service, dan commands tersimpan aman dan cepat menggunakan
better-sqlite3. - 🛡️ Graceful Process Lifecycle: Terminal PTY dibersihkan secara otomatis saat aplikasi ditutup untuk mencegah zombie process.
- Desktop Framework: Electron
- Build Tool: electron-vite & Vite
- Language: TypeScript
- Database: SQLite (better-sqlite3)
- Terminal & PTY: @xterm/xterm, @xterm/addon-fit, @lydell/node-pty
- Package Manager: pnpm
- Node.js: Versi 20 atau lebih baru
- pnpm: Versi 10 atau lebih baru
# 1. Clone repository
git clone https://github.com/micelvalensia/RunApp.git
cd RunApp
# 2. Install dependencies
pnpm install
# 3. Jalankan aplikasi dalam mode development
pnpm dev# Typecheck TypeScript (Node & Web)
pnpm typecheck
# Build bundle produksi
pnpm build
# Build installer lokal
pnpm build:linux # Linux (AppImage, Deb, Snap)
pnpm build:win # Windows (NSIS Installer & Portable)Karena dependensi better-sqlite3 dan node-pty memerlukan kompilasi native C++, repository ini sudah dilengkapi dengan GitHub Actions Workflow (windows-latest) agar kamu bisa membuat installer Windows tanpa perlu memiliki laptop Windows.
- Buka tab Actions di repository GitHub.
- Pilih workflow Build Windows Release di sidebar kiri.
- Klik dropdown Run workflow
▶️ . - Setelah proses selesai (± 2-3 menit), download file
.exedari bagian Artifacts.
Cukup buat tag versi baru dan push ke GitHub:
git tag v1.0.4
git push origin v1.0.4GitHub Actions akan otomatis me-build dan merilis file installer di halaman GitHub Releases:
runner-project-1.0.4-nsis.exe(Installer - Startup instan & direkomendasikan)runner-project-1.0.4-portable.exe(Portable standalone tanpa instalasi)
├── .github/
│ └── workflows/ # GitHub Actions CI/CD workflows
├── electron/
│ ├── main/ # Electron Main Process (PTY, IPC handlers, lifecycle)
│ └── preload/ # Preload bridge API
├── src/
│ ├── database/ # SQLite schema & database migrations
│ ├── repositories/ # Data Access Layer (Projects, Services, Commands)
│ ├── services/ # Business logic layer
│ ├── renderer/ # Frontend UI (HTML, CSS, TypeScript)
│ │ ├── script/ # UI Logic, state, event handlers, terminal manager
│ │ └── style/ # Modern dark-theme stylesheet
│ └── shared/ # Shared TypeScript types & interfaces
├── electron-builder.yml # Konfigurasi packaging Electron Builder
└── package.json
Proyek ini dilisensikan di bawah lisensi MIT.