Zapper
A lightweight dev environment runner for local multi-service projects.
Install
bash
npm install -g pm2 @mp-lb/zapperCreate zap.yaml
yaml
project: myapp
env: [.env]
native:
backend:
cmd: pnpm dev
env: "*"
frontend:
cmd: pnpm dev
cwd: ./frontend
env: "*"
docker:
postgres:
image: postgres:15
ports:
- 5432:5432Run
bash
zap up
zap status
zap downAdd Tasks
Use tasks for one-off project commands that should share the same local environment.
yaml
tasks:
seed:
preconditions:
- test -n "$DATABASE_URL"
cmds:
- pnpm db:seed
console:
interactive: true
silent: true
cmds:
- psql "$DATABASE_URL"bash
zap task seed
zap task consoleFor full reference docs, see Commands, Configuration, Services, and Tasks.
For profile-based env files, service selection, and isolated stacks, see Profiles.
For readiness waits and dependency startup behavior, see Health Checks.
For packaging and local machine runtime plans, see Local Runtime Compatibility.
For the command result and rendering contract, see Command Output.
For CLI development, testing, and release workflow, see CLI Development.
For the local menu bar app development loop, see macOS Development.