Ubunatic Coding

Local Git Workspace Manager

uman — your workspace manager

Uman Manages Apps Nicely — a Go CLI to coordinate local Git workspaces. Inspect Git status, run commands concurrently across repos, enforce licensing, and sync project websites.

uman demo

Core Capabilities

Modular developer utilities that bring order to project directories without getting in your way.

📊

Status Dashboard

Gather uncommitted files, branches, and remote divergence (ahead/behind commits) across all projects in a single unified view.

Parallel Run Pool

Execute custom shell scripts or commands in parallel (`-j/--jobs`) across projects, buffer output sequentially, and get a diagnostic file summary report.

⚖️

REUSE Licensing

Initialize template `REUSE.toml` files dynamically resolving Git metadata, fetch missing SPDX texts, and lint project licensing compliance.

🌐

Website Serving

Synchronize static files to a main publishing repository and spin up a lightweight, zero-dependency HTTP server to preview your sites.

Quick Start

Set up your local workspace directory in seconds.

setup.sh
# 1. Initialize Uman configuration (creates ~/.projects/.uman.toml)$ uman initScaffolded config at ~/projects/.uman.toml
# 2. View current Git status across all projects$ uman statusNAME          BRANCH    REMOTE             AHEAD  CHANGES  STATUS
uman          main      origin/main        0      0        OK
wayreel       main      origin/main        2      1        Ahead/Dirty
# 3. Concurrently run commands across all active projects$ uman run -j 4 -- git status
# 4. Spin up HTTP web server to serve your website$ uman serve websiteServing /home/uwe/projects/uman/website on http://localhost:8080