๐Ÿ—‚๏ธ Developer Workspace Manager
GitHub
๐Ÿ—‚๏ธ

Every project.
One window.

A local-first, zero-dependency desktop dashboard for the folder where all your projects live. Point it at that directory once โ€” every subfolder becomes a managed project.

Download devws.pyz Getting started

One ~30 KB file ยท Python โ‰ฅ 3.10 ยท Linux (GTK4 + WebKitGTK)

$ pip install dev-workspace-manager
$ devws
# a window opens โ€” pick your projects folder

What you get

Everything you reach for between the editor and the terminal, in one place.

1

Saved workspaces

Named project directories with per-project settings. Switch between them from the toolbar.

2

Dev servers

Auto-detected commands โ€” npm run dev, cargo run, manage.py runserver, โ€ฆ โ€” with live logs and one-click stop.

3

Docker Compose

Up, down, and status per project, detected automatically from compose.yaml.

4

Terminals & editors

Open your terminal emulator or editor directly in any project folder.

5

Git at a glance

Branch, ahead/behind, staged / modified / untracked counts, and the last commit for every project.

6

Ports

See which ports each dev server is listening on, and click to open them in the browser.

Lightweight & private by design

No frameworks, no browser, no cloud. Just your machine.

โœ“

Zero dependencies

Backend is pure Python standard library; frontend is vanilla JS/CSS. No node_modules, no build step, no packages to audit.

โœ“

Single-file build

The whole app ships as one devws.pyz โ€” about 30 KB.

โœ“

Local only

Binds to 127.0.0.1 on a random ephemeral port that only the app's own window talks to.

โœ“

No outbound connections

No telemetry, no CDN assets, no update checks. Your config is a single JSON file in ~/.config/dev-workspace-manager/.

How it works

A native desktop app with an Apple-inspired interface โ€” light & dark mode, custom controls, no frameworks.

devws/
โ”œโ”€โ”€ app.py       native window shell
โ”‚                (GTK4 + WebKitGTK,
โ”‚                 browser fallback)
โ”œโ”€โ”€ server.py    internal HTTP + JSON API
โ”‚                (stdlib http.server)
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ config.py     atomic JSON store
โ”‚   โ”œโ”€โ”€ processes.py  process groups, log
โ”‚   โ”‚                 ring buffers, SIGTERM
โ”‚   โ”‚                 โ†’ SIGKILL escalation
โ”‚   โ”œโ”€โ”€ gitinfo.py    git porcelain parsing
โ”‚   โ”œโ”€โ”€ dockerc.py    docker compose wrapper
โ”‚   โ”œโ”€โ”€ ports.py      /proc/net/tcp discovery
โ”‚   โ””โ”€โ”€ projects.py   detection + launching
โ””โ”€โ”€ static/      vanilla JS/CSS frontend

Native window

GTK4 + WebKitGTK via PyGObject โ€” preinstalled on Fedora/GNOME and most modern Linux desktops. Where it's missing, the app falls back to your default browser.

Real process management

Dev servers run in their own process groups with log ring buffers and graceful SIGTERM โ†’ SIGKILL shutdown.

Tested end-to-end

70 tests cover process orchestration, Git, Docker Compose, configuration, project detection, port parsing, and the HTTP API. CI runs on Python 3.10 / 3.12 / 3.14.

Install

Three ways in. All of them end with a window opening.

Option 1 ยท No install

Download a build

Grab devws.pyz from the latest release and run it. To add it to your application menu with an icon, clone the repo and run scripts/install_desktop.sh.

$ python3 devws.pyz
Option 2 ยท pip

Install from PyPI

One package, zero dependencies pulled in.

$ pip install dev-workspace-manager
$ devws
Option 3 ยท Source

Run from a clone

Nothing to install โ€” the repo runs as-is.

$ git clone https://github.com/Mr-Don-Leo/workspacectl
$ cd workspacectl
$ python3 -m devws

Requires Python โ‰ฅ 3.10. Docker features light up automatically when the docker CLI is present; everything else works without it. A headless mode is available with devws --serve โ€” keep the default host: the app starts processes on your machine, so it must not be exposed to a network.