process-compose
AGENTS.md2.9k starsChanged 6 days agoApache-2.0View on GitHub
This file provides guidance to Codex (Codex.ai/code) when working with code in this repository. Process Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server. Run a single test: Run with debug mode: Entry point: main.go → src/cmd/root.go (Cobra CLI framework) States: Pending → Launching…
- Reads credentials
Files
AGENTS.md
This file provides guidance to Codex (Codex.ai/code) when working with code in this repository.
Project Overview
Process Compose is a process orchestrator for non-containerized applications, written in Go. It uses YAML configuration (similar to docker-compose) to define and manage processes with dependency tracking, health checks, scheduling, and more. It operates in multiple modes: TUI (default), HTTP API server, daemon, and MCP server.
Build & Development Commands
make build # Build binary to bin/process-compose (CGO_ENABLED=0)
make test # Run tests with coverage
make testrace # Run tests with race detector
make testrace-clean # Clear test cache, then run with race detector
make lint # Run golangci-lint (downloads to ./bin/ if needed)
make coverhtml # Generate HTML coverage report
make swag # Regenerate Swagger/OpenAPI docs
make schema # Regenerate JSON schema
make docs # Regenerate CLI documentationRun a single test:
go test -run TestName ./src/package/...Run with debug mode:
PC_DEBUG_MODE=1 ./bin/process-compose -e .envArchitecture
Entry point: main.go → src/cmd/root.go (Cobra CLI framework)
Key Packages (all under src/)
| Package | Purpose |
cmd/ | Cobra CLI command definitions |
app/ | Core process execution engine — ProjectRunner manages lifecycle of all processes, Process wraps individual process execution |
types/ | Domain models — Project, ProcessConfig, ProcessState, dependency graph |
loader/ | YAML config parsing, env var expansion, project merging, validation |
config/ | CLI flags, global settings, themes, version info (embedded via ldflags) |
api/ | REST API using Gin framework, WebSocket support, Swagger docs |
tui/ | Terminal UI using rivo/tview — process table, log viewer, terminal view |
client/ | HTTP client for remote API communication |
health/ | Liveness/readiness probe implementations (HTTP, exec) |
scheduler/ | Cron/interval-based process scheduling via gocron/v2 |
mcp/ | Model Context Protocol server, tools, and resources |
pclog/ | Process log buffers with rotation and ANSI color tracking |
command/ | Shell command execution abstraction (cross-platform, PTY support) |
admitter/ | Namespace-based process filtering |
templater/ | Variable/template expansion using envsubst |
Data Flow
CLI/API Input → Cobra Commands (cmd/) → ProjectRunner (app/)
→ Process execution with dependency resolution
→ Health checks (health/) + Scheduling (scheduler/)
→ State updates → TUI (tui/) / API (api/) output
→ Logs → ProcessLogBuffer (pclog/)Process Lifecycle
States: Pending → Launching → Running → [Restarting] → Terminating → Completed/Error
Dependency conditions: process_started, process_healthy, process_completed, process_log_ready
Config Auto-Discovery
Searches for: compose.yml, compose.yaml, process-compose.yml, process-compose.yaml with optional .override.* files.
Key Frameworks & Libraries
- CLI:
spf13/cobra - HTTP API:
gin-gonic/gin - TUI:
rivo/tview+gdamore/tcell/v2 - YAML:
gopkg.in/yaml.v3 - Logging:
rs/zerolog - Process metrics:
shirou/gopsutil/v4 - Scheduling:
go-co-op/gocron/v2 - MCP:
mark3labs/mcp-go
Concurrency Model
Heavy use of goroutines, mutexes, and channels for process coordination. ProjectRunner uses fine-grained mutexes to manage shared process state maps. Always run make testrace to catch data races.
Rust Component
A Rust client library lives in crates/ (workspace with client and example crates). This is a separate component with its own CI workflow.
Trending
Less talk lately.about the whole repository
Who's talking about F1bonacc1/process-compose
- MightyMoud/sidekick“Allow deployments with docker-compose, process-compose, services-flakes”GitHub · Jan 28, 2025 · 8 reactions
- pvolok/dekit“Dependencies between processes”GitHub · Feb 25, 2025 · 7 reactions
- NixOS/nixpkgs“process-compose: 1.64.1 -> 1.73.0”GitHub · Aug 11, 2025 · 3 reactions
- @pesterhazy.bsky.social“I'm a big fan of github.com/mklement0/ttab and github.com/F1bonacc1/pr... to cut down the complexity”Bluesky · Dec 12, 2024 · 3 likes
- A Hacker News story“Process Compose: flexible scheduler to manage non-containerized apps”Hacker News · Apr 28, 2024 · 3 points
The biggest 5 of 64 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 64
Talked about on GitHub, Hacker News, Bluesky and Stack Overflow (64 times).
On GitHub · 50
- Jan 28, 2025Allow deployments with docker-compose, process-compose, services-flakes — MightyMoud/sidekick8 reactions
- Feb 25, 2025Dependencies between processes — pvolok/dekit7 reactions · 8 comments
- Aug 11, 2025process-compose: 1.64.1 -> 1.73.0 — NixOS/nixpkgs3 reactions · 12 comments
- Jul 18, 2025Process compose hanging socket on unclean exit — cachix/devenv2 reactions · 6 comments
- Apr 9, 2025Use task and process compose — nats-tower/nats-tower2 reactions · 4 comments
45 more on GitHub
- Oct 27, 2026process-compose 1.124.0 — chenrui333/homebrew-tap1 reaction · 1 comment
- Aug 18, 2026process-compose 1.122.0 — chenrui333/homebrew-tap1 reaction
- Jul 11, 2026process-compose 1.120.0 — chenrui333/homebrew-tap1 reaction
- Jun 19, 2026process-compose 1.116.0 — chenrui333/homebrew-tap1 reaction
- Jun 17, 2026process-compose: 1.110.0 -> 1.116.0 — NixOS/nixpkgs1 reaction · 2 comments
- May 1, 2026process-compose 1.110.0 — chenrui333/homebrew-tap1 reaction
- Nov 22, 2025Process manager — user0608/pb_launcher1 reaction · 2 comments
- Nov 6, 2025process-compose: 1.76.0 -> 1.76.1 — NixOS/nixpkgs1 reaction
- May 6, 2025process-compose: 1.46.0 -> 1.63.0 — NixOS/nixpkgs1 reaction
- Mar 8, 2025Use process-compose too — albersola/airo1 reaction · 1 comment
- Jul 26, 2024process-compose: 1.6.1 -> 1.9.0 — NixOS/nixpkgs1 reaction · 1 comment
- Jul 19, 2024Add process-compose — rothgar/awesome-tuis1 reaction
- Apr 12, 2024Add Unix Domain Socket support for Process Compose — Platonic-Systems/process-compose-flake1 reaction · 1 comment
- Feb 22, 2024JSON config — Platonic-Systems/process-compose-flake1 reaction
- Jul 18, 2023Dockerfile error on amd64 server architecture — formancehq/stack1 reaction · 3 comments
- Dec 18, 2022Integrate into devenv.sh? — totten/loco1 reaction
- Oct 23, 2026chore(deps): update Go module dependencies — jetify-com/devbox0 reactions · 1 comment
- Oct 22, 2026Add winter-service-process-compose service provider — paul-gross/winter0 reactions · 1 comment
- Oct 5, 2026Security triage review: 2026-10-05 (part 7/10) — flatcar/security-triage0 reactions · 1 comment
- Oct 1, 2026Security triage review: 2026-10-01 (part 6/7) — flatcar/security-triage0 reactions · 1 comment
- Sep 29, 2026chore(deps): bump github.com/f1bonacc1/process-compose from 1.116.0 to 1.120.0 — frikke/devbox0 reactions · 2 comments
- Sep 19, 2026Process Compose: Browser DNS rebinding lets websites control local process-compose MCP tools — NixOS/nixpkgs0 reactions
- Sep 18, 2026x/vulndb: potential Go vuln in github.com/f1bonacc1/process-compose: GHSA-5gm3-9crp-6g3v — golang/vulndb0 reactions · 1 comment
- Sep 18, 2026Bump the go_modules group across 1 directory with 3 updates — TylerStilwagen/devbox0 reactions
- Sep 18, 2026chore(deps): bump github.com/f1bonacc1/process-compose from 1.64.1 to 1.120.0 in the go_modules group across 1 directory — SherfeyInv/devbox0 reactions · 2 comments
- Aug 29, 2026pentest CI failure: transient curl reset in workspace image build masks itself in reporting steps — mcdonc/klangk0 reactions · 2 comments
- Aug 22, 2026deps(deps): bump github.com/f1bonacc1/process-compose from 1.110.0 to 1.122.0 — friday-platform/friday-studio0 reactions · 1 comment
- Aug 21, 2026do you have promts to try to generate adapter for https://github.com/sandboxie-plus/Sandboxie starter on windows? — tta-lab/temenos0 reactions
- Aug 18, 2026process-compose: 1.120.0 -> 1.122.0 — NixOS/nixpkgs0 reactions · 2 comments
- Aug 3, 2026fix: remove 'keep-project' as its not provided on all levels of `process-compose` — Platonic-Systems/process-compose-flake0 reactions · 5 comments
- Jul 18, 2026deps(deps): bump github.com/f1bonacc1/process-compose from 1.110.0 to 1.120.0 — friday-platform/friday-studio0 reactions · 2 comments
- Jul 11, 2026process-compose: 1.116.0 -> 1.120.0 — NixOS/nixpkgs0 reactions
- Jul 10, 2026chore: bump process-compose from v1.110.0 to v1.116.0 (#2915) — jetify-com/devbox0 reactions
- Jun 20, 2026deps(deps): bump github.com/f1bonacc1/process-compose from 1.110.0 to 1.116.0 — friday-platform/friday-studio0 reactions · 2 comments
- Jun 8, 2026[Request]: process-compose — ScoopInstaller/Extras0 reactions · 2 comments
- May 18, 2026feat: process-compose monitoring for `WaitTill` — sdsc-ordes/quitsh0 reactions · 1 comment
- May 2, 2026deps(deps): bump github.com/f1bonacc1/process-compose from 1.103.0 to 1.110.0 — friday-platform/friday-studio0 reactions · 1 comment
- May 2, 2026process-compose: 1.103.0 -> 1.110.0 — NixOS/nixpkgs0 reactions · 2 comments
- Apr 4, 2026chore(deps): update process-compose to v1.103.0 — uniget-org/tools0 reactions · 3 comments
- Apr 3, 2026process-compose 1.103.0 — chenrui333/homebrew-tap0 reactions
- Mar 20, 2026process-compose: 1.94.0 -> 1.103.0 — NixOS/nixpkgs0 reactions · 1 comment
- Mar 20, 2026chore(deps): update dependency f1bonacc1/process-compose to v1.100.0 — uniget-org/tools0 reactions · 3 comments
- Mar 20, 2026process-compose 1.100.0 — chenrui333/homebrew-tap0 reactions
- Feb 22, 2026chore(deps): update dependency f1bonacc1/process-compose to v1.94.0 — uniget-org/tools0 reactions · 3 comments
- Feb 22, 2026process-compose: 1.90.0 -> 1.94.0 — NixOS/nixpkgs0 reactions · 2 comments
On Hacker News · 7
- Apr 28, 2024Process Compose: flexible scheduler to manage non-containerized apps3 points
- Nov 26, 2023Process Compose: scheduler/orchestrator for non-containerized applications3 points
- Feb 8, 2025Process-Compose a flexible orchestrator to manage non-containerized application2 points
- Mar 7, 2025Process Compose: manage non-containerized applications1 point
- Oct 19, 2022Lightweight, Single Process PM2 Alternative1 point · 1 comment
2 more on Hacker News
- Aug 30, 2022Show HN: I've built processes orchestrator, with UI, in a single executable file1 point
- Jun 13, 2022If Docker-compose and K9S had a baby (without the containers gene)1 point
On Bluesky · 6
- Dec 12, 2024I'm a big fan of github.com/mklement0/ttab and github.com/F1bonacc1/pr... to cut down the complexity — @pesterhazy.bsky.social3 likes and reposts · 1 reply
- Nov 11, 2024This is how everyone on the @loopback.works dev team gets their own public URL that forwards requests to their localhost. It's part of… — @mikenikles.com2 likes and reposts
- May 14, 2026Hi @hynek.me 👋🏻 I learnt about mprocs from you some time ago, and I like it so far, but I was wondering whether you also evaluated… — @sang.io1 likes and repost · 1 reply
- Feb 15, 2026"process-compose" by Eugene Berger github.com/F1bonacc1/pr... — @mccricardo.bsky.social1 likes and repost
- Nov 20, 2024Hello ! You could have a look at process compose : github.com/F1bonacc1/pr... — @mvion.fr1 likes and repost · 1 reply
1 more on Bluesky
- May 19, 2026#🔖テクノロジー GitHub - F1bonacc1/process-compose: Process Compose is a simple and flexible scheduler and orchestrator to manage… — @hatena-bookmark.bsky.social0 likes and reposts · 1 reply
On Stack Overflow · 1
- Nov 29, 2023(Python) Process Launcher for development purposes1 vote
In this repository2 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- upgrade-depsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

