Electron desktop app for Windows that scans WSL project roots, detects update-capable repositories, previews actions, and executes dependency + git automation with safety gates.
- Multiple WSL roots — Save multiple project root paths with configurable scan depth (1–3) and exact exclusions
- Automatic project discovery — Detects projects by manifest files:
composer.json(PHP / Composer)package.jsonwith lockfile detection (npm/pnpm/yarn)requirements.in/requirements.txt(Python / pip)
- Git eligibility checks — Only updates repositories on
main/masterwith a clean working tree - Preview-first workflow — See exactly what will happen before confirming execution
- Sequential execution — Runs updates one project at a time with retry logic and push conflict recovery (rebase + retry)
- Live run logs — Watch progress in real time with persisted run history (last 50 runs)
- Windows packaging — NSIS installer and portable .exe
Download the latest release from the Releases page:
- Git Project Updater Setup x.y.z.exe — Windows installer (recommended)
- Git Project Updater x.y.z.exe — Portable executable (no installation required)
- Node.js 20+
- npm
- WSL with a Linux distro installed
git clone https://github.com/dbfx/git-projects-updater.git
cd git-projects-updater
npm install
npm run dev| Command | Description |
|---|---|
npm run dev |
Start in development mode (Vite + Electron) |
npm run build |
Build renderer and main process |
npm run dist |
Build and package with electron-builder |
npm run test |
Run tests with Vitest |
npm run typecheck |
TypeScript type checking |
npm run release |
Bump version, update changelog, tag and push |
npm run distOutput is written to the release/ directory.
- Open the app and go to Settings
- Select your WSL distro
- Add one or more project root paths (WSL-style, e.g.
/home/user/projects) - Ensure required tools are installed inside the WSL distro:
gitcomposer(for PHP projects)npm/pnpm/yarn(for JS projects)python/pip(for Python projects)pip-compile(optional, forrequirements.in)
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Write your changes using conventional commits (e.g.
feat:,fix:,docs:) - Run
npm run typecheck && npm run testto verify - Open a pull request
This project is licensed under the MIT License — see the LICENSE file for details.
