chahuadev/chahuadev-dev-launcher
Chahuadev Dev Launcher Portable desktop command runner for development projects. Purpose Drop dev-launcher.exe inside a project folder. Auto-detect project type from package.json and scripts. Run grouped commands from one UI with full terminal output. Optionally switch project root from the top bar (Select Project / Use Launcher Project). Manage Cloudflare R2 upload flow for build artifacts (dev mode only).… See the full description on the dataset page: https://huggingface.co/datasets/chahuadev/chahuadev-dev-launcher.
<div align="center"> <p align="center"> <img src="https://huggingface.co/datasets/chahuadev/chahuadev-png/resolve/main/chahuadev-dev-launcher.png" width="700" alt="Junk Sweeper — Main Dashboard"> </p>
<p align="center"> <a href="https://www.npmjs.com/package/@chahuadev/junk-sweeper-app"><img src="https://img.shields.io/npm/v/@chahuadev/dev-launcher?style=for-the-badge&color=blue" alt="NPM Version"></a> <a href="https://www.npmjs.com/package/@chahuadev/dev-launcher"><img src="https://img.shields.io/npm/dt/@chahuadev/dev-launcher?style=for-the-badge&color=success" alt="NPM Downloads"></a> <a href="https://huggingface.co/datasets/chahuadev/chahuadev-dev-launcher"><img src="https://img.shields.io/badge/%20HuggingFace-Dataset-yellow?style=for-the-badge" alt="HuggingFace Dataset"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Non--Commercial-blue?style=for-the-badge" alt="Non-Commercial License"></a> <img src="https://img.shields.io/badge/Electron-40+-47848F?style=for-the-badge&logo=electron&logoColor=white" alt="Electron 40+"> <img src="https://img.shields.io/badge/Node.js-%E2%89%A522.0.0-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js 22"> <img src="https://img.shields.io/badge/Platform-Windows-0078D4?style=for-the-badge&logo=windows&logoColor=white" alt="Windows"> <img src="https://img.shields.io/badge/Analysis-Read--Only%20%E2%9C%93-blue?style=for-the-badge" alt="Read-Only Analysis"> <img src="https://img.shields.io/badge/Security-10--Layer%20Gateway-red?style=for-the-badge&logo=shield&logoColor=white" alt="7-Layer Security"> </p>
Chahuadev Dev Launcher
Portable desktop command runner for development projects.
Purpose
- Drop
dev-launcher.exeinside a project folder. - Auto-detect project type from
package.jsonand scripts. - Run grouped commands from one UI with full terminal output.
- Optionally switch project root from the top bar (
Select Project/Use Launcher Project). - Manage Cloudflare R2 upload flow for build artifacts (dev mode only).
Repository layout
main.js,preload.js,index.html,web/: Electron runtime + UIbuild-desktop.bat: local desktop build script (build:linuxandbuild:linux:wslare launcher-managed at runtime)dist/: desktop build outputspackages/: npm publish package workspace
NPM publish package
The npm-uploadable package lives in:
packages/@chahuadev/dev-launcher/
This package is designed to:
- Download platform binary at install time (
postinstall) - Expose launcher CLI command (
dev-launcher) - Run downloaded binary from
bin/
See package docs here:
packages/README.mdpackages/@chahuadev/dev-launcher/README.md
NPM Install Commands (Published Package)
Global install on Windows:
npm install -g @chahuadev/dev-launcher --foreground-scripts --forceGlobal install on Linux:
sudo npm install -g @chahuadev/dev-launcher --foreground-scripts --forceHome Overview (Detailed)
Dev Launcher is now optimized for a fast Home-first workflow:
- Home page renders immediately.
- Project detection and command group loading run in the background.
- Run tab is ready for command execution with real-time output.
- Project root can be switched safely from header controls.
Recent major additions reflected in Home:
- Header controls for root switching (
Select Project,Use Launcher Project). - Protected OS-folder blocking policy for external project selection.
- Main-process audited block events surfaced to renderer notice modal.
- Safer command execution and external URL controls.
- Improved build support, including V8 command path and Linux WSL fallback.
- Better startup responsiveness by deferring heavy initialization.
Features Snapshot
- Auto project detection for Electron, Expo/React Native, Next.js, Vite, and script-based npm projects.
- One-click command groups for Metro, Gradle, ADB, Electron build scripts, and package scripts.
- Real-time stdout/stderr streaming with ANSI color support.
- Process-tree kill behavior for long-running child processes.
- Optional external project-root selection with security policy checks.
- R2 configuration, target suggestion, and upload workflow in-app (hidden in production binaries).
Security Snapshot
- Context isolation enabled.
- Node integration disabled in renderer.
- Narrow IPC bridge via preload APIs.
- Protected OS-directory project roots are blocked.
- External URL allowlist enforcement.
- Command allowlist enforcement before spawn.
- Request/navigation/popup restrictions in production mode.
- Audit logging with sensitive field redaction.
NPM Commands (Repository Source)
Install dependencies:
npm installRun locally:
npm run startDevelopment run:
npm run devBuild commands:
npm run build
npm run build-win
npm run build-exe
npm run build-v8
npm run build-nsis
npm run build-msi
npm run build:linux
npm run build:linux:wslRun launcher command:
dev-launcherHome Content Expansion
The Home page currently presents this product definition:
- Open Source and Free Forever.
- Portable command runner for project-local workflows.
- Auto-detection from
package.jsonwith no manual project setup. - Optional safe root switching from the app header.
Home stat strip values:
- Project Types: 6
- Terminal Output Coverage: 100%
- Distribution Form: 1 portable executable
- Configuration Required: Zero for baseline command usage
Home "What We Added" Details
- Workflow: top-bar controls to select an external project root or return to launcher root.
- Security: protected OS path blocking, audited block events, and stricter URL/command policy enforcement.
- Startup: Home-first rendering with deferred background bootstrap.
- Build: V8 build path exposure and Linux WSL resilience improvements.
Home Feature Cards (Detailed)
- Auto Project Detection
- Detects framework/runtime profile from dependency graph and scripts.
- One-Click Commands
- Grouped left-panel actions for Expo, Gradle, ADB, Electron, and NPM scripts.
- Full Terminal Output
- Streams command output in real time, including stderr, without hidden buffering loss.
- Portable Single EXE
- Designed for drop-in usage directly in target project folder.
- Command Group Generator
- Generates command sets from project type and script inventory.
- Process Tree Kill
- Terminates parent and child command processes to prevent orphan runners.
Home Flow Section (Step-by-Step)
- Place executable in the project root (next to
package.json) and launch. - Let Home render first while project data bootstraps in the background.
- Optionally switch root using
Select Project, or return usingUse Launcher Project. - Select and execute commands from grouped panels and monitor full output stream.
Home Compatibility Matrix (Expanded)
- Expo / React Native
- Typical commands:
expo start,expo run:android,expo prebuild - Android / Gradle
- Typical commands:
installDebug,assembleRelease,clean - React Native (Bare)
- Typical behavior: Metro and Android Gradle groups when Android wrapper exists
- Electron
- Typical commands:
npm run build,npm run build-win,npm run build-nsis,npm run dist - Next.js
- Typical commands:
npm run dev,npm run build,npm run start,npm run lint - Vite
- Typical commands:
npm run dev,npm run build,npm run preview - NPM Scripts
- Additional scripts surfaced automatically from project
package.json - ADB Utilities
- Typical commands:
adb devices,adb logcat,adb reverse tcp:8081 tcp:8081
Home Security Cards (Expanded)
- Context Isolation enabled for renderer boundary hardening.
- Node Integration disabled in renderer to reduce direct OS/runtime surface.
- Main-process-only sensitive logic for command construction and execution.
- Narrow preload bridge with explicit IPC methods for selection/run operations.
- Protected OS path policy for project-root selection with formal user notice.
- External access constrained by protocol and host policy.
- Strict shell policy and no inline handler dependency in host shell UI.
- Popup/navigation/request guard behavior in production.
- Controlled process spawn model with allowlist checks.
- Build-time credential hygiene for saved R2 config lifecycle.
Notes For Teams
- Home page documentation should be treated as the UX-level contract.
- README is the implementation-facing mirror of that contract.
- When Home sections change, update this README section set to match.
- Keep security policy statements aligned with
main.jsandpreload.jsIPC behavior.
💖 Support the Project
Chahuadev tools are 100% free and open-source. If this project helped you save time, please consider buying me a coffee to help keep the servers running!
<a href="https://www.buymeacoffee.com/chahuadevm" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
