procman.nvim – stop context-switching between terminal splits to run your services
I kept ending up with 3-4 terminal splits open just to run backend + frontend + worker for the same project, and losing track of which one was still running or had crashed. So I built procman.nvim to manage that from inside Neovim instead.
What it does:
- Auto-discovers services in your workspace: package.json, Cargo.toml, go.mod, and .NET (.sln/.slnx/.csproj) — no config needed for the common case.
- Side panel showing status (running/stopped/failed/starting) and memory usage (RSS, including child processes) for every service, grouped by ecosystem (.NET / Node / Rust / Go / Custom) in collapsible sections.
- Start/stop/restart individual services or all of them at once, straight from the panel.
- Per-service logs (stdout/stderr) in a floating window.
- :ProcManAdd — add a custom command via prompt without hand-editing config.
- Per-project config via .procman.lua (auto-generated template with what was discovered) if you need to override anything, merged with your global setup().
https://github.com/Anderson-Vilela-op/procman.nvim
-- lazy.nvim
return {
"Anderson-Vilela-op/procman.nvim",
opts = {},
}
It's fresh (first public release), so bug reports, feature requests, and PRs are very welcome. Curious what workflows people have for this today — toggleterm + manual splits? overseer.nvim? Something else entirely?