Zapper

Commands

Reference for every Zapper CLI command, generated from the commander command tree.

Zapper commands operate on the current project by default. Use --config to point at a specific config file, --profile <name> for a one-off profile override, and --instance <name> to target a named instance.

The reference below is generated from the commander command tree, so it always matches zap <command> --help. See Tasks for task configuration, Configuration for zap.yaml fields, and Command Output for the JSON/result contract.

Global Options

OptionDescription
-V, --versionoutput the version number
--config <file>Use a specific config file
--profile <name>Use a profile for this invocation
--instance <name>Target a named instance (default: default)
-v, --verboseIncrease logging verbosity
-q, --quietReduce logging output
-d, --debugEnable debug logging

zap up [services...]

Aliases: start, s, u

Start all processes or specific processes

OptionDescription
-o, --openOpen the configured homepage after starting
-j, --jsonOutput command result as minified JSON
--jsonlStream command events as JSON Lines

zap down [services...]

Aliases: stop, delete

Stop all processes or specific processes

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON
--jsonlStream command events as JSON Lines

zap kill [project]

Kill all native processes and Docker containers across all instances for a project

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap restart [services...]

Aliases: r

Restart all processes or specific processes

OptionDescription
-j, --jsonOutput command result as minified JSON
--jsonlStream command events as JSON Lines

zap watch [services...]

Aliases: w

Watch Docker service paths and restart or rebuild on changes

zap status [services...]

Aliases: ps

Show status (native processes + Docker), optionally for specific services

OptionDescription
-a, --allInclude processes from all projects
-j, --jsonOutput status as minified JSON

zap ls [services...]

List configured services with details and assigned ports

OptionDescription
-e, --extendedShow instance and dangling resource inventory
-a, --allAlias for --extended
-j, --jsonOutput list as minified JSON

zap logs <services...>

Aliases: l

Show logs for one or more services

OptionDescription
-f, --followFollow logs (default)
--no-followDo not follow logs (print and exit)

zap startup-log <services...>

Show saved startup output for one or more services

zap reset

Stop all processes and delete the .zap directory

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap init

Initialize local zap state (instance + ports + volumes)

OptionDescription
-i, --instance [name]Create/select an instance for initialization (default: default)
-R, --randomRandomize all configured ports instead of preserving existing assignments
-j, --jsonOutput command result as minified JSON

zap instance

Manage the selected local instance

zap instance label [label...]

Show or set the label for the selected instance

OptionDescription
-j, --jsonOutput command result as minified JSON

zap volume

Manage Zapper-generated Docker volumes (list, prune, reset)

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap volume list <service>

List Docker volumes for a service

OptionDescription
--managedOnly list Zapper-managed generated volumes
--id-onlyOnly print Docker volume names
-j, --jsonOutput command result as minified JSON

zap volume prune

Remove stale managed Docker volumes after confirmation

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap volume reset

Reset managed Docker volume state for the instance

OptionDescription
-j, --jsonOutput command result as minified JSON

zap clone [services...]

Clone all repos defined in native services (respects git_method)

OptionDescription
--httpUse HTTP for git cloning (overrides config git_method)
--sshUse SSH for git cloning (overrides config git_method)
-j, --jsonOutput command result as minified JSON

zap task [task]

Aliases: t, run

Run a one-off task by name, or list all tasks if no task specified

OptionDescription
-j, --jsonOutput task list as minified JSON
--list-paramsList parameters for the specified task
-f, --forceRun task even when status checks pass
--interactivePrompt for missing required task parameters

zap profile

Aliases: p

Select a profile interactively and apply its services.

Use ↑/↓ to move and Enter to switch. The active profile is marked and initially selected. The picker closes before service progress begins; success exits the command. Escape or Ctrl+C cancels without changes. Without a terminal, use get or set. Bare --json still reports the current profile.

OptionDescription
-j, --jsonOutput as minified JSON

zap profile list

List configured profiles

OptionDescription
-j, --jsonOutput as minified JSON

zap profile get

Alias: current

Print the current profile

OptionDescription
-j, --jsonOutput as minified JSON

zap profile set <name>

Alias: use

Stop excluded services, start required services, and save the profile

OptionDescription
-y, --forceCompatibility flag; excluded services always stop without prompting
-j, --jsonOutput as minified JSON

zap profile reset

Apply the default profile, stopping excluded services and starting required services

OptionDescription
-y, --forceCompatibility flag; excluded services always stop without prompting
-j, --jsonOutput as minified JSON

zap state

Show the current state JSON

OptionDescription
-j, --jsonOutput state as minified JSON

zap stack

Inspect the selected stack id and known profile stacks

OptionDescription
-j, --jsonOutput as minified JSON

zap stack id

Print the current stack id

OptionDescription
-j, --jsonOutput as minified JSON

zap stack current

Show the current stack

OptionDescription
-j, --jsonOutput as minified JSON

zap stack list

List known profile stacks

OptionDescription
-j, --jsonOutput as minified JSON

zap git

Git operations across all native repos

zap git status

Aliases: gst

List branch and dirty/clean for all native repos

OptionDescription
-j, --jsonOutput command result as minified JSON

zap git pull

Aliases: ggpur

Pull latest for all native repos

OptionDescription
-j, --jsonOutput command result as minified JSON

zap git checkout <branch>

Aliases: gco

Checkout a branch across all native repos

OptionDescription
-j, --jsonOutput command result as minified JSON

zap git stash

Aliases: gsta

Stash any dirty changes across all native repos

OptionDescription
-j, --jsonOutput command result as minified JSON

zap config

Show the processed config object as minified JSON

OptionDescription
--show-envsInclude environment variable configurations in output
--prettyFormat JSON output with indentation

zap validate

Validate zap.yaml without initializing local state

OptionDescription
-j, --jsonOutput validation result and full Zod issues as JSON

zap env [service]

Show resolved environment variables for a service

OptionDescription
--service <name>Show env vars for a service
-j, --jsonOutput as minified JSON

zap launch [name]

Open homepage by default, or open a configured link by name

OptionDescription
-j, --jsonOutput command result as minified JSON

zap open [name]

Aliases: o

Choose a configured project link interactively

OptionDescription
--homeOpen the configured homepage without prompting
--non-interactiveOpen the configured homepage or named link without prompting
-j, --jsonOutput command result as minified JSON

zap home

Print the configured homepage URL

OptionDescription
-j, --jsonOutput command result as minified JSON

List configured links, including the homepage

OptionDescription
-j, --jsonOutput command result as minified JSON

zap notes

Print configured project notes

OptionDescription
-j, --jsonOutput command result as minified JSON

zap global

Aliases: g

Global operations across projects (info, list, prune, kill)

zap global list [project]

Aliases: ls, l

List all global Zapper resources, or a single project

OptionDescription
-a, --allLegacy no-op; always lists all projects
-j, --jsonOutput command result as minified JSON

zap global info [project]

Show global resources for a project

OptionDescription
-j, --jsonOutput command result as minified JSON

zap global prune

Prune stale registry entries and orphaned resources

OptionDescription
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap global kill [project]

Kill all native process + Docker resources for a project

OptionDescription
-a, --allKill all projects
-y, --forceForce the operation
-j, --jsonOutput command result as minified JSON

zap system

Machine-wide Zapper project registry and orphaned resource audit

OptionDescription
--pruneDeprecated no-op; stale projects are always labeled
-j, --jsonOutput command result as minified JSON

zap system projects

List registered Zapper projects and validate their roots

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system registry

Manage the machine-wide project registry

zap system registry prune

Remove stale entries from the project registry

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system registry forget <target>

Forget a registry entry by id, project root, or config path

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system registry repair

Prune stale entries and re-validate all projects

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system resources

Audit and clean up orphaned system resources

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system resources audit

Audit orphaned native processes and Docker containers

OptionDescription
-j, --jsonOutput command result as minified JSON

zap system resources cleanup

Delete orphaned system resources after confirmation

OptionDescription
--include-volumesInclude generated Docker volumes
-y, --forceForce cleanup operations
-j, --jsonOutput command result as minified JSON

Shortcuts

Convenience top-level shortcuts that delegate to a subcommand.

ShortcutEquivalentDescription
zap gstzap git statusAlias for: git status
zap ggpurzap git pullAlias for: git pull
zap gstazap git stashAlias for: git stash
zap gco <branch>zap git checkoutAlias for: git checkout
zap ginfo [project]zap global infoShow info for a project (shorthand for 'global info')
zap glistzap global listList all projects (shorthand for 'global list')
zap gkill [project]zap global killKill project resources (shorthand for 'global kill')
zap gprunezap global prunePrune stale registry entries and orphaned resources

JSON Output

Most non-streaming commands support --json. Action commands also support JSON Lines streaming with --jsonl where implemented. When --json is enabled, Zapper suppresses incidental human logs and warnings so stdout stays parseable. Streaming commands (logs, startup-log, task) keep their stream output and are not JSON-encoded.

For the command result and rendering contract, see Command Output.

System Registry Storage

System commands inspect machine-wide Zapper state rather than only the current repository. They back desktop integrations, project discovery, and orphaned resource cleanup.

On macOS, the system registry defaults to ~/Library/Application Support/Zapper/registry.json. On Linux, it defaults to $XDG_STATE_HOME/zapper/registry.json, or ~/.local/state/zapper/registry.json when XDG_STATE_HOME is unset. Set ZAPPER_SYSTEM_STATE_HOME to override the directory, or ZAPPER_DISABLE_SYSTEM_REGISTRY=1 to disable registry writes.

On this page