Open source (MIT) by zhengkanghua. · MIT · Tauri + Vue

ZapCmd

Desktop command launcher for speed, safety baseline, and repeatable workflows.

Search → Param → Staging → Execute. Keep behavior explicit and testable.

Search → Param → Staging → Execute Guardrails i18n Session restore

Author: zhengkanghua / Report issues

ZapCmd logo

In-browser preview

Interactive demo (simulation)

Explore search, params, staging queue, and guardrails — nothing is executed.

Search

Token AND · Ranking · Highlight

Guardrails

Risk confirm · Injection guard

Staging queue

Batch run as a queue

User commands

JSON files · Override by id

# Example templates
git log --oneline --max-count {count}
docker stop {container}
docker system prune -f  # RISKY

How it works

A clear, repeatable flow designed for daily developer operations.

01

Search

Type keywords and filter by tags.

02

Param

Fill required arguments before execution.

03

Staging

Stage multiple commands as a queue.

04

Execute

Run in your system terminal with guardrails.

Feature highlights

High information density, without turning into a giant settings panel.

Safety baseline

Risky command confirmation + argument injection guard.

Staging queue

Stage multiple commands and run as a batch.

Runtime command loading

Builtin + user command files, explicit and traceable.

Command management

Enable/disable, filter by source file, override markers.

i18n (runtime switch)

zh-CN + en-US, with persistence.

Session restore

Staged queue restored after restart.

Interactive demo

Play with the full flow in your browser. Execution is simulated.

Command schema →
Interactive demo (simulation)

Search → Param → Staging → Execute

Type keywords to filter commands. Fill params, stage as a queue, then run.

Results · 0

Space = token AND

Selected command

Template

Params

Preview

This is a simulation. Nothing will be executed.

Staging queue

Stage multiple commands and run as a batch.

Output

Execution is simulated for presentation.

User commands (JSON files)

Drop JSON files into ~/.zapcmd/commands. If id conflicts, user command overrides builtin.

{
  "commands": [
    {
      "id": "custom-hello-win",
      "name": "Custom Hello",
      "tags": ["custom", "hello"],
      "category": "custom",
      "platform": "win",
      "template": "Write-Output \"hello from user commands\"",
      "shell": "powershell",
      "adminRequired": false
    }
  ]
}

Search & safety baseline

Designed for speed in daily operations, with explicit guardrails.

  • 1. Case-insensitive contains matching (title/description/preview).
  • 2. Space-separated query uses token-AND (all tokens must match).
  • 3. Risky command confirmation + argument injection guard.
  • 4. Stage multiple commands and run them as a queue in system terminal.
# Guardrail examples
rm -rf /           # confirm
docker system prune -f  # confirm
echo hi && whoami  # blocked (injection)

Install & run

Download from GitHub Releases, verify integrity, then start launching.

  • 1. Download the package for your OS.
  • 2. Verify with SHA256SUMS from the release.
  • 3. macOS packages are currently unsigned/not notarized (may require manual allow on first launch).

Run from source (dev)

Requires Node.js + Rust toolchain + Tauri prerequisites.

npm install
npm run tauri:dev
# quality gate
npm run check:all

Ship faster. Break less.

ZapCmd is free and open source. Star the repo, open an issue, or send a PR — small steps, real impact.