ProcessGit is a Git-based repository system for executable processes and algorithms.
It brings long-established software-engineering discipline — version control, review, releases, traceability — to process logic, workflows, and algorithmic definitions that traditionally live in documents, diagrams, or proprietary tools.
🌐 Public demo / test instance:
👉 https://processgit.org
⚠️ Important notice
The public instance is fully functional, but intended for testing, evaluation, and demonstration only.
ProcessGit is a Process Repository (sometimes referred to as a processpository).
It is designed to store, manage, and publish machine-executable process artifacts using the same principles that have proven themselves in source-code management for decades.
ProcessGit allows you to:
- Store executable processes as versioned artifacts
- Review and evolve processes through commits and history
- Tag and release stable process versions
- Share and distribute process logic in a controlled way
- Treat organizational workflows as first-class assets
Instead of managing only source code, ProcessGit manages how work is done.
- Executable business processes (e.g. BPMN-based workflows)
- Decision logic and rulesets (e.g. DMN-style models)
- Algorithm packages (e.g.
.uapffiles) - Public-sector and enterprise process catalogs
- AI-assisted execution engines that require governed inputs
- Single Source of Truth (SSOT) for operational logic
The public instance at https://processgit.org is provided to:
- Explore the UI and core concepts
- Test repository creation and browsing
- Demonstrate the process-as-code approach
- This instance runs active development builds
- Features, APIs, and data may change without notice
- Data may be reset or removed at any time
- No availability or data durability guarantees are provided
Use at your own risk. No warranties. No service guarantees.
Development / Early Access
ProcessGit is under active development.
Expect:
- Rapid iteration
- Breaking changes
- Incomplete or evolving documentation
Backward compatibility is not guaranteed at this stage.
- Web application (UI + API)
- Git-like repository abstraction for processes
- Docker-based deployment
- Designed to integrate with external execution engines
- Compatible with algorithm packaging standards (e.g. UAPF)
- Linux (Ubuntu 20.04+ recommended) or WSL2
- Docker Engine
- Docker Compose (plugin)
- Git
After starting the stack, confirm the templates are created, public, and marked as templates:
# Build and start (from repo root)
docker compose -f deploy/docker-compose.yml up -d --build
# Check bootstrap logs
docker compose -f deploy/docker-compose.yml logs -n 200 processgit-bootstrap
# Verify template repositories via API
curl -s "http://localhost:3000/api/v1/repo/search?q=&template=true" | head
# Inspect template user repos/flags from inside the container
docker exec -it processgit sh -lc '
TOKEN=$(cat /data/.processgit/templates_token 2>/dev/null || true)
[ -n "$TOKEN" ] || exit 1
curl -s -H "Authorization: token $TOKEN" http://localhost:3000/api/v1/users/processgit-templates/repos | jq -r ".[] | [.name, .template, .private] | @tsv"
'The template dropdown in the UI should list the repositories owned by processgit-templates, and each should show template=true and private=false in the API output.
After updating the deployment manifests, rebuild and restart the stack:
cd /home/ProcessGit
docker compose -f deploy/docker-compose.yml down
docker compose -f deploy/docker-compose.yml up -d --build
docker compose -f deploy/docker-compose.yml logs -n 200 processgit
docker compose -f deploy/docker-compose.yml logs -n 200 processgit-bootstrapTo rerun bootstrap when markers already exist:
docker compose -f deploy/docker-compose.yml exec processgit sh -lc 'rm -f /data/.processgit/templates_bootstrapped /data/.processgit/templates_token || true'
docker compose -f deploy/docker-compose.yml restart processgit-bootstrap
docker compose -f deploy/docker-compose.yml logs -n 200 processgit-bootstrapVerify templates via the API:
docker compose -f deploy/docker-compose.yml exec processgit sh -lc 'curl -s http://localhost:3000/api/v1/repo/search?q=&template=true | head -c 1000; echo'sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin