Global config
~/.lpm/global.yml and they show up in every project automatically. If a project defines an action with the same key, the project-level entry wins. Edit it from Settings → Global config, or the Global tab of any project’s config editor.What a fresh install starts with. On a fresh install, lpm writes a global.yml with two terminal actions, claude and codex, so Claude Code and Codex are one click away in every project. Edit or remove them like any other entry. A minimal file of your own might add a Docker cleanup and a system monitor — notice there’s no name or root:
actions:
docker-prune:
cmd: docker system prune -f
label: Docker Prune
confirm: true # asks before wiping images and caches
htop:
cmd: htop # live system monitor, one click away
type: terminal
System-wide utilities. A fuller example: prune merged git branches, upgrade Homebrew, and keep a few system monitors one click away. These all live above individual projects — click them from any project and they just work.
actions:
prune-branches:
cmd: git branch --merged main | grep -v main | xargs git branch -d
label: Prune merged branches
confirm: true # deletes local branches — ask first
brew-upgrade:
cmd: brew update && brew upgrade
label: Brew upgrade # keep Homebrew packages fresh
htop:
cmd: htop # live CPU and memory
type: terminal
btop:
cmd: btop # prettier process viewer
type: terminal
ncdu:
cmd: ncdu ~ # explore what's eating your disk
type: terminal
What global config can hold
actions (including type: terminal shells), zones, and extends. No services or profiles: long-running processes and profile groupings always belong to a specific project, so they live in a project file or its .lpm.yml.
You may also see a jobs section here or in .lpm.yml. It holds automations, which you create and edit from the app’s Automations view, so leave it as it is.